polyphase

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

Описание

пример

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

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

пример

polyphase(sysobj) запускает Инструмент Визуализации Фильтра (fvtool) со всеми многофазными подфильтрами, чтобы позволить вам анализировать каждый подфильтр компонента индивидуально.

Примеры

свернуть все

Когда вы создаете многоскоростной фильтр, который использует многофазное разложение, многофазный позволяет вам анализировать фильтры компонента индивидуально путем возврата компонентов как строк в матрице. Во-первых, создайте фильтр interpolate-three.

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)

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

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

свернуть все

Введите фильтр, заданный как как один из следующих Системных объектов фильтра:

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

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

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

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

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

свернуть все

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

Введенный в R2011a