КИХ-десятикратное уменьшение

Отфильтруйте и субдискретизируйте входные сигналы

Библиотека

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

dspmlti4

Описание

Блок FIR Decimation передискретизирует вход дискретного времени на уровне времена K медленнее, чем входная частота дискретизации, где K является целочисленным значением, вы задаете для параметра Decimation factor. Для этого блок реализует многофазную структуру фильтра и выполняет следующие операции:

  1. Фильтрует данные в каждом канале входа с помощью КИХ-фильтра прямой формы.

  2. Субдискретизирует каждый канал отфильтрованных данных путем отбрасывания K –1 последовательная выборка после каждой выборки, которая сохраняется.

Блок использует многофазную реализацию фильтра, потому что это более эффективно, чем прямые алгоритмы "фильтр затем десятикратно уменьшают". Смотрите Fliege [1] для получения дополнительной информации.

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

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

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

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

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

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

  • Filter object — Задайте фильтр с помощью Системы dsp.FIRDecimator object™.

  • Auto (значение по умолчанию) — Выбирает коэффициенты фильтра КИХ фильтр Найквиста, предварительно разработанный для фактора десятикратного уменьшения, заданного в диалоговом окне блока.

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

H(z)=B(z)=b1+b2z1++bmz(m1)

Можно сгенерировать КИХ-вектор коэффициентов фильтра, [b(1) b(2) ... b(m)], с помощью одной из функций проекта фильтра DSP System Toolbox™, таких как designMultirateFIR, firnyquist, firhalfband, firgr или firceqrip.

Фильтр, который вы задаете, должен быть фильтром lowpass с нормированной частотой среза, не больше, чем 1/K. Блок внутренне инициализирует все состояния фильтра, чтобы обнулить.

Когда вы выбираете Auto, блочные конструкции КИХ decimator с фактором десятикратного уменьшения, заданным в Decimation factor. Функция designMultirateFIR разрабатывает фильтр и возвращает коэффициенты, используемые блоком. Для получения дополнительной информации о проекте фильтра смотрите Orfanidis [2].

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

Когда вы устанавливаете параметр Input processing на Columns as channels (frame based), блок передискретизирует каждый столбец входа в зависимости от времени. В этом режиме блок может выполнить или односкоростную или многоскоростную обработку. Можно использовать параметр Rate options, чтобы задать, как блок передискретизирует вход:

  • Когда вы устанавливаете параметр Rate options на Enforce single-rate processing, ввод и вывод блока имеют ту же частоту дискретизации. Чтобы десятикратно уменьшить вывод при поддержании входной частоты дискретизации, блок передискретизирует данные в каждом столбце входа, таким образом, что формат кадра вывода (Mo) является 1/K временами тот из входа (Mo = Mi/K),

    В этом режиме входной формат кадра, Mi, должен быть кратным Decimation factor, K.

    Для примера односкоростного КИХ-Десятикратного уменьшения смотрите Пример 1 — Односкоростная Обработка.

  • Когда вы устанавливаете параметр Rate options на Allow multirate processing, ввод и вывод блока FIR Decimation одного размера, но частота дискретизации вывода является временами K медленнее, чем тот из входа. В этом режиме блок обрабатывает Mi-by-N матричный вход как N независимые каналы. Блок десятикратно уменьшает каждый столбец входа в зависимости от времени путем хранения формата кадра постоянным (Mi =Mo) и создания выходного периода кадра (Tfo) времена K дольше, чем входной период кадра (Tfo = K *Tfi).

    Смотрите Пример 2 — Многоскоростная Основанная на кадре Обработка для примера, который использует блок FIR Decimation в этом режиме.

Основанная на выборке обработка

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

Задержка

Когда вы используете блок FIR Decimation в основанном на выборке режиме обработки, блок всегда имеет определяющую задачу для нуля задержку. Zero-tasking latency означает, что блок распространяет первую отфильтрованную входную выборку (полученный во время t = 0) как первая выходная выборка. Та первая выходная выборка затем сопровождается отфильтрованными входными выборками K +1, 2K+1, и так далее.

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

  • Input processing = Columns as channels (frame based)

  • Rate options = Allow multirate processing

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

Примечание

Для получения дополнительной информации о задержке и режимах управления задачами Simulink®, смотрите Избыточную Алгоритмическую Задержку (Определяющий задачу для Задержки) и Основанное на времени Планирование и Генерация кода (Simulink Coder).

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

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

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

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

Примечание

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

Примеры

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

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

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

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

Пример 3

Модель ex_polyphasedec иллюстрирует базовые многофазные реализации блока FIR Decimation. Запустите модель и просмотрите результаты на осциллографе. Вывод блока FIR Decimation совпадает с выводом блока Polyphase Decimation Filter.

Пример 4

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

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

Содействующий источник

Блок FIR Decimation может действовать в четырех различных режимах. Выберите режим в групповом блоке Coefficient source.

  • Dialog parameters — Введите информацию о фильтре, таком как структура и коэффициенты, в маске блока.

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

  • Filter object — Задайте фильтр с помощью Системного объекта dsp.FIRDecimator.

  • Auto (значение по умолчанию) — Выбирает коэффициенты КИХ фильтр Найквиста, предварительно разработанный для фактора десятикратного уменьшения, заданного в диалоговом окне блока.

Различные элементы появляются на диалоговом окне блока FIR Decimation в зависимости от того, выбираете ли вы Dialog parameters, Input port, Filter object или Auto в групповом блоке Coefficient source.

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

 Обеспечьте пропускают коэффициенты через входной порт

 Задайте объект многоскоростного фильтра

 Выберите Filter Coefficients Automatically

Ссылки

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

[2] Orfanidis, Софокл Дж. Введение в обработку сигналов. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1996.

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

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

Входной параметр

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

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

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

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Вывод

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

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

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

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

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

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

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