matlab prony,prony算法程序用MATLAB如何编?

这篇博客介绍了Prony's method,一种用于实时域IIR滤波器设计的算法,通过向量H找到滤波器的极点和零点,返回系数B和A。它适用于实数或复数输入,并提及了PRONY与其他滤波器设计函数如STMCB、LPC等的关系。作者是L.Shure,版权The MathWorks,Inc。
摘要由CSDN通过智能技术生成

匿名用户

1级

2013-08-18 回答

functionnbsp;[b,a]nbsp;=nbsp;prony(h,nbsp;nbnbsp;,na)%PRONYnbsp;Prony‘snbsp;methodnbsp;fornbsp;time-domainnbsp;IIRnbsp;filternbsp;design.%nbsp;nbsp;nbsp;[B,A]nbsp;=nbsp;PRONY(H,nbsp;NB,nbsp;NA)nbsp;findsnbsp;anbsp;filternbsp;withnbsp;numeratornbsp;order%nbsp;nbsp;nbsp;NB,nbsp;denominatornbsp;ordernbsp;NA,nbsp;andnbsp;havingnbsp;thenbsp;impulsenbsp;responsenbsp;in%nbsp;nbsp;nbsp;vectornbsp;H.nbsp;nbsp;nbsp;Thenbsp;IIRnbsp;filternbsp;coefficientsnbsp;arenbsp;returnednbsp;in%nbsp;nbsp;nbsp;lengthnbsp;NB+1nbsp;andnbsp;NA+1nbsp;rownbsp;vectorsnbsp;Bnbsp;andnbsp;A,nbsp;orderednbsp;in%nbsp;nbsp;nbsp;descendingnbsp;powersnbsp;ofnbsp;Z.nbsp;nbsp;Hnbsp;maynbsp;benbsp;realnbsp;ornbsp;complex.%%nbsp;nbsp;nbsp;Ifnbsp;thenbsp;largestnbsp;ordernbsp;specifiednbsp;isnbsp;greaternbsp;thannbsp;thenbsp;lengthnbsp;ofnbsp;H,%nbsp;nbsp;nbsp;Hnbsp;isnbsp;paddednbsp;withnbsp;zeros.%%nbsp;nbsp;nbsp;Seenbsp;alsonbsp;STMCB,nbsp;LPC,nbsp;BUTTER,nbsp;CHEBY1,nbsp;CHEBY2,nbsp;ELLIP,nbsp;INVFREQZ.%nbsp;nbsp;nbsp;Author(s):nbsp;L.nbsp;Shure,nbsp;5-17-88%nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;L.nbsp;Shure,nbsp;12-17-90,nbsp;revised%nbsp;nbsp;nbsp;Copyrightnbsp;1988-2002nbsp;Thenbsp;MathWorks,nbsp;Inc.%nbsp;nbsp;nbsp;$Revision:nbsp;1.7nbsp;$nbsp;nbsp;$Date:nbsp;2002/03/28nbsp;17:30:10nbsp;$%nbsp;nbsp;nbsp;References:%nbsp;nbsp;nbsp;nbsp;nbsp;[1]nbsp;T.W.nbsp;Parksnbsp;andnbsp;C.S.nbsp;Burrus,nbsp;Digitalnbsp;Filternbsp;Design,%nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Johnnbsp;Wileynbsp;andnbsp;Sons,nbsp;1987,nbsp;p226.Knbsp;=nbsp;length(h)nbsp;-nbsp;1;Mnbsp;=nbsp;nb;nbsp;Nnbsp;=nbsp;na;ifnbsp;Knbsp;amp;lt;=nbsp;max(M,N)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;%nbsp;zero-padnbsp;inputnbsp;ifnbsp;necessarynbsp;nbsp;nbsp;nbsp;Knbsp;=nbsp;max(M,N)+1;nbsp;nbsp;nbsp;nbsp;h(K+1)nbsp;=nbsp;0;endcnbsp;=nbsp;h(1);ifnbsp;c==0nbsp;nbsp;nbsp;nbsp;%nbsp;avoidnbsp;dividenbsp;bynbsp;zeronbsp;nbsp;nbsp;nbsp;c=1;endHnbsp;=nbsp;toeplitz(h/c,[1nbsp;zeros(1,K)]);%nbsp;K+1nbsp;bynbsp;N+1ifnbsp;(Knbsp;amp;gt;nbsp;N)nbsp;nbsp;nbsp;nbsp;H(:,(N+2):(K+1))nbsp;=nbsp;[];end%nbsp;Partitionnbsp;Hnbsp;matrixH1nbsp;=nbsp;H(1:(M+1),:);nbsp;%nbsp;M+1nbsp;bynbsp;N+1h1nbsp;=nbsp;H((M+2):(K+1),1);nbsp;%nbsp;K-Mnbsp;bynbsp;1H2nbsp;=nbsp;H((M+2):(K+1),2:(N+1));nbsp;%nbsp;K-Mnbsp;bynbsp;Nanbsp;=nbsp;[1;nbsp;-H2h1].‘;bnbsp;=nbsp;c*a*H1.‘;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值