FIR Rate Conversion

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

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

  • FIR Rate Conversion block

Описание

Блок FIR Rate Conversion передискретизирует вход дискретного времени, таким образом, что его периодом расчета является M/L времена входной период расчета (СИ T). M является целочисленным значением, которое вы задаете для параметра Decimation factor, и L является целочисленным значением, которое вы задаете для параметра Interpolation factor. Блок обрабатывает каждый столбец входа как отдельный канал и передискретизирует данные в каждом канале независимо в зависимости от времени.

Концептуально, конвертер уровня комбинирует КИХ-интерполятор, сопровождаемый КИХ decimator. Следующее схематическое содержит upsampler, объединенную антиобработку изображений и сглаживание КИХ-фильтра и downsampler. Чтобы спроектировать КИХ-фильтр, который действует как объединенная антиобработка изображений и сглаживание КИХ-фильтра, используйте designMultirateFIR функция.

Конвертер уровня делает следующее:

  1. Сверхдискретизировал вход к более высокому уровню путем вставки L1 нули между входными выборками.

  2. Передает сверхдискретизированные данные через КИХ-фильтр.

  3. Downsample отфильтрованные данные к более низкому уровню путем отбрасывания M-1 последовательные выборки после каждой выборки, которую сохраняет блок.

FIR rate converter contains an upsampler followed by an anti-imaging, anti-aliasing FIR filter, followed by a downsampler.

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

Порты

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

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

Входной сигнал в виде вектора или матрицы.

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

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

Вывод

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

Уровень преобразованный сигнал, возвращенный как вектор или матрица.

Когда параметр Rate options устанавливается на:

  • Enforce single-rate processing – Выходной формат кадра Ko является L/M времена размер входного кадра Ki, где L является коэффициентом интерполяции и M, является фактором децимации.

    Ko = (L/M) ×Ki

    Уровень выходного сигнала в Simulink® равняется уровню входного сигнала.

    Fo = Fi

  • Allow multirate processing – Выходной формат кадра равняется размеру входного кадра.

    Ko = Ki

    Уровнем выходного сигнала в Simulink является L/M времена уровень входного сигнала.

    Fo = (L/M) ×Fi

    Все блоки, соединенные с выходом, действуют в Fo, и все блоки, соединенные с входом, действуют в Fi.

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

Параметры

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

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

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

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

  • Auto (значение по умолчанию) — Блок определяет коэффициенты фильтра.

Настройки в диалоговом окне блока FIR Rate Conversion изменяются на основе выбранного режима.

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

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

Зависимости

Чтобы включить этот параметр, установите Coefficient source или на Dialog parameters или на Auto.

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

Задайте КИХ-коэффициенты фильтра в убывающих степенях z. По умолчанию блок использует designMultirateFIR(3,2) функция, чтобы вычислить коэффициенты фильтра.

Зависимости

Чтобы включить этот параметр, установите Coefficient source на Dialog parameters.

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

Задайте фактор децимации, M, как положительное целое число. Блок прореживает сигнал этим значением после фильтрации его.

Зависимости

Чтобы включить этот параметр, установите Coefficient source или на Dialog parameters или на Auto.

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

Задайте, осуществить ли односкоростную обработку или позволить многоскоростную обработку.

  • Enforce single-rate processing – Выходной формат кадра Ko является L/M времена размер входного кадра Ki, где L является коэффициентом интерполяции и M, является фактором децимации.

    Ko = (L/M) ×Ki

    Уровень выходного сигнала в Simulink равняется уровню входного сигнала.

    Fo = Fi

  • Allow multirate processing – Выходной формат кадра равняется размеру входного кадра.

    Ko = Ki

    Уровнем выходного сигнала в Simulink является L/M времена уровень входного сигнала.

    Fo = (L/M) ×Fi

    Все блоки, соединенные с выходом, действуют в Fo, и все блоки, соединенные с входом, действуют в Fi.

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

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

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

Зависимости

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

Выберите этот параметр, чтобы открыть Инструмент Визуализации Фильтра, fvtool, и отобразите ответ величины КИХ-фильтра. Ответ основан на параметрах, выбранных в диалоговом окне блока. Изменения внесены в эти параметры обновление fvtool.

Обновить ответ величины в то время как fvtool запускается, измените параметры блоков и нажмите Apply.

Чтобы просмотреть ответ величины и фазовый отклик одновременно, нажмите кнопку Magnitude and Phase responses на панели инструментов.

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

Когда Coefficient source установлен в Filter object, настройки фиксированной точки объекта фильтра, заданного на Main tab, отображены на Data Types tab. Вы не можете изменить эти настройки непосредственно на диалоговом окне блока. Чтобы изменить настройки фиксированной точки, необходимо отредактировать объект фильтра.

Для получения дополнительной информации о Системных объектах смотрите, Что такое Системные объекты?.

Когда Coefficient source установлен в Auto, блок выбирает коэффициенты фильтра автоматически. Для получения дополнительной информации об алгоритме создания фильтра, который использует блок, смотрите, Задают КИХ-Коэффициенты Фильтра.

Задайте округляющийся режим для операций фиксированной точки как:

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

Для получения дополнительной информации смотрите Округление Режимов.

Коэффициенты фильтра не выполняют этот параметр и всегда вокруг к 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.

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

Зависимости

Чтобы включить этот параметр, установите Coefficient source или на Dialog parameters или на Auto.

Выберите этот параметр, чтобы насыщать результат операции фиксированной точки. Очистите этот параметр, чтобы перенести результат операции фиксированной точки. Для получения дополнительной информации на насыщайте и переносите, смотрите, что Переполнение Обрабатывает для операций фиксированной точки.

Примечание

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

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

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

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

Зависимости

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

Coefficients задает тип данных коэффициентов фильтра.

  • Inherit: Same word length as input – Блок наследовал размер слова коэффициентов от входа фиксированной точки. Дробная длина определяется на основе содействующих значений для того, чтобы получить самую лучшую точность.

  • fixdt(1,16) – Содействующий тип данных является двоичной точкой со знаком, масштабируемой, тип данных с фиксированной точкой с размером слова 16 битов.

  • fixdt(1,16,0) – Содействующий тип данных является двоичной точкой со знаком, масштабируемой, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.

В качестве альтернативы можно установить тип данных Coefficients при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.

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

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

Зависимости

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

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

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

Product output задает тип данных выхода операции продукта в блоке FIR Rate Conversion.

  • Inherit: Inherit via internal rule — Блок наследовал тип выходных данных продукта на основе внутреннего правила. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.

  • Inherit: Same as input — Блок задает тип выходных данных продукта, чтобы совпасть с типом входных данных.

  • fixdt(1,16,0) — Блок задает двоичную точку со знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.

В качестве альтернативы можно установить тип данных Product output при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.

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

Для схематического представления того, как этот блок использует тип выходных данных продукта, смотрите Фиксированную точку.

Зависимости

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

Accumulator задает тип данных выхода операции накопления в блоке FIR Rate Conversion. Для рисунков о том, как этот блок использует тип данных аккумулятора, смотрите Фиксированную точку.

  • Inherit: Inherit via internal rule — Блок наследовал тип данных аккумулятора на основе внутреннего правила. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.

  • Inherit: Same as input — Блок задает тип данных аккумулятора, чтобы совпасть с типом входных данных.

  • Inherit: Same as product output — Блок задает тип данных аккумулятора, чтобы совпасть с типом выходных данных продукта.

  • fixdt(1,16,0) — Блок задает двоичную точку со знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.

В качестве альтернативы можно установить тип данных Accumulator при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.

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

Зависимости

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

Output задает тип данных выхода блока FIR Rate Conversion.

  • Inherit: Same as input — Блок задает тип выходных данных, чтобы совпасть с типом входных данных.

  • Inherit: Same as product output — Блок задает тип выходных данных, чтобы совпасть с типом выходных данных продукта.

  • Inherit: Same as accumulator — Блок задает тип выходных данных, чтобы совпасть с типом данных аккумулятора.

  • fixdt(1,16,0) — Блок задает двоичную точку со знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.

В качестве альтернативы можно установить тип данных Output при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.

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

Для схематического представления того, как этот блок использует тип выходных данных, смотрите Фиксированную точку.

Зависимости

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

Задайте минимальное значение, которое может вывести блок. Simulink использует это минимальное значение, чтобы выполнить:

  • Проверка диапазона симуляции. Для получения дополнительной информации смотрите, Указывают Диапазоны сигнала (Simulink).

  • Автоматическое масштабирование типов данных с фиксированной точкой.

Задайте максимальное значение, которое может вывести блок. Simulink использует это максимальное значение, чтобы выполнить:

  • Проверка диапазона симуляции. Для получения дополнительной информации смотрите, Указывают Диапазоны сигнала (Simulink).

  • Автоматическое масштабирование типов данных с фиксированной точкой.

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

Зависимости

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

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

Типы данных

double | fixed point | integer | single

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

no

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

no

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

no

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

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, сопровождаемый объединенной антиобработкой изображений, сглаживание КИХ фильтрует H (z), который сопровождается downsampler.

FIR rate converter contains an upsampler followed by a combined anti-imaging, anti-aliasing FIR filter, followed by a downsampler.

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

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

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

Можно заменить оператор повышающей дискретизации, блок задержки и сумматор с переключателем коммутатора. С учетом downsampler, который следует, перемещения переключателя с шагом размера M. Переключатель получает первую выборку от ветви 0 и приближается против часовой стрелки направление, каждый раз пропуская M −1 ветви.

Как пример, рассмотрите конвертер уровня с набором L к 5 и набором M к 3. Многофазными компонентами является E0(z), E1(z), E2(z), E3(z) и E4(z). Переключатель запускается на первой ветви 0, пропускает ветви 1 и 2, получает следующую выборку от ветви 3, затем пропускает ветви 4 и 0, получает следующую выборку от ветви 2 и так далее. Последовательность ветвей, из которых переключатель получает выборку данных, [0, 3, 1, 4, 2, 0, 3, 1, ….].

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

Ссылки

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

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

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