用matlab求其零极点,用CZT求解系统函数的零极点:算法说明及MATLAB程序演示

求解z 变换)(z X 的零、极点

设)(n x 是实序列,其z 变换)(z X 一般是z 或1-z 的实系数有理分式。当)(z X 的分子多项式和分母多项式的阶数很高时,分解因式求)(z X 的零、极点就十分困难。在语音信号处理过程中,往往需要知道其z 变换极点所在的频率,利用CZT 就能准确地测出来。

具体的做法是:利用不同半径的同心圆,进行等间隔的采样,即令

00=θ,10=W ,N πφ20=

,改变0A ,计算|)(|lg 20k z X 1,...,2,1,0,2|)(|lg 20-===N k k N

j re X πωω,由)dB (|)(|lg 20ωj re X 的峰点决定)(z X 的零、极点: 16.056569.064.013137.1)(22+++-=z z z z z X )4.0)(4.0()8.0)(8.0(434344ππππj j j j e z e z e z e

z ------=

)( ...44.169706.1121由长除得++-=--z z (3-31)

由此可见,)(z X 有两个零点,418.0π

j e z =,428.0π

j e z -=;有两个极点,43j 34.0π

e z =,

4344.0π

j e z -=。由上式还可以看出,通过长除,把)(z X 展成1-z 的67次多项式的形式,根据

∑∞

=-=

0)()(n n z n x z X ,就可以得到)(n x 的前68个数值,例如,1)0(=x ,69706.1)1(-=x ,,...44.1)2(=x 这样,对长度68=N 的有限长序列)(n x ,在z 平面的半径为2.0、4.0、6.0、8.0和0.1等5个同心圆上,分别等间隔地采样60=M 个点,利用CZT 计算1,...,2,1,0,2|)(|l g 20-==N k k N

j re X πωω,如图3.29所示。由图可见,在半径为0.4、相角为0135处,

你可能感兴趣的:(用matlab求其零极点)