exponenta event banner

Преобразование курса FIR

Восходящие, фильтрующие и понижающие входные сигналы

  • Библиотека:
  • Панель системных инструментов DSP/Фильтрация/Многоскоростные фильтры

  • FIR Rate Conversion block

Описание

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

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

Преобразователь скорости выполняет следующие действия:

  1. Увеличивает выборку входных данных до более высокой скорости, вставляя L1 нули между входными выборками.

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

  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) × 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 в диалоговом окне блока.

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

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

Настройки в диалоговом окне «Блок преобразования КИХ-курсов» изменяются в зависимости от выбранного режима.

Главная вкладка

Укажите коэффициент интерполяции 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 ®.

Сведения о создании системных объектов см. в разделе Определение основных системных объектов.

Зависимости

Этот параметр появляется, если для параметра «Источник коэффициентов» задано значение «Объект фильтра».

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

Чтобы обновить отклик величины во время fvtool выполняется, измените параметры блока и нажмите «Применить».

Чтобы одновременно просмотреть амплитудную и фазовую характеристики, нажмите кнопку «Величина и фазовые характеристики» на панели инструментов.

Вкладка «Типы данных»

Если для параметра «Источник коэффициентов» задано значение «Объект фильтра», на вкладке «Типы данных» отображаются настройки объекта фильтра с фиксированной точкой, указанные на вкладке «Главная». Эти параметры нельзя изменить непосредственно в диалоговом окне блока. Чтобы изменить параметры фиксированной точки, необходимо отредактировать объект фильтра.

Дополнительные сведения о системных объектах см. в разделе Что такое системные объекты?.

Если для параметра «Источник коэффициентов» задано значение «Авто», блок выбирает коэффициенты фильтра автоматически. Дополнительные сведения о алгоритме проектирования фильтра, используемом блоком, см. в разделе Указание коэффициентов КИХ-фильтра.

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

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

Дополнительные сведения см. в разделе Режимы округления.

Коэффициенты фильтра не подчиняются этому параметру и всегда округляются до Nearest.

Примечание

Режим Округления (Rounding) и Сатурат (Saturate) для параметров переполнения целых чисел не влияют на числовые результаты при выполнении всех этих условий:

  • Тип выходных данных продукта: Inherit: Inherit via internal rule.

  • Тип данных аккумулятора: Inherit: Inherit via internal rule.

  • Тип выходных данных: Inherit: Same as accumulator.

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

Зависимости

Для включения этого параметра установите для параметра Coefficient source значение Dialog parameters или Auto.

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

Примечание

Режим Округления (Rounding) и Насыщение (Saturate) для параметров переполнения целых чисел не влияют на числовые результаты при выполнении всех этих условий:

  • Тип выходных данных продукта: Inherit: Inherit via internal rule.

  • Тип данных аккумулятора: Inherit: Inherit via internal rule.

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

Зависимости

Этот параметр можно редактировать только в том случае, если для параметра «Источник коэффициентов» задано значение «Dialog parameters» или «Auto».

Коэффициенты определяют тип данных коэффициентов фильтра.

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

  • fixdt(1,16) - Тип данных коэффициентов - это тип данных со знаком, двоичной точкой, масштабированный, с фиксированной точкой с длиной слова 16 бит.

  • fixdt(1,16,0) - Тип данных коэффициентов - это тип данных со знаком, двоичной точкой, масштабированный, с фиксированной точкой с длиной слова 16 бит и длиной дроби 0.

Можно также задать тип данных Коэффициенты с помощью помощника по типам данных. Для использования помощника нажмите кнопку Show data type assistant.

Дополнительные сведения об помощнике по типам данных см. в разделе Указание типов данных с помощью помощника по типам данных (Simulink).

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

Зависимости

Этот параметр можно редактировать только в том случае, если для параметра «Источник коэффициентов» задано значение «Dialog parameters» или «Auto».

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

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

Выходные данные продукта определяют тип данных выходных данных операции с продуктом в блоке преобразования ставки FIR.

  • Inherit: Inherit via internal rule - блок наследует тип выходных данных продукта на основе внутреннего правила. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

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

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

Кроме того, можно задать тип выходных данных продукта с помощью помощника по типам данных. Для использования помощника нажмите кнопку Show data type assistant.

Дополнительные сведения об помощнике по типам данных см. в разделе Указание типов данных с помощью помощника по типам данных (Simulink).

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

Зависимости

Этот параметр можно редактировать только в том случае, если для параметра «Источник коэффициентов» задано значение «Dialog parameters» или «Auto».

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

  • Inherit: Inherit via internal rule - блок наследует тип данных накопителя на основе внутреннего правила. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

  • Inherit: Same as input - Блок определяет тип данных накопителя, который должен совпадать с типом входных данных.

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

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

Кроме того, тип данных Accumulator можно задать с помощью помощника по типам данных. Для использования помощника нажмите кнопку Show data type assistant.

Дополнительные сведения об помощнике по типам данных см. в разделе Указание типов данных с помощью помощника по типам данных (Simulink).

Зависимости

Этот параметр можно редактировать только в том случае, если для параметра «Источник коэффициентов» задано значение «Dialog parameters» или «Auto».

Вывод указывает тип данных вывода блока преобразования скорости передачи данных.

  • Inherit: Same as input - Блок определяет тип выходных данных, который должен совпадать с типом входных данных.

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

  • Inherit: Same as accumulator - Блок определяет тип выходных данных, который должен совпадать с типом данных накопителя.

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

Кроме того, можно задать тип выходных данных с помощью помощника по типам данных. Для использования помощника нажмите кнопку Show data type assistant.

Дополнительные сведения об помощнике по типам данных см. в разделе Указание типов данных с помощью помощника по типам данных (Simulink).

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

Зависимости

Этот параметр можно редактировать только в том случае, если для параметра «Источник коэффициентов» задано значение «Dialog parameters» или «Auto».

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

  • Проверка диапазона моделирования. Дополнительные сведения см. в разделе Определение диапазонов сигналов (Simulink).

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

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

  • Проверка диапазона моделирования. Дополнительные сведения см. в разделе Определение диапазонов сигналов (Simulink).

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

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

Зависимости

Этот параметр появляется только в том случае, если для параметра «Источник коэффициентов» задано значение «Dialog parameters» или «Auto».

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

Типы данных

double | fixed point | integer | single

Прямой проход

no

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

no

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

no

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

no

Подробнее

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

Алгоритмы

Преобразователь скорости КИХ эффективно реализован с использованием полифазной структуры.

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

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

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

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

H (z) = (b0+bLz−L+b2Lz−2L +. +bN−L+1z− (N−L+1)) +z−1 (b1+bL+1z−L+b2L+1z−2L +. +bN−L+2z− (N−L+1)) + ⋮z− (L−1) (bL−1+b2L−1z−L+b3L−1z−2L +. +bNz− (N−L+1))

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

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

H (z) = E0 (zL) + z 1E1 (zL) +... + z (L − 1) EL − 1 (zL)

E0 (zL), E1 (zL),..., EL-1 (zL) - полифазные компоненты КИХ-фильтра Н (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 выборок, эффективно учитывая коэффициент dowsampling M. Следовательно, частота дискретизации на выходе преобразователя скорости FIR равна Lfs/M.

Ссылки

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

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

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