FIR Interpolation

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

  • Библиотека:
  • DSP System Toolbox / Фильтрующий / Многоскоростные фильтры

    Поддержка HDL DSP System Toolbox / фильтрация

  • FIR Interpolation block

Описание

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

upsampler сверхдискретизировал каждый канал входа к более высокому уровню путем вставки L –1 нуль между выборками. КИХ-фильтр, который следует, фильтрует каждый канал сверхдискретизированных данных. Получившийся сигнал дискретного времени имеет частоту дискретизации, которая является L раз от исходной частоты дискретизации.

FIR interpolator contains an upsampler followed by an anti-imaging FIR filter.

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

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

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

Порты

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

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

Задайте ввод данных как вектор или матрицу.

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

Этот порт без имени, пока вы не устанавливаете Coefficient source на Input port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Поддержка комплексного числа: Да

Задайте коэффициенты числителя КИХ-фильтра как вектор.

Передаточной функцией H (z) КИХ-фильтра дают:

H(z)=b0+b1z1+...+bNzN

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

Чтобы действовать как эффективный реконструкционный фильтр, коэффициенты обычно соответствуют фильтру lowpass с нормированной частотой среза, не больше, чем обратная величина коэффициента интерполяции. Чтобы спроектировать такой фильтр, используйте designMultirateFIR функция.

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

Тип данных входа Num должен совпадать с типом данных входа In.

Зависимости

Входной порт Num появляется, когда вы устанавливаете Coefficient source как Input port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Поддержка комплексного числа: Да

Вывод

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

Выход блока FIR Interpolator, возвращенного как вектор или матрица.

Когда Rate options установлен в:

  • Enforce single-rate processing — Когда вы выбираете эту опцию, блок обеспечивает входную частоту дискретизации и интерполирует сигнал путем увеличения выходного формата кадра на коэффициент L.

  • Allow multirate processing — Когда вы выбираете эту опцию, блок интерполирует сигнал, таким образом, что выходная частота дискретизации является временами L быстрее, чем входная частота дискретизации.

Этот порт без имени, пока вы не устанавливаете Coefficient source на Input port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Поддержка комплексного числа: Да

Параметры

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

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

Задайте КИХ-содействующий источник фильтра как одно из следующего:

  • Dialog parameters – Задайте коэффициенты фильтра через параметр FIR filter coefficients в диалоговом окне блока.

  • Input port – Задайте коэффициенты фильтра через входной порт Num.

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

  • 'auto' Когда вы выбираете Auto, блочные конструкции КИХ-интерполятор с помощью коэффициента интерполяции, вы задаете в Interpolation factor. designMultirateFIR функционируйте проектирует фильтр и возвращает коэффициенты, используемые блоком.

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

Основная вкладка

Задайте коэффициенты числителя КИХ-передаточной функции фильтра H (z).

H(z)=b0+b1z1+...+bNzN

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

Чтобы действовать как эффективный реконструкционный фильтр, коэффициенты обычно соответствуют фильтру lowpass с нормированной частотой среза, не больше, чем обратная величина коэффициента интерполяции. Чтобы спроектировать такой фильтр, используйте designMultirateFIR функция.

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

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Dialog parameters.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного числа: Да

Задайте целочисленный коэффициент L. Блок увеличивает частоту дискретизации входной последовательности этим фактором.

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Dialog parameters, Input port или Auto.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Укажите, что имя многоскоростного фильтра возражает, что вы хотите, чтобы блок реализовал. Необходимо задать фильтр как dsp.FIRInterpolator Системный объект.

Можно задать Системный объект непосредственно в диалоговом окне блока. В качестве альтернативы можно задать объект в MATLAB® переменная рабочей области и задает переменную в диалоговом окне блока.

Для получения информации о создании Системных объектов смотрите, Задают Объекты Базовой системы.

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Filter object.

Задайте, как блок должен обработать вход. Можно установить этот параметр на одну из следующих опций:

  • Columns as channels (frame based) — Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

  • Elements as channels (sample based) — Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Задайте метод, которым блок должен интерполировать вход. Можно выбрать одну из следующих опций:

  • Enforce single-rate processing — Когда вы выбираете эту опцию, блок обеспечивает входную частоту дискретизации и интерполирует сигнал путем увеличения выходного формата кадра на коэффициент L. Чтобы выбрать эту опцию, необходимо установить параметр Input processing на Columns as channels (frame based).

  • Allow multirate processing — Когда вы выбираете эту опцию, блок интерполирует сигнал, таким образом, что выходная частота дискретизации является временами L быстрее, чем входная частота дискретизации.

Когда вы устанавливаете параметр Rate options на Allow multirate processing и запустите свои модели в Simulink® MultiTasking режим, блок показывает задержку. Сумма задержки для многоскоростной, многозадачной операции зависит от того, как вы устанавливаете параметр Input processing.

Обработка входаЗадержка

Elements as channels (sample based)

Выборки L

Columns as channels (frame based)

Системы координат L (выборки Ki на систему координат)

Когда блок показывает задержку, начальным условием по умолчанию является нуль. В качестве альтернативы можно использовать параметр Output buffer initial conditions, чтобы задать матрицу начальных условий, содержащих одно значение для каждого канала или скалярного начального условия, что блок применяется ко всем каналам. Блок делит Output buffer initial conditions на Interpolation factor и выводит масштабированные начальные условия, пока первая отфильтрованная входная выборка не становится доступной.

Начальные условия буфера вывода хранятся в типе выходных данных и масштабировании.

Смотрите Задержку для получения дополнительной информации о задержке в блоке FIR Interpolation.

Зависимости

Этот параметр появляется только, когда вы конфигурируете блок, чтобы выполнить многоскоростную обработку установкой Rate options к Allow multirate processing.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного числа: Да

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

Вкладка типов данных

Выберите округляющийся режим для операций фиксированной точки. Значением по умолчанию является Floor. Коэффициенты фильтра не выполняют этот параметр и всегда вокруг к Nearest.

Примечание

Настройки Rounding mode и Saturate on integer overflow не оказывают влияния на числовые результаты, когда все следующие условия существуют:

  • Product output является Inherit: Inherit via internal rule

  • Accumulator является Inherit: Inherit via internal rule

  • Output является Inherit: Same as accumulator

С этими настройками типа данных блок эффективно действует в режиме максимальной точности.

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

Примечание

Rounding mode и параметры Saturate on integer overflow не оказывают влияния на числовые результаты, когда все эти условия соблюдают:

  • Типом данных Product output является Inherit: Inherit via internal rule.

  • Типом данных Accumulator является Inherit: Inherit via internal rule.

С этими настройками типа данных блок действует в режиме максимальной точности.

Задайте содействующий тип данных. Смотрите Типы данных Фиксированной точки и Умножения для рисунков, изображающих использование содействующего типа данных в этом блоке.

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

  • Inherit: Same word length as input

  • fixdt(1,16,0) или fixdt(1,16) – Задайте объект типа данных.

Нажмите кнопку Show data type assistantDouble greater than symbols, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Coefficients.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Dialog parameters, Filter object, или Auto.

Когда Coefficient source установлен в Filter object, параметр Coefficients автоматически устанавливается на Same word length as input.

Задайте минимальное значение коэффициентов фильтра. Значением по умолчанию является [] (незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить автоматическое масштабирование типов данных с фиксированной точкой.

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Dialog parameters или Auto.

Задайте максимальное значение коэффициентов фильтра. Значением по умолчанию является [] (незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить автоматическое масштабирование типов данных с фиксированной точкой.

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Dialog parameters или Auto.

Задайте тип выходных данных продукта. Смотрите Типы данных Фиксированной точки и Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке.

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

Нажмите кнопку Show data type assistantDouble greater than symbols, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Зависимости

Когда Coefficient source установлен в Filter object, параметр Product output автоматически устанавливается на Full precision.

Задайте тип данных аккумулятора. Смотрите Фиксированную точку для рисунков, изображающих использование типа данных аккумулятора в этом блоке.

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

Нажмите кнопку Show data type assistantDouble greater than symbols, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Accumulator.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Зависимости

Когда Coefficient source установлен в Filter object, параметр Accumulator автоматически устанавливается на Full precision.

Задайте тип выходных данных. Смотрите Фиксированную точку для рисунков, изображающих использование типа выходных данных в этом блоке.

Можно установить его на одно из следующего:

  • Inherit: Same as accumulator

  • Inherit: Same as input

  • Inherit: Same as product output

  • fixdt(1,16,0) – Задайте объект типа данных.

Нажмите кнопку Show data type assistantDouble greater than symbols, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output.

Смотрите Типы данных Управления Сигналов (Simulink) для получения дополнительной информации.

Зависимости

Когда Coefficient source установлен в Filter object, параметр Output автоматически устанавливается на Same as accumulator.

Задайте минимальное значение, которое должен вывести блок. Значением по умолчанию является [] (незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Dialog parameters, Input port, или Auto.

Задайте максимальное значение, которое должен вывести блок. Значением по умолчанию является [] (незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:

Зависимости

Этот параметр появляется только, когда вы устанавливаете Coefficient source на Dialog parameters, Input port, или Auto.

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете в диалоговом окне блока.

Характеристики блока

Типы данных

double | fixed point | integer | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

yes

Обнаружение пересечения нулем

no

Больше о

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

Алгоритмы

КИХ-фильтр интерполяции реализуется эффективно с помощью многофазной структуры.

Чтобы вывести многофазную структуру, начните с передаточной функции КИХ-фильтра:

H(z)=b0+b1z1+...+bNzN

N +1 является длиной КИХ-фильтра.

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

H(z)=(b0+bLzL+b2Lz2L+..+bNL+1z(NL+1))+z1(b1+bL+1zL+b2L+1z2L+..+bNL+2z(NL+1))+z(L1)(bL1+b2L1zL+b3L1z2L+..+bNz(NL+1))

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

Можно записать это уравнение как:

H(z)=E0(zL)+z1E1(zL)+...+z(L1)EL1(zL)

E0 (zL), E1 (zL)..., EL-1 (zL) многофазные компоненты КИХ-фильтра H (z).

Концептуально, КИХ-фильтр интерполяции содержит upsampler, сопровождаемый КИХ фильтр lowpass H (z).

FIR interpolator contains an upsampler followed by an anti-imaging FIR filter.

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

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

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

Можно заменить оператор повышающей дискретизации, блок задержки и сумматор с переключателем коммутатора. Переключатель запускается на первой ветви 0 и перемещается в направление против часовой стрелки, каждый раз получая одну выборку от каждой ветви. Интерполятор эффективно выборки выходных параметров L для каждой входной выборки это получает. Следовательно частотой дискретизации при выходе КИХ-фильтра интерполяции является Lfs.

Ссылки

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

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

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

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