Десятикратно уменьшите сигнал с помощью каскадного интегрально-гребенчатого фильтра
DSP System Toolbox / Фильтрующий / Многоскоростные фильтры
Блок CIC Decimation выполняет уменьшение частоты дискретизации (децимация) на входном сигнале целочисленным коэффициентом. Фильтры Каскадной расчески интегратора (CIC) являются классом КИХ-фильтров линейной фазы, состоявших из части расчески и части интегратора.
Блок поддерживает действительные и комплексные входные параметры фиксированной точки. В его режиме normal mode операции блок CIC Decimation позволяет числовым значениям сумматора переполнять и переносить [1] [3]. Инфраструктура Фиксированной точки затем вызывает предупреждения переполнения появиться на командной строке. Это переполнение не имеет никакого значения.
Блок CIC Decimation требует лицензии Fixed-Point Designer™.
Port_1 — Входной сигналВвод данных в виде вектора или матрицы. Количество входных строк должно быть кратным фактору децимации.
Если вход является фиксированной точкой, это должно быть целое число со знаком или подписанная фиксированная точка с наклоном степени двойки и нулевым смещением.
Типы данных: int8 | int16 | int32 | int64 | fixed point
Поддержка комплексного числа: Да
Port_1 — CIC десятикратно уменьшил выходCIC десятикратно уменьшил выходной параметр, возвращенный как вектор или матрица. Тип данных выхода определяется настройками в диалоговом окне блока. Сложность выходных соответствий тот из входа. Количество выходных строк (1/R) ✕Num, где R является фактором децимации, и Num является количеством входных строк.
Типы данных: int8 | int16 | int32 | int64 | fixed point
Поддержка комплексного числа: Да
Coefficient source — Источник информации о фильтреDialog parameters (значение по умолчанию) | Filter objectИсточник информации о фильтре в виде одного из следующего:
Dialog parameters — Введите информацию о фильтре, таком как Decimation factor (R), Differential delay (M) и Number of sections (N), в диалоговом окне блока.
Filter object — Задайте фильтр с помощью dsp.CICDecimator Система object™.
Различные элементы появляются на диалоговом окне блока CIC Decimation в зависимости от того, выбираете ли вы Dialog parameters или Filter object в параметре Coefficient source.
Decimation 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 Фактор децимации
Все дробные длины установлены во входную длину части.
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.
Rate options — Правило обработки уровняEnforce single-rate processing (значение по умолчанию) | Allow multirate processingЗадайте правило обработки уровня для блока:
Enforce single-rate processing — Блок выполняет основанную на системе координат обработку и производит выход, который имеет ту же частоту дискретизации как вход. Чтобы десятикратно уменьшить сигнал при поддержании входной частоты дискретизации, блок уменьшает выходной формат кадра. В этом режиме входной размер столбца должен быть кратным Decimation Factor (R).
Allow multirate processing — Блок выполняет основанную на выборке обработку. В этом режиме блок производит выход с частотой дискретизации, которая является R времена медленнее, чем входная частота дискретизации.
Filter object — Объект многоскоростного фильтраdsp.CICDecimatorУкажите, что имя многоскоростного фильтра возражает, что вы хотите, чтобы блок реализовал. Необходимо задать фильтр как dsp.CICDecimator Системный объект.
Можно задать Системный объект в диалоговом окне блока или в переменной рабочей области MATLAB®.
Для получения информации о создании Системных объектов смотрите, Задают Объекты Базовой системы (MATLAB).
Этот параметр появляется, когда вы устанавливаете Coefficient source на Filter object.
View Filter Response — Просмотрите ответ фильтраgui buttonЭта кнопка открывает Инструмент Визуализации Фильтра (fvtool) от продукта Signal Processing Toolbox™ и отображений ответ фильтра фильтра задан в блоке. Для получения дополнительной информации о FVTool см. документацию Signal Processing Toolbox.
Если вы задаете фильтр в параметре Filter object, необходимо применить фильтр путем нажатия кнопки Apply перед использованием кнопки View Filter Response.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Передаточная функция децимирующего фильтра CIC
где
HI является передаточной функцией части интегратора фильтра.
HC является передаточной функцией части расчески фильтра.
N является количеством разделов. Количество разделов в CIC-фильтре задано как количество разделов или в части расчески или в части интегратора фильтра. Это значение не представляет общее количество разделов в целом фильтре.
R является фактором децимации.
M является дифференциальной задержкой.
Блок CIC Decimation имеет следующую структуру CIC-фильтра. Структура состоит из разделов N каскадных интеграторов, сопровождаемых изменением уровня фактором R, сопровождаемый разделами N каскадных гребенчатых фильтров [1].

Единичная задержка во фрагменте интегратора CIC-фильтра может быть расположена или в feedforward или в пути к обратной связи. Эти две настройки дают к идентичной частотной характеристике фильтра. Однако числовые выходные параметры от этих двух настроек отличаются из-за задержки. Этот блок помещает единичную задержку в путь feedforward интегратора, потому что настройка предпочтена для реализации HDL.
[1] Hogenauer, E.B. “Экономичный Класс Цифровых фильтров для Децимации и Интерполяции”. Транзакции IEEE на Акустике, Речи и Обработке сигналов. Издание 29, Номер 2, 1981, стр 155–162.
[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-1, где NS количество разделов (в выходной стороне). |
| AddPipelineRegisters | Вставьте конвейерный регистр между этапами расчета в фильтре. См. также AddPipelineRegisters (HDL Coder). |
| ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
| InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
| OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Вектор и входные параметры системы координат не поддержаны для генерации HDL-кода.
Когда вы выбираете Dialog parameters, опция Filter Structure Zero-latency decimator не поддержан для генерации HDL-кода. От Filter Structure выпадающий список выберите Decimator.
Если вход является фиксированной точкой, это должно быть целое число со знаком или подписанная фиксированная точка с наклоном степени двойки и нулевым смещением.
dsp.CICCompensationDecimator | dsp.CICCompensationInterpolator | dsp.CICDecimator | dsp.CICInterpolator | dsp.FIRDecimator | dsp.FIRHalfbandDecimator | dsp.FIRHalfbandInterpolator | dsp.FIRInterpolator1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
