资源描述:
《离散系统频域分析及matlab实现(修订版).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、离散系统的频域分析及matlab实现摘要:系统的频域分析主要包括求表征系统频率特性的频率响应特征量和在频域求解系统输出两方面内容,本文主要分析离散系统的频域特性,应用实例结合理论,通过matlab做出了系统输出的幅频特性和相频特性曲线。1.系统函数对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。在本文中利用系统函数H(z)进行描述。若已知一个差分方程为,则可以利用双边取Z变换,最终可以得到系统函数的一般式H(z),。若已知系统的单位脉冲响应,则直接将其进行Z变换就可以得到系统函数H
2、(z)。系统函数表征系统的复频域特性。2.系统的频率响应:利用Z变化分析系统的频率响应:设系统的初始状态为零,系统对输入为单位脉冲序列的响应输出称为系统的单位脉冲响应h(n)。对h(n)进行傅里叶变换,得到:其中称为系统的幅频特性函数,称为系统的相位特性函数。表示的是系统对特征序列的响应特性。对于一个系统输入信号为,则系统的输出信号为。由上可以知道单频复指数信号通过频率响应函数为后,输出仍为单频复指数信号,其幅度放大了,相移为。对于系统函数H(z)与H(w)之间,若系统函数H(z)的收敛域包含单位圆
3、z
4、
5、=1,则有,在MATLAB中可以利用freqz函数计算系统的频率响应。(1)[h,w]=freqz(b,a,n) 可得到n点频率响应,这n个点均匀地分布在上半单位圆(即),并将这n点频率记录在w中,相应的频率响应记录在h中。n最好能取2的幂次方,如果缺省,则n=512。 (2)[h,w]=freqz(b,a,n,'whole') 在之间均匀选取n个点计算频率响应。 (3)[h,w]=freqz(b,a,n,Fs) Fs为采样频率(以Hz为单位),在0~Fs/2频率范围内选取n个频率点,计算相应的
6、频率响应。 (4)[h,w]=freqz(b,a,n,'whole',Fs) 在0~Fs之间均匀选取n个点计算频率响应。 (5)freqz(b,a) 可以直接得到系统的幅频和相频特性曲线。其中幅频特性以分贝的形式给出,频率特性曲线的横轴采用的是归一化频率,即Fs/2=1。3.系统的因果性和稳定性3.1因果性因果系统其单位脉冲响应序列h(n)一定是一个因果序列,其z域的条件是其系统函数H(z)的收敛域一定包含,即点不是极点,极点分布在某个圆内,收敛域在某个圆外。3.2稳定性系统稳定就要求,由序列的存
7、在条件和可以知道系统稳定的z域条件就是H(z)的收敛域包含单位圆,即极点全部分布在单位圆内部。由上3.1和3.2可知,利用系统的零极点分布图可以判断系统的因果性和稳定性。若在零极点分布图中,若系统的极点都分布在单位圆内,则此系统是因果系统,若有极点分布在单位圆外,则此系统是非因果系统。在MATLAB中可以利用zplane函数画出系统的零极点分布图。系统函数的零极点图的绘制:zplane(b,a)。其中b为系统函数的分子,a为系统函数的分母。4.系统的单位脉冲响应设系统的初始状态为零,系统对输入为单位脉冲序
8、列的响应输出称为系统的单位脉冲响应h(n)。对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。单位脉冲响应是系统的一种描述方法,若已知了系统的系统函数,可以利用系统得出系统的单位脉冲响应。在MATLAB中利用impz由函数函数求出单位脉冲响应h(n)。稳定系统的频率响应就是系统函数在单位圆上的取值,计算系统的频率响应,可将系统函数中的Z变量用代入即可得到。频率响应是一个复函数,其模叫幅度响应,其相角叫相位响应,它反映了输入序列的频谱经系统后所发生的变化规律。从幅频曲线上可直观看到各频
9、率分量的幅度变化情况,从相频曲线上可直观看到各频率分量的相移情况。根据频响曲线分析系统对信号频谱的影响,概念清楚、简单直观,对信号综合也意义重大,但要将一个较复杂的频率响应复函数转化成幅度响应和相位响应并图示,计算量大且容易出错,图示结果也不一定精确。利用MATLAB函数这些问题都迎刃而解。幅频特性,它指的是当w从0到变化时,的变化特性,记为A(w),相频特性,指的是当w从0到变化时,的变化特性称为相频特性,记为。离散系统的幅频特性曲线和相频特性曲线直观的反应了系统对不同频率的输入序列的处理情况。5.MA
10、TLAB的实现下面已知一个系统的系统函数为1.系统的频率响应clc;closeall;clearall;a=[1-0.3];b=[1-1.60.9425];[H,w]=freqz(a,b,'whole');subplot(2,1,1);plot(w/pi,abs(H));title('幅度谱');xlabel('omega/pi');ylabel('
11、H(e^j^omega)
12、');gridon;subplot(2,1,