MATLAB仿真教程.docx
《MATLAB仿真教程.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真教程.docx(8页珍藏版)》请在冰豆网上搜索。
MATLAB仿真教程
MATLAB仿真教程
一、设计目的
通过运用MATLAB对函数进行Z域分析和单边带信号的调制与解调,使我们进一步加深对MATLAB的认识和运用,以实现以下目的:
1.本次试验进一步熟悉了MATLAB软件的使用方法及相关的操作。
2.对Z变换及其反变换函数在MATLAB中的调用有了掌握。
3.理论与实际的仿真相结合,更直观的看到结果。
4.观察了单边带信号调制与解调后的图像,加深认识。
二、设计原理
MATLAB是TheMathWorks公司在1984年推出的一种商品化软件,它提供了大量丰富的应用函数,并且具有扩充的开放性结构。
目前,该软件包涵盖了控制系统应用、数字信号处理、数字图像处理、通讯、神经网络、小波理论分析、优化与统计、偏微分方程、动态系统实时仿真等多学科专业领域。
其中单边带调制信号是将双边带信号中的一个边带滤掉而形成的。
根据方法的不同,产生单边带调制信号的方法有:
滤波和相移法。
由于滤波法在技术上比较难实现所以在此我们将用相移法对单边带调制与解调系统进行讨论与设计。
三、设计内容和MATLAB图像
1、数字系统的响应
源代码如下:
b=[01210];
a=[10];
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);
[hw]=freqz(b,a,21);
subplot(424);stem(n,y1);
title('零输入响应');gridon;
subplot(425);stem(n,y2);
title('零状态响应');gridon;
subplot(426);stem(n,y3);
title('系统的全响应');gridon;
subplot(427);plot(w,abs(h));
title('幅频特性曲线');gridon;
subplot(428);plot(w,angle(h));
title('相频特性曲线');gridon;
MATLAB运行结果图样:
本次课题分析:
在系统的零极点分布图中,符号“○”表示零点,符号“○”旁边的数字表示零点的阶数,符号“ⅹ”表示极点,图中的虚线画的是单位圆。
由系统的零极点分布图可以看出,该因果系统的点全在单位圆内,故该离散时间系统是稳定的。
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运行结果图样:
本次课题分析:
调制信号图形基本相同,但是幅度发生了变化,将幅度进行调整,即可得到基本相同的调制信号,根据由傅立叶变换得到的频谱进行分析,结果基本符合调制原理,但是由于各种噪声以及误差的影响,部分地方有失真。
四、设计心得
本设计要求采用matlab软件工具实现对信号进行Z域分析及模拟调制和解调,并且绘制出相关的图形。
为了较高质量的完成设计要求,在看了设计题目后,首先针对题目进行分析,将设计模块化,一步一步的实现功能,再将各个模块联合起来,达到设计要求,所涉及的波形,频谱及相关函数做了研究,在大体上把握设计的流程以及思路。
再通过查阅相关资料,能对相关的知识做正确的记录,以便随时查看。
在问题的分析阶段中,就原始信号的频率和载波信号的频率做了比较,确定了具体的方案后,在针对matlab中的有关画图处理函数进行学习和分析,这样就提高了学习的针对性,同时节约了设计的时间。
在设计过程中,也遇到了许多的困难。
但在同学们的帮助下,最终解决了问题。
此外在分析所设计的图中,根据相关的通信原理知识可以对结果作出判断,这样就提高了自己的相关知识,同时加深了对matlab的运用。
通过查阅相关资料,将学习中的内容进行联系思考,对学习很大的提升,在设计中的种种尝试也是对理论用于实践的一定尝试,这对于以后的学习有更深的帮助和提高。
五、参考文献
1、赵鸿图.通信原理MATLAB仿真教程.人民邮电出版社
2、樊昌信.通信原理[M].北京:
国防工业出版社