
实验1 离散系统的时域分析.docx
21页实验 1 离散系统的时域分析、实验目的:加深对离散系统的差分方程、单位抽样响应和卷积分析方法的理解二、实验原理: 离散系统x(n)* Discrete-time systmey(n)其输入、输出关系可用以下差分方程描述:另 a y (n - k)二艺 b x (n - m)nmk = 0 m = 0输入信号分解为冲激信号,x (n) = y x (m )s (n - m)m = —g系统单位抽样序列 h(n), 则系统响应为如下的卷积计算式:y (n) = x (n) * h (n)= 工 x (m) h (n — m)m = —g当a0丰0 ak = °,k = 12...N时,h(n)是有限长度的(n:[0, M]),称系统为FIR 系统;反之,称系统为 IIR 系统三 、实验内容 编制程序求解下列两个系统的单位抽样响应,并绘出其图形⑴ y(n) + 0.75y(n -1) + 0.125 y(n - 2) = x(n) - x(n -1)⑵ y(n) = 0・25[x(n -1) + x(n - 2) + x(n - 3) + x(n - 4)(1)源程序:N=21;b=[1 -1];a=[1 0.75 0.125];x=[1 zeros(1,N-1)];n=0:1:N-1;y=filter(b,a,x);stem(n,y);xlabel('n');ylabel('幅度');title('单位抽样响应');图形:1.510.50度幅-0.5-1-1.5-20 2 4 6 8 10 12 14 16 18 20n(2)源程序:N=20;d=[0 0.25 0.25 0.25 0.25];c=[1];x=[1 zeros(1,N-1)];n=0:1:N-1;y=filter(d,c,x);stem(n,y);xlabel('n');ylabel('幅度');title('单位抽样响应');图形如下:实验 2 离散系统的频率响应分析和零、极点分布一、实验目的: 加深对离散系统的频率响应分析和零、极点分布的概念理解二、实验原理:离散系统的时域方程为为 a y (n - k)=nk = 0其变换域分析方法如下:y (n) = x(n) * h(n)=工 x(m) h(n - m) o Y(z) = X(z)H(z)m=—g系统函数为b° + b] z-1 +... + 〃m z -Ma o + a】z -] +... + a n z - NH (z) =「 分解因式 为艺 b z-mmm=0=K m=1c z-1)ma z -kkk=0k=1其中 c m 和 d 称为零、极点。
mk在MATLAB中,可以用函数[z,系统函数的零、极点,用函数 zplane(p,K]= tf2zp (num, den)求得有理分式形式的 z, p)绘出零、极点分布图;也可以用函数zplane (num, den )直接绘出有理分式形式的系统函数的零、极点分布图使 h二freqz(num,den,w)函数可求系统的频率响应,w是频率的计算点,如w=0:pi/255:pi, h是复数,abs(h)为幅度响应,angle(h)为相位响应另外,在MATLAB中,可以用函 数[r, p,k]二residuez(num,den)完成部分分式展开计算;可以用函数sos二zp2sos(z,p, K)完成将咼阶系统分解为2阶系统的串联三、实验内容 练习1求下列直接型系统函数的零、极点,并将它转换成二阶节形式1—0.匕一 L —0.?工4 —1 + O.lz"1 + 0.2z-3 +0.2z-3 +0.5z_+解 用MATLAB计算程序如下:num=[1 -0.1 -0.3 -0.3 -0.2]; den=[1 0.1 0.2 0.2 0.5];[z,p,k]=tf2zp(num,den);disp('零点');disp(z);disp('极点’);disp(p);disp('增益系数');disp(k); sos=zp2sos(z,p,k);disp('二阶节');disp(real(sos)); zplane(num,den)输入到“num”和“den”的分别为分子和分母多项式的系数。
计算求得零、极点 增益系数和二阶节的系数: 零点0.9615-0.5730-0.1443 + 0.5850i-0.1443 - 0.5850i 极点0.5276 + 0.6997i0.5276 - 0.6997i-0.5776 + 0.5635i-0.5776 - 0.5635i 增益系数1二阶节1.0000 -0.3885 -0.5509 1.0000 1.1552 0.65111.0000 0.2885 0.3630 1.0000 -1.0552 0.7679系统函数的二阶节形式为:_ 1—0.花茹k —0.第⑪k l+1.1552z-L +0.651 lz-3 立 _l + 0.2SS5z_1 +0.3630z-2 1-1.0552z_1 + 0.7679z-2极点图如右图2 差分方程y (n) + 0.7 y (n 一 1) 一 0.45 y (n 一 2) 一 0.6 y (n 一 3)=0.8 x(n) 一 0.44 x(n 一 1) + 0.36 x(n 一 2) + 0.02 x(n 一 3)所对应的系统的频率响应解:差分方程所对应的系统函数为0.8 - 0.44z -i + 0.36z-2 + 0.02z-31 + 0.7z-1 一 0.45z-2 一 0.6z -3用MATLAB计算的程序如下:k=256;num=[0.8 -0.44 0.36 0.02]; den=[1 0.7 -0.45 -0.6];w=0:pi/k:pi; h=freqz(num,den,w);subplot(2,2,1); plot(w/pi,real(h));grid title('实部')xlabel('\omega/\pi');ylabel('幅度') subplot(2,2,2);plot(w/pi,imag(h));grid title('虚部') xlabel('\omega/\pi');ylabel('Amplitude') subplot(2,2,3);plot(w/pi,abs(h));grid title('幅度谱') xlabel('\omega/\pi');ylabel('幅值') subplot(2,2,4);plot(w/pi,angle(h));grid title('相位谱') xlabel('\omega/\pi');ylabel('弧度')3求系统0.0528 + 0.0797 z-1 + 0.1295 z -2 + 0.1295z -3 + 0.0797z -4 + 0.0528z -51 -1.8107z-1 + 2.4947z-2 - 1.8801z-3 + 0.9537z-4 - 0.2336z-5零、极点和幅度频率响应和相位响应。
要求:绘出零、极点分布图,幅度频率响应和相位响应曲线源程序:num=[0.0528 0.0797 0.1295 0.1295 0.0797 0.0528] den=[1 -1.8107 2.4947 -1.8801 0.9537 -0.2336]; subplot(3,1,1);[z,p,k]=tf2zp(num,den);disp('零点');disp(z); disp('极点’);disp(p);disp('增益系数');disp(k); sos=zp2sos(z,p,k);disp('二阶节');disp(real(sos)); zplane(num,den)title('零极点分布')k=256;m二〔0.0528 0.0797 0.1295 0.1295 0.0797 0.0528 ]; n=[1 -1.8107 2.4947 -1.8801 0.9537 -0.2336]; w=0:pi/k:pi;h=freqz(m,n,w); subplot(3,2,3);plot(w/pi,real(h));grid title('实部') xlabel('\omega/\pi');ylabel('幅度') subplot(3,2,4);plot(w/pi,imag(h));grid title('虚部') xlabel('\omega/\pi');ylabel('Amplitude') subplot(3,2,5);plot(w/pi,abs(h));grid title('幅度谱') xlabel('\omega/\pi');ylabel('幅值') subplot(3,2,6);plot(w/pi,angle(h));grid title('相位谱') xlabel('\omega/\pi');ylabel('弧度,)实验结果零点N 八、、-1.0000-0.3018 + 0.9534i-0.3018 - 0.9534i0.0471 + 0.9989i0.0471 - 0.9989i 极点0.2788 + 0.8973i0.2788 - 0.8973i0.3811 + 0.6274i0.3811 - 0.6274i0.4910增益系数0.0528 二阶节0.05280.052801.0000-0.491001.00000.60361.00001.0000-0.76220.53891.0000-0.09411.00001.0000-0.55750.8829图形:traPyranigam-L L L7 受、、 1 J 1 -H 1■-r r r--jW r r r -零极点分布图edutilpm1度 幅 值 幅00-度弧实验3 FFT算法的应用一 、实验目的:加深对离散信号的 DFT 的理解及其 FFT 算法的运用二 、实验原理:N点序列的DFT和IDFT变换定义式如下:N — 1X (k ) = 2 x (n )W knN,n=0x(n) =1 N —1Nk=0X (k )W — knN.2兀Wnk = e j_Nn利用旋转因子 N 具有周期性,可以得到快速算法(FFT)。
在MATLAB中,可以用函数X=fft (x,N)和x=ifft(X,N)计算N点序列的DFT 正、反变换三、实验内容1. 对连续的单一频率周期信号按采样频率fS = 8f0采样,截取长度N分别选N =20 和N =16,观察其DFT结果的幅度谱x(n) = sin(Q t) I0 t =nT解此时离散序列:即 N=8sin(2兀nf / f ) = sin(2兀n / 8)0s用MATLAB计算并作图,函数fft用于计算离散傅里叶变换DFT,程序如下:q=8;k1=[0:1:19]; xa1=sin(2*pi*k1/q); subplot(2,2,1) plot(k1,xa1) 。
