Децимируйте сигнал с помощью каскадного интегрально-гребенчатого фильтра
DSP System Toolbox/Фильтрация/Многомерные фильтры
Поддержка/фильтрация HDL-файлов DSP System Toolbox
Блок CIC Decimation выполняет уменьшение частоты дискретизации ( десятикратное уменьшение) входного сигнала на целочисленный коэффициент. Фильтры Cascaded Integrator-Comb (CIC) являются классом КИХ-фильтров линейной фазы, состоящим из части гребня и части интегратора.
Блок поддерживает действительные и сложные входы с фиксированной точкой. В своем режиме normal mode работы блок CIC Decimation позволяет числовым значениям сумматора переполняться и обернуться вокруг [1] . Затем [3]инфраструктура Fixed-Point приводит к появлению предупреждений о переполнении в командной строке. Это переполнение не имеет никакого последствия.
Для блока CIC Decimation требуется лицензия Fixed-Point Designer™.
Port_1
- Входной сигналВход данных, заданный как вектор или матрица. Количество входа строк должно быть кратным коэффициенту десятикратного уменьшения.
Если вход является фиксированной точкой, он должен быть подписанным целым числом или подписанной фиксированной точкой с степенью двойки и нулевым смещением.
Типы данных: int8
| int16
| int32
| int64
| fixed point
Поддержка комплексного числа: Да
Port_1
- CIC децимированный выходCIC децимирует выход, возвращается как вектор или матрица. Тип данных выхода определяется настройками в диалоговом окне блока. Сложность выхода совпадает с сложностью входа. Количество выходных строк (1/ R) ✕<reservedrangesplaceholder2>, где 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)
- Коэффициент десятикратного уменьшения2
(по умолчанию) | целое числоКоэффициент десятикратного уменьшения фильтра, заданный как целое число, больше 1.
Этот параметр появляется, когда вы задаете Coefficient source Dialog parameters
.
Differential Delay (M)
- Дифференциальная задержка1
(по умолчанию) | положительное целое числоЗадайте дифференциальную задержку гребенчатой части фильтра, M, как положительное целое число. Для получения дополнительной информации смотрите CIC Decimation Filter.
Этот параметр появляется, когда вы задаете Coefficient source Dialog parameters
.
Number of sections (N)
- Количество фильтрующих секций2
(по умолчанию) | положительное целое числоУкажите количество сечений фильтра. Заданное количество определяет количество разделов в гребенчатой части фильтра или интеграторной части фильтра. Это значение не представляет общее количество разделов в деталях гребня и интегратора вместе взятых.
Этот параметр появляется, когда вы задаете 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
- Задайте размеры слова разделов фильтра и выход в параметрах Section word lengths и Output word length. Блок автоматически выбирает длины дробей для секций фильтра и выводит так, чтобы область значений каждой секции сохранялась при отбрасывании наименее значимых битов.
Binary point scaling
- Указание длин слов и дробей секций фильтра и выход в параметрах Section word lengths, Section fraction lengths, Output word length и Output fraction length.
Этот параметр появляется, когда вы задаете Coefficient source Dialog parameters
.
Section word lengths
- Размер слова фильтрующих разделов16 16 16 16
] (по умолчанию) | скаляр | вектор-строкаРазмеры слова секций фильтра, заданная в виде скаляра или вектора длины, равной 2 N, где N количество секций фильтра. Раздел размера слова должен находиться в области значений [2, 128].
Этот параметр появляется, когда вы задаете Coefficient source Dialog parameters
и Data type specification mode к любому из Specify word lengths
или Binary point scaling
.
Section fraction lengths
- Длины дробей фильтрующих секций0
(по умолчанию) | целое числоДлины дробей фильтрующих секций, заданные как целое число.
Этот параметр появляется, когда вы задаете Coefficient source Dialog parameters
и Data type specification mode к Binary point scaling
.
Output word length
- Размер слова выходного сигнала фильтра32
(по умолчанию) | целое числоРазмер слова фильтра выхода, заданная в виде целого числа в область значений [2, 128].
Этот параметр появляется, когда вы задаете Coefficient source Dialog parameters
и Data type specification mode к любой опции кроме Full precision
.
Output fraction length
- Длина дроби выходного сигнала фильтра0
(по умолчанию) | целое числоДлина дроби выходного сигнала фильтра, заданная как целое число.
Этот параметр появляется, когда вы задаете 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® переменная рабочей области.
Для получения информации о создании системных объектов см. раздел «Определение основных системных объектов».
Этот параметр появляется, когда вы задаете Coefficient source Filter object
.
View Filter Response
- Просмотр фильтра откликаgui button
Эта кнопка открывает Инструмент визуализации фильтра (fvtool
) из Signal Processing Toolbox™ произведения и отображений фильтрующую характеристику фильтра, заданную в блоке. Для получения дополнительной информации о FVTool см. документацию по Signal Processing Toolbox.
Примечание
Если вы задаете фильтр в параметре Filter object, необходимо применить фильтр, нажав кнопку Apply перед использованием кнопки View Filter Response.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
CIC-фильтры являются оптимизированным классом КИХ-фильтров линейной фазы, состоящим из гребенчатой части и интеграторной части.
CIC децимирующий фильтр концептуально задается CIC-фильтром с одной скоростью, H(z) который является lowpass-антиизображающим фильтром, за которым следует понижающий усилитель. Децимирующий фильтр CIC уменьшает частоту дискретизации входного сигнала на целочисленный коэффициент с помощью каскадного фильтра интегратор-гребень (CIC).
В более эффективной реализации одна скорость CIC-фильтра H(z) факторизирована следующим образом:
где,
H I является передаточной функцией интеграторной части фильтра, содержащей N ступени интеграторов.
H C является передаточной функцией N участков каскадных гребенчатых фильтров, каждый с шириной RM.
N - количество разделов. Количество секций в CIC-фильтре определяется как количество секций в гребенчатой части или интеграторной части фильтра. Это значение не представляет общее количество разделов на протяжении всего фильтра.
R - коэффициент десятикратного уменьшения.
M - дифференциальная задержка.
В общей многоразовой реализации алгоритм применяет благородные тождества для десятикратного уменьшения и перемещает коэффициент изменения скорости, R, вслед за N разделами каскадных интеграторов. Передаточная функция полученного фильтра задается следующим уравнением:
Для блока схемы, которая показывает многократную реализацию, смотрите Алгоритмы.
Децимирующий фильтр CIC в More About реализуется как каскад N участков интеграторов, за которым следует коэффициент изменения скорости R, за которым следуют N секции гребенчатых фильтров.
Эта схема показывает две секции каскадных интеграторов и две секции каскадных гребенчатых фильтров. Единичная задержка в фрагменте CIC-фильтра может быть расположена либо в канале с feedforward, либо в пути с обратной связью. Эти два строений дают идентичную частотную характеристику фильтра. Однако числовые выходы этих двух строений отличаются из-за задержки. Этот блок помещает модуль задержку в feedforward пути интегратора, потому что это предпочтительное строение для реализации HDL.
[1] Hogenauer, E.B. «Economical Class of Цифровые Фильтры for Decimation and Interpolation». Транзакции IEEE по акустике, обработке речи и сигналов. Том 29, № 2, 1981, с. 155-162.
[2] Meyer-Baese, U. Digital Signal Processing with Field Programmable Gate Arrays. Нью-Йорк: Springer Verlag, 2001.
[3] Harris, Fredric J., Multirate Signal Processing for Communication Systems. Upper Saddle River, NJ: Prentice Hall PTR, 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.