FIR Rate Conversion

Входные сигналы Upsample, filter и downsample

  • Библиотека:
  • DSP System Toolbox/Фильтрация/Многомерные фильтры

  • FIR Rate Conversion block

Описание

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

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

Преобразователь скорости делает следующее:

  1. Повышает частоту входа до более высокой путем вставки L − 1 нули между входными выборками.

  2. Передает данные с повышенной дискретизацией через конечная импульсная характеристика.

  3. Понижает отфильтрованные данные до более низкой скорости путем отбрасывания 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) × <reservedrangesplaceholder0>

    Скорость выходного сигнала в Simulink® равен скорости входного сигнала.

    Fo = Fi

  • Allow multirate processing - выход формата кадра равен размеру входного кадра.

    Ko = Ki

    Скорость выхода сигнала в Simulink в L/ M раза превышает скорость входного сигнала.

    Fo = (L / M) × <reservedrangesplaceholder0>

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

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

Параметры

расширить все

Блок конечной импульсной характеристики 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) × <reservedrangesplaceholder0>

    Скорость выходного сигнала в Simulink равна скорости входного сигнала.

    Fo = Fi

  • Allow multirate processing - выход формата кадра равен размеру входного кадра.

    Ko = Ki

    Скорость выхода сигнала в Simulink в L/ M раза превышает скорость входного сигнала.

    Fo = (L / M) × <reservedrangesplaceholder0>

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

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

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

Для получения информации о создании системных объектов см. раздел «Определение основных системных объектов».

Зависимости

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

Выберите этот параметр, чтобы открыть Filter Visualization Tool, 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).

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

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

Зависимости

Этот параметр появляется только, когда 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).

Концептуально преобразователь скорости конечной импульсной характеристики содержит усилитель, за которым следует комбинированный антивизирующий, сглаживающий конечную импульсную характеристику фильтр H (z), за которым следует понижающий усилитель.

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

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

Вот многорасовые благородные тождества для интерполяции.

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

Можно заменить оператор повышающей дискретизации, блок задержки и сумматор на коммутатор. Чтобы принять во внимание нижеследующий понижающий усилитель, переключатель перемещается в шагах 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 выборок, эффективно учитывая M коэффициента понижающей дискретизации. Следовательно, скорость дискретизации на выходе преобразователя скорости конечной импульсной характеристики является Lfs/M.

Ссылки

[1] Orfanidis, Sophocles J. Введение в обработку сигналов. Upper Saddle River, NJ: Prentice Hall, 1996.

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

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