Десятикратно уменьшите сигнал с помощью каскадного интегрально-гребенчатого фильтра
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.FIRInterpolator
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.