prony

Метод Прони для создания фильтра

Синтаксис

Описание

пример

[b,a] = prony(h,bord,aord) возвращает коэффициенты числителя и знаменателя для причинно-рациональной передаточной функции с импульсной характеристикой h, порядок числителя bord, и порядок знаменателя aord.

Примеры

свернуть все

Подгонка БИХ-модели 4-го порядка к импульсной характеристики lowpass-фильтра. Постройте график исходных и спроектированных Прони импульсных характеристик.

d = designfilt('lowpassiir','NumeratorOrder',4,'DenominatorOrder',4, ...
    'HalfPowerFrequency',0.2,'DesignMethod','butter');

h = filter(d,[1 zeros(1,31)]);
bord = 4;
aord = 4;
[b,a] = prony(h,bord,aord);

subplot(2,1,1) 
stem(impz(b,a,length(h)))
title 'Impulse Response with Prony Design'

subplot(2,1,2)
stem(h)
title 'Input Impulse Response'

Figure contains 2 axes. Axes 1 with title Impulse Response with Prony Design contains an object of type stem. Axes 2 with title Input Impulse Response contains an object of type stem.

Подгонка КИХ-модели 10-го порядка к импульсной характеристики высокочастотного фильтра. Постройте график исходных и спроектированных Прони частотных характеристик. Ответы совпадают с высокой точностью.

d = designfilt('highpassfir','FilterOrder',10,'CutoffFrequency',0.8);

h = filter(d,[1 zeros(1,31)]);
bord = 10;
aord = 0;
[b,a] = prony(h,bord,aord);

fvt = fvtool(b,a,d);
legend(fvt,'Prony','Original')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line. These objects represent Prony, Original.

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

свернуть все

Импульсная характеристика, заданная как вектор.

Пример: impz(fir1(20,0.5)) задает импульсную характеристику конечной импульсной характеристики 20-го порядка с нормализованной частотой среза π/2 рад/выборка.

Типы данных: single | double
Поддержка комплексного числа: Да

Порядки числителя и знаменателя, заданные как положительные целочисленные скаляры. Если длина h меньше, чем макс (bord, aord), функция заполняет импульсную характеристику нулями.

  • Если вам нужна полнополюсная передаточная функция, задайте bord как 0.

  • Если требуется полностью нулевая передаточная функция, задайте aord как 0.

Типы данных: single | double

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

свернуть все

Коэффициенты передаточной функции, возвращенные как векторы. b имеет длину bord + 1 и a имеет длину aord + 1.

Подробнее о

свернуть все

Передаточная функция

transfer function является Z-преобразованием импульсной характеристики h [n]:

H(z)=n=h(n)zn.

A rational transfer function является отношением полиномов в z–1. Это уравнение описывает причинно-рациональную передаточную функцию порядка q числителя и порядка p знаменателя:

H(z)=B(z)A(z)=k=0qb(k)zk1+l=1pa(l)zl,

где a [0] = 1.

Ссылки

[1] Parks, Thomas W., and C. Sidney Burrus. Создание цифровых фильтров. Нью-Йорк, Нью-Йорк, США: Wiley-межнаука, 1987.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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