exponenta event banner

Децимация РПИ

Фильтрация и понижение входного сигнала

Библиотека

Фильтрация/многоскоростные фильтры

dspmlti4

  • FIR Decimation block

Описание

Блок децимации FIR выполняет повторную выборку векторных или матричных входных данных вдоль первого размера. Дециматор КИХ (как показано на схеме) концептуально состоит из сглаживающего КИХ-фильтра, за которым следует понижающая дискретизация. Для проектирования фильтра сглаживания FIR используйте designMultirateFIR функция.

Фильтр FIR фильтрует данные в каждом канале входного сигнала, используя фильтр FIR прямой формы. Блок понижающей дискретизации, который следует за ним, производит понижающую выборку каждого канала отфильтрованных данных путем отбрасывания M-1 последовательных выборок после каждой сохраненной выборки. M - указанное значение коэффициента прореживания. Результирующий дискретно-временной сигнал имеет частоту дискретизации, которая в 1/M раз больше исходной частоты дискретизации.

FIR decimator contains an anti-aliasing FIR filter followed by a downsampler.

Заметим, что алгоритм фактического блока реализует многофазную структуру, эффективный эквивалент объединенной системы, изображенной на диаграмме. Дополнительные сведения см. в разделе Алгоритмы.

Можно использовать блок децимации FIR внутри запускаемых подсистем, если для параметра Rate options установлено значение Enforce single-rate processing.

Этот блок поддерживает вход переменного размера. Это означает, что во время моделирования блока размер кадра (количество строк) может изменяться. Размеры выходного сигнала всегда равны размерам входного сигнала.

При определенных условиях этот блок также поддерживает генерацию кода SIMD. Дополнительные сведения см. в разделе Создание кода.

Задание коэффициентов фильтра

Чтобы задать коэффициенты фильтра, выберите режим, в котором должен работать блок децимации FIR. Выберите режим в поле группы Источник коэффициента.

  • Диалоговые параметры (Dialog parameters) - введите информацию о фильтре, такую как структура и коэффициенты, в диалоговом окне блока.

  • Входной порт (Input port) - указывает коэффициенты фильтра в качестве входных данных блока. Значения коэффициентов настраиваются (могут изменяться во время моделирования), а их свойства должны оставаться постоянными.

  • Объект Filter - укажите фильтр с помощью dsp.FIRDecimator object™ системы.

  • Автоматически (Auto) (по умолчанию) - выберите коэффициенты фильтра FIR Nyquist, предварительно определенные для коэффициента прореживания, заданного в диалоговом окне блока.

При выборе параметра Диалоговые параметры (Dialog parameters) используется параметр коэффициентов КИХ-фильтра для задания числительных коэффициентов передаточной функции Н (z) КИХ-фильтра.

H (z) = b0 + b1z 1 +... + bNz − N

Можно создать вектор коэффициента КИХ-фильтра, b = [b0, b1,..., bN], используя одну из функций проектирования DSP System Toolbox™ filter, таких какdesignMultirateFIR, firnyquist, firhalfband, firgr, или firceqrip.

Чтобы действовать как эффективный сглаживающий фильтр, коэффициенты обычно соответствуют фильтру нижних частот с нормированной частотой отсечения не больше 1/M, где М - коэффициент прореживания. Чтобы сконструировать такой фильтр, используйте designMultirateFIR функция.

Блок внутренне инициализирует все состояния фильтра как нулевые.

При выборе параметра «Автоматически» блок проектирует дециматор с коэффициентом прореживания, указанным в поле «Коэффициент прореживания». designMultirateFIR функция создает фильтр и возвращает коэффициенты, используемые блоком.

Дополнительные сведения о конструкции фильтра см. в разделе Orfanidis [2].

Обработка на основе кадров

При установке для параметра обработки ввода значения Columns as channels (frame based)блок выполняет повторную выборку каждого столбца входного сигнала с течением времени. В этом режиме блок может выполнять либо односкоростную, либо многоскоростную обработку. Можно использовать параметр «Параметры скорости», чтобы указать, как блок выполняет повторную выборку входных данных:

  • Если для параметра Rate options установлено значение Enforce single-rate processingвход и выход блока имеют одинаковую частоту дискретизации. Для прореживания выходного сигнала при сохранении входной частоты дискретизации блок производит повторную выборку данных в каждом столбце входного сигнала таким образом, чтобы размер кадра выходного сигнала (Ko) в 1/M раз превышал размер входного сигнала (Ko = Ki/M).

    В этом режиме размер входного кадра, Ki, должен быть кратным коэффициенту прореживания, М.

    Пример односкоростной децимации КИХ см. в примере 1 - Односкоростная обработка.

  • Если для параметра Rate options установлено значение Allow multirate processingвход и выход блока децимации КИХ имеют одинаковый размер, но частота дискретизации на выходе в М раз медленнее, чем на входе. В этом режиме блок обрабатывает входной сигнал матрицы Ki-by-N как N независимых каналов. Блок прореживает каждый столбец входного сигнала с течением времени, сохраняя постоянный размер кадра (Ki = Ko) и делая выходной период кадра (Tfo) в M раз длиннее, чем входной период кадра (Tfo = M * Tfi).

    Пример 2 - Многоскоростная обработка на основе кадров. Пример использования блока децимации FIR в этом режиме.

Обработка на основе проб

При установке для параметра обработки ввода значения Elements as channels (sample based)блок обрабатывает входной сигнал матрицы P-на-Q как P * Q независимые каналы и прореживает каждый канал во времени. Выходной период выборки (Tso) в М раз больше, чем входной период выборки (Tso = M * Tsi), и входные и выходные размеры идентичны.

Время ожидания

При использовании блока децимации FIR в режиме обработки на основе выборки этот блок всегда имеет нулевую задержку. Задержка задания нуля означает, что блок распространяет первую отфильтрованную входную выборку (принятую в момент времени t = 0) как первую выходную выборку. Затем за первой выходной выборкой следуют отфильтрованные входные выборки M + 1, 2M + 1 и так далее.

При использовании блока децимации КИХ в режиме обработки на основе кадра с размером кадра, большим единицы, блок может проявлять задержку одного кадра. Случаи задержки одного кадра могут возникать, когда размер входного кадра больше единицы, и параметры Input processing и Rate options блока FIR Decimation задаются следующим образом:

  • Обработка входных данных = Columns as channels (frame based)

  • Параметры тарифа = Allow multirate processing

В случае задержки одного кадра можно определить значение первых выходных строк Ki, установив параметр начальных условий выходного буфера. Значением по умолчанию параметра начальных условий выходного буфера является 0. Однако можно ввести матрицу, содержащую одно значение для каждого канала входа, или скалярное значение, применяемое ко всем каналам. Первая отфильтрованная входная выборка (первая отфильтрованная строка входной матрицы) появляется на выходе как выборка Ki + 1. Затем за этим образцом следуют отфильтрованные входные образцы М + 1, 2М + 1 и так далее.

Примечание

Дополнительные сведения о задержках и режимах задания Simulink ® см. в разделах Избыточная алгоритмическая задержка (задержка задания) и Планирование и создание кода на основе времени (кодер Simulink).

Типы данных с фиксированной точкой

На следующей схеме показаны типы данных, используемые в блоке децимации FIR для сигналов с фиксированной точкой.

Можно задать коэффициенты, выходные данные продукта, накопители и типы выходных данных в диалоговом окне блока, как описано в разделе Диалоговое окно. Эта диаграмма показывает, что данные хранятся во входном буфере с тем же типом данных и масштабированием, что и входные данные. Блок сохраняет отфильтрованные данные и все начальные условия в выходном буфере, используя тип выходных данных и масштаб, заданные в диалоговом окне блока.

Когда, по меньшей мере, один из входных сигналов множителя является реальным, выходной сигнал множителя находится в виде выходных данных произведения. Когда оба входа множителя сложны, результат умножения находится в накопительном типе данных. Дополнительные сведения о комплексном умножении, выполняемом этим блоком, см. в разделе Типы данных умножения.

Примечание

Когда блок вводится с фиксированной точкой, все внутренние типы данных подписываются значениями с фиксированной точкой.

Примеры

Пример 1 - Односкоростная обработка

В модели ex_firdecimation_ref2 блок децимации КИХ прореживает одноканальный вход с размером кадра 64. Поскольку блок выполняет односкоростную обработку, а параметр коэффициента прореживания имеет значение 4, выходной сигнал блока децимации КИХ имеет размер кадра 16. Как показано на следующем рисунке, вход и выход блока децимации КИХ имеют одинаковую частоту дискретизации.

Пример 2 - Многоскоростная обработка на основе кадров

В модели ex_firdecimation_ref1 блок децимации КИХ прореживает одноканальный вход с периодом кадра в одну секунду. Поскольку блок выполняет многоскоростную обработку на основе кадров, а параметр коэффициента прореживания имеет значение 4, период кадра выходного сигнала равен 4 секунд. Как показано на следующем рисунке, вход и выход блока децимации КИХ имеют одинаковый размер кадра, но частота дискретизации выхода в четыре раза больше, чем у входа.

Пример 3

ex_polyphasedec модель иллюстрирует лежащие в основе полифазные реализации блока децимации FIR. Запустите модель и просмотрите результаты в области. Выходной сигнал блока децимации КИХ совпадает с выходным сигналом блока полифазного децимационного фильтра.

Пример 4

ex_mrf_nlp модель иллюстрирует использование блока децимации FIR в нескольких многоступенчатых многоскоростных фильтрах.

Диалоговое окно

Источник коэффициентов

Блок децимации FIR может работать в четырех различных режимах. Выберите режим в поле группы Источник коэффициента.

  • Параметры диалогового окна - введите информацию о фильтре, такую как структура и коэффициенты, в маске блока.

  • Входной порт (Input port) - указывает коэффициенты фильтра с помощью входного порта Num. Значение Num input port появляется при выборе опции Input port. Значения коэффициентов, полученные через Num, настраиваются (могут изменяться при моделировании), а их свойства должны оставаться постоянными.

  • Объект Filter - укажите фильтр с помощью dsp.FIRDecimator Системный объект.

  • Автоматически (Auto) (по умолчанию) - выберите коэффициенты фильтра Nyquist, заданного для коэффициента прореживания, заданного в диалоговом окне блока.

В диалоговом окне Блок децимации FIR (FIR Decimation block) отображаются различные элементы в зависимости от выбора параметров диалога, порта ввода, объекта фильтра или параметра «Авто» в поле группы «Источник коэффициента».

 Определение характеристик фильтра в диалоговом окне

 Предоставление коэффициентов фильтра через входной порт

 Укажите объект многоскоростного фильтра

 Выбрать коэффициенты фильтра автоматически

Ссылки

[1] Флиге, Н. Дж. Многоскоростная цифровая обработка сигналов: многоскоростные системы, банки фильтров, вейвлеты. Западный Сассекс, Англия: John Wiley & Sons, 1994.

[2] Орфанидис, Софокл Дж. Введение в обработку сигналов. Река Верхнее Седло, Нью-Джерси: Прентис-Холл, 1996.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16- и 32-разрядные целые числа со знаком

  • 8-, 16- и 32-разрядные целые числа без знака

Продукция

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16- и 32-разрядные целые числа со знаком

  • 8-, 16- и 32-разрядные целые числа без знака

Подробнее

развернуть все

Алгоритмы

Децимационный фильтр КИХ эффективно реализуется с использованием полифазной структуры. Дополнительные сведения о многофазных фильтрах см. в разделе Многофазные субфильтры.

Для получения полифазной структуры начните с передаточной функции фильтра FIR:

H (z) = b0 + b1z 1 +... + bNz − N

N + 1 - длина фильтра FIR.

Это уравнение можно изменить следующим образом:

H (z) = (b0+bMz−M+b2Mz−2M +. +bN−M+1z− (N−M+1)) +z−1 (b1+bM+1z−M+b2M+1z−2M +. +bN−M+2z− (N−M+1)) + ⋮z− (M−1) (bM−1+b2M−1z−M+b3M−1z−2M +. +bNz− (N−M+1))

M - количество многофазных компонентов, и его значение равно указанному коэффициенту прореживания.

Это уравнение можно записать следующим образом:

H (z) = E0 (zM) + z 1E1 (zM) +... + z (M − 1) EM − 1 (zM)

E0 (zM), E1 (zM),..., EM-1 (zM) - полифазные компоненты КИХ-фильтра Н (z).

Концептуально децимационный фильтр КИХ содержит фильтр КИХ нижних частот, за которым следует понижающий фильтр.

Замените H (z) многофазным представлением.

Вот многоскоростная благородная идентичность для прореживания.

Применение благородного идентификатора для прореживания перемещает операцию понижающей дискретизации на перед операцией фильтрации. Это перемещение позволяет фильтровать сигнал с меньшей скоростью.

Можно заменить задержки и коэффициент прореживания на входе коммутатором. Переключатель запускается на первой ветви 0 и перемещается в направлении против часовой стрелки, как показано на этой диаграмме. Накопитель на выходе принимает обработанные входные выборки от каждой ветви полифазной структуры и накапливает эти обработанные выборки до тех пор, пока переключатель не перейдет к ветви 0. Когда коммутатор переходит в ветвь 0, накопитель выдает накопленное значение.

Когда доставляется первая входная выборка, коммутатор подает этот вход в ветвь 0, и прореживатель вычисляет первое выходное значение. По мере поступления большего количества входных выборок переключатель перемещается в направлении против часовой стрелки через ветви M − 1, M − 2 и вплоть до ветви 0, доставляя по одной выборке за раз в каждую ветвь. Когда коммутатор переходит в ветвь 0, прореживатель выводит следующий набор выходных значений. Этот процесс продолжается по мере поступления данных. Каждый раз, когда коммутатор приходит в ветвь 0, прореживатель выдает y [m]. Прореживатель эффективно выводит одну выборку на каждую M выборок, которые он получает. Следовательно, частота дискретизации на выходе фильтра децимации КИХ равна fs/M.

Расширенные возможности

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

Представлен до R2006a