华工电信数字信号处理实验LTI系统应用.docx
《华工电信数字信号处理实验LTI系统应用.docx》由会员分享,可在线阅读,更多相关《华工电信数字信号处理实验LTI系统应用.docx(16页珍藏版)》请在冰豆网上搜索。
![华工电信数字信号处理实验LTI系统应用.docx](https://file1.bdocx.com/fileroot1/2023-7/12/572c5f89-22fb-475e-89f1-1526db0848a8/572c5f89-22fb-475e-89f1-1526db0848a81.gif)
华工电信数字信号处理实验LTI系统应用
一、实验题目
1、用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应,再用卷积来计算任意信号作用于系统的响应。
求两个系统
各自的冲激响应,并且比较filter和conv
函数的区别
2、用函数[z,p,K]=tf2zp(num,den)求得有理分式形式的系统转移函数的零、极点,用函数zplane(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阶系统的并联,2阶系统的串联
3、设计不同长度的滑动平均滤波器,且分析该系统的频率响应,分析滤波器长度对信号平滑效果的影响,对输入和输出延迟的影响。
二、实验过程
第一题:
对于系统
:
(1)、实验代码:
a1=[1,,];
b1=[1,-1];
n=0:
10;
y=impz(b1,a1,10);
figure;
stem(y)
title('y1impz')
xlabel('x');
ylabel('y');
x1=[1zeros(1,10)];
y1filter=filter(b1,a1,x1);
figure
(2);
stem(n,y1filter);
title('y1filter');
xlabel('x');
ylabel('y');
x1=[1zeros(1,10)];
h=impz(b1,a1,10);
y1conv=conv(h,x1);
n=0:
19;
figure(3);
stem(n,y1conv,'filled')
title('y1conv')
xlabel('x');
ylabel('y');
(2)、实验效果图:
对于系统
:
(1)、实验代码:
a2=[1];
b2=[,1,1,1];
n=0:
10;
y=impz(b2,a2,10);
figure;
stem(y)
title('y2impz')
xlabel('x');
ylabel('y');
x1=[1zeros(1,10)];
y1filter=filter(b1,a1,x1);
figure;
stem(n,y1filter);
title('y2filter');
xlabel('x');
ylabel('y');
x1=[1zeros(1,10)];
h=impz(b2,a2,10);
y1conv=conv(h,x1);
n=0:
19;
figure;
stem(n,y1conv,'filled')
title('y2conv');
xlabel('x');
ylabel('y');
(2)、实验效果图:
结果分析:
y=impz(p,d,N)是用来实现冲激响应的,d表示差分方程输出y的系数,p表示输入x的系数,N表示冲激响应输出的序列个数。
y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。
当输入为单位冲激函数时,输出为系统的冲激响应,输出结果长度数等于x的长度。
而y=conv(x,h)是用来实现卷级的,对x序列和h序列进行卷积,当输入为单位冲激函数时,输出为系统的冲激响应,输出的结果个数等于x的长度与h的长度之和减去1。
第二题:
1、实验代码
num=[1];
den=[1];
[z,p,k]=tf2zp(num,den);
m=abs(p);
disp('零点');disp(z);
disp('极点');disp(p);
disp('增益系数');disp(k);
sos=zp2sos(z,p,k);
disp('二阶系统串联');disp(real(sos));
disp('一阶系统并联');
[r,p,k]=residuez(num,den)
figure
(1);
zplane(num,den)
figure
(2);
k=256;
num=[1];
den=[1];
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('弧度')
2、实验结果图
①零极点图:
具体参数如下:
零点:
、、+、-
极点:
+、-、+、-
增益系数:
1
②系统的频率响应:
结果分析:
由于系统的频率响应在0到π和π到2π是一样的,所以只需画出0到π的部分。
3、将系统转换成1阶系统的并联,2阶系统的串联
①二阶系统串联:
形如:
b0k+b1kz^-1+b2kz^-2
Hk(z)=----------------------------
1+a1kz^-1+a2kz^-2
②一阶系统并联:
r=+
-
-
+
p=+
-
+
-
k=
形如:
B(z)r
(1)r(n)
----=------------+...------------+k
(1)+k
(2)z^(-1)...
A(z)1-p
(1)z^(-1)1-p(n)z^(-1)
第三题:
1、M点滑动平均滤波器的实现方法为:
2、实现M点滑动平均滤波器以及滑动平均滤波器的频率响应的实验代码:
%s[n]是原信号,d[n]是噪声信号,
%x[n]是加噪声后的信号,y[n]是经滑动平均滤波器滤波后的加噪信号
R=50;%信号长度
d=rand(R,1);%噪声信号
m=0:
1:
R-1;%时间序号
s=2*m.*.^m);%原信号
x=s+d';%原信号加上噪声信号
subplot(2,1,1)
plot(m,d,'r',m,s,'b',m,x,'k');
title('原信号s[n],噪声信号d[n],加噪信号x[n]')
xlabel('时间/n');ylabel('幅度')
legend('d[n]','s[n]','x[n]');%标注
pause
M=input('输入滑动平均滤波器的长度=');
b=ones(M,1)/M;
y=filter(b,1,x);
subplot(2,1,2);
plot(m,s,'b',m,y,'r')
title('原信号s[n],滤波后的加噪信号y[n]')
legend('s[n]','y[n]');%标注
xlabel('时间/n');ylabel('幅度')
h1=ones(1,5)/5;h2=ones(1,14)/14;
[H1,w]=freqz(h1,1,256);
[H2,w]=freqz(h2,1,256);
m1=abs(H1);m2=abs(H2);
figure
plot(w/pi,m1,'r-',w/pi,m2,'b--');
ylabel('幅度');xlabel('ω/π');
legend('M=5','M=14');
ph1=angle(H1)*180/pi;ph2=angle(H2)*180/pi;
figure
plot(w/pi,ph1,w/pi,ph2);
ylabel('相位/度');xlabel('ω/π');
legend('M=5','M=14');
zplane(h1,[1]);
title('h1');
figure;
zplane(h2,[1]);
title('h2');
3、实验结果图
滑动平均滤波器长度M=3:
M=5:
M=7:
M=9:
结果分析:
随着滑动平均滤波器长度的增加,信号的平滑程度会提升,但是平滑后输出与含噪输之间的延迟会变得更加明显。
长度为5和14的滑动平均滤波器的幅度响应和相位响应:
结果分析:
从图中可以看出,在ω=0到ω=π的范围内,幅度在ω=0处具有极大值1,而在ω=2πk/M,k=1,2,…,「M/2」处为零。
相位函数在H(e^jω)的每个零点表现出相差π的不连续,而在其他地方呈线性且斜率为-(M-1)/2。
幅度函数和相位函数都是ω的周期函数,周期为π。
传输函数h1和h2的零极点图:
结果分析:
传输函数的极点都在单位圆内,说明该系统是稳定的。
三、心得体会:
这次的实验内容是LTI系统的分析,目的是要加深对LTI系统的理解以及分析。
总的来说,这次实验的难度是比较大的,主要的难点还是在第三题。
通过实验题目一了解了使用y=filter(p,d,x)实现差分方程的仿真,以及使用函数y=conv(x,h)计算卷积,还有用y=impz(p,d,N)求系统的冲激响应,通过结果分析,了解了各自的细微差别。
而在实验题目二中,我进一步了解了LTI系统的结果分析。
前两题都是比较常规的题目,比较大的难点还是在第三题。
这一题要求我们设计不同长度的滑动平均滤波器,且分析该系统的频率响应,分析滤波器长度对信号平滑效果的影响,对输入和输出延迟的影响。
这个需要我们上网查询资料,查找算法,当然,仔细看课本的相关内容也是非常必要的,由于这次实验前做的准备比较充分,在课堂上也比较认真地做,所以提前完成了全部的实验内容。
总的来说,通过这次实验增长了见识,让我了解了如何利用MATLAB对LTI系统进行分析,同时开拓了视野。