polyphase

Полифаза разложение многоскоростного фильтра

Описание

пример

p = polyphase(sysobj) возвращает полифазную матрицу p системы многоскоростного фильтра object™ sysobj. Каждая строка в матрице соответствует полифазе ветви. Количество столбцов в p соответствует количеству отводов фильтра на каждую полифазную ветвь.

p = polyphase(sysobj,'Arithmetic',arithType) возвращает полифазную матрицу p в точности, заданной arithType.

пример

polyphase(sysobj) запускает Filter Visualization Tool (fvtool) со всеми полифазными подфильтрами, чтобы позволить вам анализировать каждый подфильтр компонента индивидуально.

Примеры

свернуть все

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

hs = dsp.FIRInterpolator
hs = 
  dsp.FIRInterpolator with properties:

        NumeratorSource: 'Property'
              Numerator: [1x16 double]
    InterpolationFactor: 3

  Show all properties

В этом синтаксисе матрица p содержит все подфильтры для hm, по одному фильтру на строку матрицы.

p = polyphase(hs)
p = 3×6

   -0.0013   -0.0107    0.1784    0.1784   -0.0107   -0.0013
   -0.0054    0.0204    0.2406    0.0904   -0.0124         0
   -0.0124    0.0904    0.2406    0.0204   -0.0054         0

Наконец, использование polyphase без выходного аргумента открывает Filter Visualization Tool, готовый для вас использовать возможности анализа инструмента, чтобы исследовать интерполятор hm.

polyphase(hs)

Figure Filter Visualization Tool - Filter Coefficients contains objects of type uitoolbar, uimenu, uicontrol.

fvtool показывает коэффициенты подфильтров. Чтобы увидеть величину ответ подфильтров, нажмите на Magnitude Response кнопка на панели инструментов fvtool.

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

свернуть все

Задайте арифметику, используемую при вычислении матрицы полифазы. Когда вы задаете 'double' или 'single'функция выполняет двойной или одинарный точный анализ. Когда вы задаете 'fixed' , арифметика изменяется в зависимости от настройки CoefficientDataType свойство и является ли системный объект заблокированным или разблокированным.

Детали для арифметики с фиксированной точкой

Состояние системного объектаТип данных коэффициентаПравило
Незапертый'Same as input'Функция принимает, что тип данных коэффициента подписан, 16 бит и автосканирован. Функция выполняет анализ с фиксированной точкой на основе этого предположения.
Незапертый'Custom'Функция выполняет анализ с фиксированной точкой на основе настройки CustomCoefficientsDataType свойство.
Запертый'Same as input'Когда тип входных данных 'double' или 'fixed'функция принимает, что тип данных коэффициента подписан, 16-битный и автоматический. Функция выполняет анализ с фиксированной точкой на основе этого предположения.
Запертый'Custom'Функция выполняет анализ с фиксированной точкой на основе настройки CustomCoefficientsDataType свойство.

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

Выходные аргументы

свернуть все

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

Введенный в R2011a