Прорежьте сигнал каскадным интеграторно-гребенчатым фильтром
Панель системных инструментов DSP/Фильтрация/Многоскоростные фильтры
Системная панель инструментов DSP Поддержка HDL/Фильтрация
Блок прореживания CIC выполняет уменьшение частоты дискретизации (прореживание) входного сигнала на целочисленный коэффициент. Каскадные интеграторно-гребенчатые фильтры (CIC) представляют собой класс линейных фазовых КИХ фильтров, состоящих из гребенчатой части и интеграторной части.
Блок поддерживает вещественные и сложные вводы с фиксированной точкой. В нормальном режиме работы блок децимации CIC позволяет числовым значениям сумматора переполняться и переноситься вокруг [1] . Инфраструктура [3]Fixed-Point затем вызывает появление в командной строке предупреждений о переполнении. Это переполнение не имеет последствий.
Для блока децимации CIC требуется лицензия 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 - Введите информацию о фильтре, например, коэффициент прореживания (R), дифференциальную задержку (M) и число секций (N), в диалоговом окне блока.
Filter object - Укажите фильтр с помощью dsp.CICDecimator object™ системы.
Различные элементы появляются в диалоговом окне блока децимации ЦВК в зависимости от выбора Dialog parameters или Filter object в параметре Источник коэффициента.
Decimation factor (R) - Коэффициент прореживания2 (по умолчанию) | целое числоКоэффициент прореживания фильтра, заданный как целое число больше 1.
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters.
Differential Delay (M) - Дифференциальная задержка1 (по умолчанию) | положительное целое числоУкажите дифференциальную задержку гребенчатой части фильтра, M, как положительное целое число. Дополнительные сведения см. в разделе Фильтр децимации CIC.
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters.
Number of sections (N) - Количество секций фильтра2 (по умолчанию) | положительное целое числоУкажите количество секций фильтра. Указанное число определяет количество сечений в гребенчатой части фильтра или в интеграторной части фильтра. Это значение не представляет общее количество секций в комбинированных частях гребенки и интегратора.
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters.
Data type specification mode - Укажите длину слова и длину дроби секций фильтра и выходных данныхFull precision (по умолчанию) | Minimum section word lengths | Specify word lengths | Binary point scalingВыберите способ указания длины слова с фиксированной точкой и длины дроби секций фильтра и/или вывода:
Full precision - Длины слов и дробей секций и выходов фильтра выбираются автоматически. Для всех длин слов (WL) установлено значение:
× R)) + I
где,
I -- Длина входного слова
M -- Дифференциальная задержка
N -- Количество секций
R -- Коэффициент прореживания
Для всех длин дробей задана входная длина дроби.
Minimum section word lengths - укажите длину слова на выходе фильтра в параметре Длина выходного слова. Блок автоматически выбирает длины слов секций фильтра и все длины дробей так, чтобы каждая из длин слов сечения была как можно меньше. Точность каждой секции фильтра меньше, чем в Full precision режим, но диапазон каждого раздела сохраняется.
Specify word lengths - Укажите длины слов в секциях фильтра и выходные значения в параметрах Длина слова сечения и Длина выходного слова. Блок автоматически выбирает длины дробей для секций фильтра и выводит их таким образом, что диапазон каждой секции сохраняется при отбрасывании младших битов.
Binary point scaling - Укажите длины слов и дробей секций фильтра и выходные данные в параметрах Длины слов сечений, Длины дробей сечений, Длина слова вывода и Длина дробей вывода.
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters.
Section word lengths - Длина слов секций фильтра16 16 16 16] (по умолчанию) | скаляр | вектор строкиДлины слов секций фильтра, заданные как скаляр или вектор длиной, равной 2N, где N - количество секций фильтра. Длина слова сечения должна находиться в диапазоне [2, 128].
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters и режим спецификации типа данных для Specify word lengths или Binary point scaling.
Section fraction lengths - Долевые длины секций фильтра0 (по умолчанию) | целое числоДлины дробей сечений фильтра, заданные как целое число.
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters и режим спецификации типа данных для Binary point scaling.
Output word length - Длина слова выхода фильтра32 (по умолчанию) | целое числоДлина слова на выходе фильтра, заданная как целое число в диапазоне [2, 128].
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters и режим спецификации типа данных для любой опции, кроме Full precision.
Output fraction length - Длина фракции на выходе фильтра0 (по умолчанию) | целое числоДлина дроби выходного сигнала фильтра, заданная как целое число.
Этот параметр появляется, если для параметра Источник коэффициента задано значение Dialog parameters и режим спецификации типа данных для Binary point scaling.
Rate options - Правило обработки ставокEnforce single-rate processing (по умолчанию) | Allow multirate processingУкажите правило обработки скорости для блока:
Enforce single-rate processing - Блок выполняет обработку на основе кадра и выдает выходной сигнал с той же частотой дискретизации, что и входной сигнал. Для прореживания сигнала при сохранении входной частоты дискретизации блок уменьшает размер выходного кадра. В этом режиме размер входного столбца должен быть кратен коэффициенту прореживания (R).
Allow multirate processing - Блок выполняет обработку на основе выборки. В этом режиме блок выдает выходной сигнал с частотой выборки, которая равна R в несколько раз медленнее входной частоты дискретизации.
Filter object - Объект многоскоростного фильтраdsp.CICDecimatorУкажите имя объекта многоскоростного фильтра, который должен быть реализован блоком. Необходимо указать фильтр как dsp.CICDecimator Системный объект.
Системный объект можно определить в диалоговом окне блока или в переменной рабочего пространства MATLAB ®.
Сведения о создании системных объектов см. в разделе Определение основных системных объектов.
Этот параметр появляется, если для параметра Источник коэффициента задано значение Filter object.
View Filter Response - Просмотр ответа фильтраgui buttonЭта кнопка открывает инструмент визуализации фильтра (fvtool) из продукта Toolbox™ обработки сигналов и отображает отклик фильтра, определенного в блоке. Дополнительные сведения о FVTool см. в документации панели инструментов обработки сигналов.
Примечание
Если фильтр указан в параметре Объект фильтра, необходимо применить фильтр, нажав кнопку Применить, прежде чем использовать кнопку Просмотр ответа фильтра.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
CIC-фильтры представляют собой оптимизированный класс линейных фазовых КИХ-фильтров, состоящих из гребенчатой части и интеграторной части.
Децимационный фильтр CIC концептуально задаётся односкоростным CIC фильтром H (z), который является низкочастотным антиизображающим фильтром, за которым следует понижающая дискретизация. Децимационный фильтр CIC уменьшает частоту дискретизации входного сигнала на целочисленный коэффициент, используя каскадный интеграторно-гребенчатый фильтр (CIC).

В более эффективной реализации односкоростной фильтр CIC H (z) факторизируется следующим образом:
1 − z − RM) N1 = HIN (z)· HcN (z)
где,
HI - передаточная функция интеграторной части фильтра, содержащей N ступеней интеграторов.
HC - передаточная функция N секций каскадных гребенчатых фильтров, каждая шириной RM.
N - количество секций. Количество секций в фильтре CIC определяется как количество секций в гребенчатой или интеграторной части фильтра. Это значение не представляет общее количество сечений во всем фильтре.
R - коэффициент прореживания.
M - дифференциальная задержка.
В общей многоскоростной реализации алгоритм применяет благородную идентичность для прореживания и перемещает коэффициент изменения скорости R для следования за N секциями каскадных интеграторов. Передаточная функция результирующего фильтра задается следующим уравнением:
(1 − z − 1) N.
Блок-схему, показывающую реализацию нескольких скоростей, см. в разделе Алгоритмы.
Децимационный фильтр CIC в More About реализуется как каскад из N секций интеграторов с последующим коэффициентом изменения скорости R, за которым следуют N секций гребенчатых фильтров.

На этой диаграмме показаны две секции каскадных интеграторов и две секции каскадных гребенчатых фильтров. Единичная задержка в интеграторной части фильтра CIC может быть расположена либо в канале прямой связи, либо в канале обратной связи. Эти две конфигурации дают одинаковую частотную характеристику фильтра. Однако числовые выходные сигналы от этих двух конфигураций отличаются из-за задержки. Этот блок помещает единичную задержку в путь передачи интегратора, поскольку она является предпочтительной конфигурацией для реализации HDL.
[1] Хогенауэр, Е. Б. «Экономичный класс цифровых фильтров для децимации и интерполяции». Транзакции IEEE по акустике, обработке речи и сигналов. Том 29, номер 2, 1981, стр. 155-162.
[2] Цифровая обработка сигналов Meyer-Baese, U. с помощью программируемых на местах логических матриц. Нью-Йорк: Спрингер Верлаг, 2001.
[3] Харрис, Фредрик Дж., многоскоростная обработка сигналов для систем связи. Река Верхнее Седло, Нью-Джерси: Prentice Hall PTR, 2004.
Созданный код зависит от memcpy или memset функции (string.h) при определенных условиях.
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
Кодер HDL поддерживает параметры источника коэффициентов Dialog parameters и Filter object.
При использовании AddPipelineRegists регистры размещаются на основе структуры фильтра. Задержка определяется размещением регистра трубопровода.
| Размещение регистра трубопровода | Задержка (такты) |
|---|---|
| Между гребенчатыми ступенями дифференциаторов добавляется регистр трубопровода. | NS-1, где NS - количество секций (на стороне вывода). |
| AddPipelineRegisters | Вставка регистра трубопровода между этапами вычислений в фильтр. См. также AddPipelineRegists (кодер HDL). |
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
Векторные и кадровые входы не поддерживаются для генерации кода HDL.
При выборе параметров диалогового окна опция «Фильтровать структуру» Zero-latency decimator не поддерживается для генерации кода HDL. В раскрывающемся списке «Структура фильтра» выберите Decimator.
Если входной сигнал является фиксированной точкой, он должен быть целым числом со знаком или фиксированной точкой со знаком с наклоном мощности два и нулевым смещением.
dsp.CICCompensationDecimator | dsp.CICCompensationInterpolator | dsp.CICDecimator | dsp.CICInterpolator | dsp.FIRDecimator | dsp.FIRHalfbandDecimator | dsp.FIRHalfbandInterpolator | dsp.FIRInterpolator1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
