河南理工大学万方科技学院
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计目的
通过运用MATLAB对函数进行Z域分析和单边带信号的调制与解调,使我们进一步加深对MATLAB的认识和运用,以实现以下目的:
1.本次试验进一步熟悉了MATLAB软件的使用方法及相关的操作。
2.对Z变换及其反变换函数在MATLAB中的调用有了掌握。
3.理论与实际的仿真相结合,更直观的看到结果。
4.观察了单边带信号调制与解调后的图像,加深认识。
二、设计原理
MATLAB是The MathWorks公司在1984年推出的一种商品化软件,它提供了大量丰富的应用函数,并且具有扩充的开放性结构。目前,该软件包涵盖了控制系统应用、数字信号处理、数字图像处理、通讯、神经网络、小波理论分析、优化与统计、偏微分方程、动态系统实时仿真等多学科专业领域。
其中单边带调制信号是将双边带信号中的一个边带滤掉而形成的。根据方法的不同,产生单边带调制信号的方法有:滤波和相移法。
由于滤波法在技术上比较难实现所以在此我们将用相移法对单边带调制与解调系统进行讨论与设计。
三、设计内容和MATLAB图像
1、数字系统的响应
源代码如下:
b=[0 1 2 1 0];
a=[1 0 ]; subplot(421);zplane(b,a); title('系统的零极点图'); subplot(422);impz(b,a,21); title('单位脉冲响应'); subplot(423);stepz(b,a,21); title('单位阶跃响应');
N=21;n=0:N-1;
x=exp(-n);
x0=zeros(1,N);
y0=[1,-1];
xi=filtic(b,a,y0);
y1=filter(b,a,x0,xi);
xi0=filtic(b,a,0);
y2=filter(b,a,x,xi0);
y3=filter(b,a,x,xi);
[h w]=freqz(b,a,21);
subplot(424);stem(n,y1);
title('零输入响应');grid on; subplot(425);stem(n,y2);
title('零状态响应');grid on; subplot(426);stem(n,y3);
title('系统的全响应');grid on; subplot(427);plot(w,abs(h)); title('幅频特性曲线');grid on; subplot(428);plot(w,angle(h)); title('相频特性曲线');grid on;
MATLAB运行结果图样:
-2
02
Real Part I m a g i n a r y P a r t
系统的零极点图0
5
101520
n (samples) A m p l i t u d e
单位脉冲响应
n (samples) A m p l i t u d e
单位阶跃响
应
05101520
零输入响
应
5101520
零状态响
应
5101520
系统的全响应
1
2
3
510幅频特性曲线
0123
-5
05相频特性曲线
本次课题分析:
在系统的零极点分布图中,符号“○”表示零点,符号“○”旁边的数字表示零点的阶数,符号“ⅹ”表示极点,图中的虚线画的是单位圆。由系统的零极点分布图可以看出,该因果系统的点全在单位圆内,故该离散时间系统是稳定的。
2、单边带调制与解调
源代码如下:
dt=;
fs=1/dt;
t=:dt:;
fc=250;
m=sinc(200*t);
m=m.*m;
subplot(421);plot(t,m); axis([ ]);
title('原始信号');
c=cos(2*pi*fc.*t);
d=sin(2*pi*fc.*t);
u=(m.*c-imag(hilbert(m)).*d)/2; v=(m.*c+imag(hilbert(m)).*d)/2; subplot(422);plot(t,u,'r');
axis([ ]);
title('上边带调制信号'); subplot(423);plot(t,v);
title('下边带调制信号');
axis([ ]);
F_m=dt*fft(m);
F_u=dt*fft(u);
F_v=dt*fft(v);
f=linspace(-fs/2,fs/2,length(m)); subplot(424);
plot(f,abs(fftshift(F_m)));
title('原始信号频谱');
subplot(425);
plot(f,abs(fftshift(F_u)));
title('上边带调制信号频谱'); subplot(426);
plot(f,abs(fftshift(F_v)));
title('下边带调制信号频谱');
y=v.*c;
F_y=dt*fft(y);
subplot(427);
plot(f,abs(F_y));
title('解调信号频谱');
H=zeros(size(f));
f_cutoff=100;
l=fs/length(m);
n=floor(f_cutoff/l);
H(1:n)=4*ones(1,n);
l1=length(m)-n;
H(length(m)-n:length(m)-1)=4*ones(1,n); Z=F_y.*H;
z=fs*real(ifft(Z));
subplot(428);
plot(t,z);
axis([ ]);
title('解调信号');
MATLAB运行结果图样: