Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

prony

Método Prony para diseño de filtros

Descripción

ejemplo

[b,a] = prony(h,bord,aord) devuelve los coeficientes de numerador y denominador para una función de transferencia de causa racional con respuesta impulsional h, orden de numerador bord y orden de denominador aord.

Ejemplos

contraer todo

Ajuste un modelo IIR de 4.º orden a la respuesta impulsional de un filtro paso bajo. Represente las respuestas impulsionales originales y diseñadas con Prony.

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.

Ajuste un modelo FIR de 10.º orden a la respuesta impulsional de un filtro paso alto. Represente las respuestas de frecuencia originales y diseñadas con Prony. Las respuestas corresponden con alta precisión.

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.

Argumentos de entrada

contraer todo

Respuesta impulsional, especificada como vector.

Ejemplo: impz(fir1(20,0.5)) especifica la respuesta impulsional de un filtro FIR de 20.º orden con frecuencia de corte π/2 radios/muestra.

Tipos de datos: single | double
Soporte de números complejos:

Orden de numerador y denominador, especificados como escalares enteros positivos. Si la longitud de h es inferior a max(bord,aord), la función completa la respuesta impulsional con ceros.

  • Si quiere una función de transferencia de todos los polos, especifique bord como 0.

  • Si quiere una función de transferencia cero, especifique aord como 0.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Coeficientes de la función de transferencia, devueltos como vectores. b tiene longitud bord + 1 y a tiene longitud aord + 1.

Más acerca de

contraer todo

Función de transferencia

La función de transferencia es la transformada Z de la respuesta impulsional h[n]:

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

Una función de respuesta impulsional es un ratio de polinomios en z–1. Esta ecuación describe una función de transferencia de causa racional con orden de numerador q y orden de denominador p:

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

donde a[0] = 1.

Referencias

[1] Parks, Thomas W., and C. Sidney Burrus. Digital Filter Design. New York, NY, USA: Wiley-Interscience, 1987.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Consulte también

| | |

Introducido antes de R2006a