Интерполируйте сигнал с помощью каскадного интегрально-гребенчатого фильтра
DSP System Toolbox / Фильтрующий / Многоскоростные фильтры
Поддержка HDL DSP System Toolbox / фильтрация
Блок CIC Interpolation выполняет увеличение частоты дискретизации (интерполяция) на входном сигнале целочисленным коэффициентом. фильтры каскадной расчески интегратора (CIC) являются классом КИХ-фильтров линейной фазы, которые состоят из части расчески и части интегратора.
Блок CIC Interpolation требует лицензии Fixed-Point Designer™.
Port_1
— Входной сигналВвод данных в виде вектора или матрицы. Если вход является фиксированной точкой, это должно быть целое число со знаком или подписанная фиксированная точка с наклоном степени двойки и нулевым смещением.
Типы данных: int8
| int16
| int32
| int64
| fixed point
Поддержка комплексного числа: Да
Port_1
— CIC интерполировал выходCIC интерполировал выходной параметр, возвращенный как вектор или матрица. Тип данных выхода определяется настройками в диалоговом окне блока. Сложность выходных соответствий тот из входа. Количеством выходных строк является R ✕Num, где R является коэффициентом интерполяции, и Num является количеством входных строк.
Типы данных: int8
| int16
| int32
| int64
| fixed point
Поддержка комплексного числа: Да
Coefficient source
— Источник информации о фильтреDialog parameters
(значение по умолчанию) | Filter object
Источник информации о фильтре в виде одного из следующего:
Dialog parameters
— Введите информацию о фильтре, таком как Interpolation factor (R), Differential delay (M) и Number of sections (N), в диалоговом окне блока.
Filter object
— Задайте фильтр с помощью dsp.CICInterpolator
Система object™.
Interpolation factor (R)
— Коэффициент интерполяции
(значение по умолчанию) | целое числоКоэффициент интерполяции фильтра в виде целого числа, больше, чем 1.
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
.
Differential Delay (M)
— Дифференциальная задержка
(значение по умолчанию) | положительное целое числоЗадайте дифференциальную задержку части расчески фильтра, M, как положительное целое число. Для получения дополнительной информации смотрите Структуру CIC-фильтра.
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
.
Number of sections (N)
— Количество разделов фильтра
(значение по умолчанию) | положительное целое числоЗадайте количество разделов фильтра. Номер, который вы задаете, определяет количество разделов или в части расчески фильтра или в части интегратора фильтра. Это значение не представляет общее количество разделов в расческе и объединенных частях интегратора.
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
.
Data type specification mode
— Задайте размер слова и дробную длину разделов фильтра и выведитеFull precision
(значение по умолчанию) | Minimum section word lengths
| Specify word lengths
| Binary point scaling
Выберите, как вы задаете размер слова фиксированной точки и дробную длину разделов фильтра и/или выводите:
Full precision
— Слово и дробные длины разделов фильтра и выходных параметров автоматически выбраны для вас. Выход и в последний раз разделяет размеры слова (WL), установлены в:
где,
I Введите размер слова
M Дифференциальная задержка
N Количество разделов
R Коэффициент интерполяции
Другие размеры слова раздела собираются вместить рост разрядности, как описано в статье Ходженоера [1]. Все дробные длины установлены во входную длину части.
Minimum section word lengths
— Задайте размер слова фильтра выход в параметре Output word length. Размеры слова разделов фильтра установлены таким же образом как в Full precision
режим.
Длины части раздела установлены во входную длину части. Выходная длина части установлена во входную длину части минус различие между последним размером слова раздела и выходным размером слова.
Specify word lengths
— Задайте размеры слова разделов фильтра и выхода в параметрах Output word length и Section word lengths. Дробные длины разделов фильтра установлены таким образом, что распространение между размером слова и дробной длиной эквивалентно в режиме максимальной точности. Выходная длина части установлена во входную длину части минус различие между последним размером слова раздела и выходным размером слова.
Binary point scaling
— Задайте слово и дробные длины разделов фильтра и выхода в Section word lengths, Section fraction lengths, Output word length и параметрах Output fraction length.
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
.
Section word lengths
— Размер слова разделов фильтра
] (значение по умолчанию) | скаляр | вектор-строкаРазмеры слова фильтра разделяют в виде скаляра или вектора из длины, равной 2N, где N является количеством разделов фильтра. Размер слова раздела должен быть в области значений [2, 128].
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
и Data type specification mode к любому Specify word lengths
или Binary point scaling
.
Section fraction lengths
— Дробная длина разделов фильтра
(значение по умолчанию) | целое числоДробные длины фильтра разделяют в виде целого числа.
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
и Data type specification mode к Binary point scaling
.
Output word length
— Размер слова фильтра выводится
(значение по умолчанию) | целое числоРазмер слова фильтра выход в виде целого числа в области значений [2, 128].
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
и Data type specification mode к любой опции кроме Full precision
.
Output fraction length
— Дробная длина фильтра выводится
(значение по умолчанию) | целое числоДробная длина фильтра выводится в виде целого числа.
Этот параметр появляется, когда вы устанавливаете Coefficient source на Dialog parameters
и Data type specification mode к Binary point scaling
.
Input processing
— Метод обработки входаColumns as channels (frame based)
(значение по умолчанию) | Elements as channels (sample based)
Задайте, как блок должен обработать вход. Можно установить этот параметр на одну из следующих опций:
Columns as channels (frame based)
— Блок обрабатывает каждый столбец входа как отдельный канал. В этом режиме блок всегда выполняет односкоростную обработку.
Elements as channels (sample based)
— Блок обрабатывает каждый элемент входа как отдельный канал. В этом режиме вход с блоком должен быть скаляром или вектором. Можно использовать параметр Rate options, чтобы задать, выполняет ли блок односкоростную или многоскоростную обработку.
Rate options
— Правило обработки уровняEnforce single-rate processing
(значение по умолчанию) | Allow multirate processing
Задайте правило обработки уровня для блока. Можно выбрать одну из следующих опций:
Enforce single-rate processing
— Блок обеспечивает частоту дискретизации входа.
Allow multirate processing
— Блок производит выход с частотой дискретизации, которая является временами R быстрее, чем входная частота дискретизации. Чтобы выбрать эту опцию, необходимо установить параметр Input processing на Elements as channels (sample based)
.
Filter object
— Объект многоскоростного фильтраdsp.CICInterpolator
Системный объект
Укажите, что имя многоскоростного фильтра возражает, что вы хотите, чтобы блок реализовал. Необходимо задать фильтр как dsp.CICInterpolator
Системный объект.
Можно задать Системный объект в диалоговом окне блока или в переменной рабочей области MATLAB®.
Для получения информации о создании Системных объектов смотрите, Задают Объекты Базовой системы.
Этот параметр появляется, когда вы устанавливаете Coefficient source на Filter object
.
View Filter Response
— Просмотрите ответ фильтраЭта кнопка открывает Инструмент Визуализации Фильтра (fvtool
) от продукта Signal Processing Toolbox™ и отображений ответ фильтра фильтра задан в блоке. Для получения дополнительной информации о FVTool см. документацию Signal Processing Toolbox.
Примечание
Если вы задаете фильтр в параметре Filter object, необходимо применить фильтр путем нажатия кнопки Apply перед использованием кнопки View Filter Response.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Передаточная функция фильтра интерполятора CIC
где
HI является передаточной функцией части интегратора фильтра.
HC является передаточной функцией части расчески фильтра.
N является количеством разделов. Количество разделов в CIC-фильтре задано как количество разделов или в части расчески или в части интегратора фильтра. Это значение не представляет общее количество разделов в целом фильтре.
R является коэффициентом интерполяции.
M является дифференциальной задержкой.
Блок CIC Interpolation имеет следующую структуру CIC-фильтра. Структура состоит из разделов N каскадных гребенчатых фильтров, сопровождаемых изменением уровня фактором R, сопровождаемый разделами N каскадных интеграторов [1].
Единичная задержка во фрагменте интегратора CIC-фильтра может быть расположена или в feedforward или в пути к обратной связи. Эти две настройки дают к идентичной частотной характеристике фильтра. Однако числовые выходные параметры от этих двух настроек отличаются из-за задержки. Этот блок помещает единичную задержку в путь прямого распространения интегратора, потому что та настройка предпочтена для реализации HDL.
[1] Hogenauer, E.B. “Экономичный Класс Цифровых фильтров для Децимации и Интерполяции” Транзакции IEEE на Акустике, Речи и Обработке сигналов. Издание 29, Номер 2, 1981, стр 155–162, 1981.
[2] Мейер-Бэезе, U. Цифровая обработка сигналов с программируемыми пользователем вентильными матрицами. Нью-Йорк: Springer Verlag, 2001.
[3] Харрис, Фредерик Дж., многоскоростная обработка сигналов для систем связи. Верхний Сэддл-Ривер, NJ: PTR Prentice Hall, 2004.
Сгенерированный код использует memcpy
или memset
функции (string.h
) при определенных обстоятельствах.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
HDL Coder поддерживает опции Coefficient source Dialog parameters и Filter object.
Когда вы используете AddPipelineRegisters, регистры помещаются на основе структуры фильтра. Конвейерное размещение регистра определяет задержку.
Конвейерно обработайте размещение регистра | Задержка (такты) |
---|---|
Конвейерный регистр добавляется между этапами расчески дифференциаторов. | NS , количество разделов (во входной стороне). |
AddPipelineRegisters | Вставьте конвейерный регистр между этапами расчета в фильтре. См. также AddPipelineRegisters (HDL Coder). |
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Вектор и входные параметры системы координат не поддерживаются для генерации HDL-кода.
Когда вы выбираете Dialog parameters, опция Filter Structure Zero-latency interpolator
не поддерживается для генерации HDL-кода. От Filter Structure выпадающий список выберите Interpolator
.
Когда вы используете AddPipelineRegisters, задержки параллельных путей автоматически не сбалансированы. Вручную добавьте задержки при необходимости вашим проектом.
Если вход является фиксированной точкой, это должно быть целое число со знаком или подписанная фиксированная точка с наклоном степени двойки и нулевым смещением.
dsp.CICCompensationDecimator
| dsp.CICCompensationInterpolator
| dsp.CICDecimator
| dsp.CICInterpolator
| dsp.FIRDecimator
| dsp.FIRHalfbandDecimator
| dsp.FIRHalfbandInterpolator
| dsp.FIRInterpolator
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.