exponenta event banner

полифаза

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

Описание

пример

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

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

пример

polyphase(sysobj) запускает инструмент визуализации фильтра (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 без выходного аргумента открывает инструмент визуализации фильтра, готовый использовать возможности анализа инструмента для исследования интерполятора hm.

polyphase(hs)

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

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

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

свернуть все

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

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

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

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

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

свернуть все

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

Представлен в R2011a