资源描述:
《信号表示和信号运算.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信号的表示与信号的运算班级:通信序号:学生姓名:学号:指导教师:完成日期:2016年6月22日实验四:信号的表示与信号的运算一、实验目的学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统分析奠定基础。二、相关知识点1.连续信号的产生2.离散信号的产生及基本运算三、实验原理、方法和手段MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。这些基本信号是信号处理的基础。1.连续信号的产生(1)阶跃信号产生阶跃信号的MATLAB程序如下:t=-2:0.02:6;x
2、=(t>=0);plot(t,x);axis([-2,6,0,1.2]);(2)指数信号产生随时间衰减的指数信号的MATLAB程序如下:t=0:0.001:5;x=2*exp(-1*t);plot(t,x);(3)正弦信号利用MATLAB提供的函数cos和sin可产生正弦和余弦信号。产生一个幅度为2,频率为4Hz,相位为p/6的正弦信号的MATLAB程序如下:f0=4;w0=2*pi*f0;t=0:0.001:1;x=2*sin(w0*t+pi/6);plot(t,x);(4)矩形脉冲信号函数rectpulse(t,w)可产生高度为1、宽度为w、
3、关于t=0对称的矩形脉冲信号。产生高度为1、宽度为4、延时2秒的矩形脉冲信号的MATLAB程序如下:t=-2:0.02:6;x=rectpuls(t-2,4);plot(t,x);(5)抽样信号可使用函数sinc(x)计算抽样信号,函数sinc(x)的定义为,产生的MATLAB程序如下:t=-10:1/500:10;x=sinc(t/pi);plot(t,x);2.离散信号的产生(1)单位脉冲序列和单位阶跃序列函数zeros(1,n)可以生成单位脉冲序列,产生1行n列的由0组成的矩阵。产生单位脉冲序列的MATLAB程序如下:k=-4:20;x=[
4、zeros(1,7),1,zeros(1,17)];stem(k,x)函数ones(1,n)可以生成单位阶跃序列,产生1行n列的由1组成的矩阵。产生单位阶跃序列的MATLAB程序如下:k=-4:20;x=[zeros(1,7),ones(1,18)];stem(k,x)(2)指数序列产生离散指数序列的MATLAB程序如下:k=-5:15;x=0.3*(1/2).^k;stem(k,x);(3)正弦序列产生正弦序列的MATLAB程序如下:k=-10:10;omega=pi/3;x=0.5*sin(omega*k+pi/5);stem(k,x);(4
5、)白噪声序列白噪声序列在信号处理中是常用的序列。函数rand可产生在[0,1]区间均匀分布的白噪声序列,函数randn可产生均值为0,方差为1的高斯分布白噪声。N=20;k=0:N-1;x=rand(1,N)stem(k,x);3.离散序列的基本运算信号的运算是数字信号处理的重要内容。对输入信号按指定的算法进行运算以提取有用信息,而这些算法可以分解为若干基本运算。离散信号的基本运算主要包括:信号的加、乘、移位、翻转、卷积、相关等。这些运算的MATLAB实现方法如下表:四、实验条件计算机一台,MATLAB软件。五、实验步骤及结果测试1.利用MATL
6、AB产生下列信号并作图。(1),并完成x(t+5),x(-t),x(3t)的波形。MATLAB程序:%x(t+5)clct=-10:1/500:10;x=sinc((t+5)/pi);plot(t,x);结果:MATLAB程序:%x(-t)clct=-10:1/500:10;x=sinc(t/pi);y=fliplr(x);plot(t,y);结果:MATLAB程序:%%x(3t)clct=-10:1/500:10;x=sinc(3*t/pi);plot(t,x);结果:(2)x(t)=cos(100t)*cos(2000t)MATLAB程序:t
7、=-0.1:0.0001:0.1;x=cos(100*t)+cos(2000*t);plot(t,x);title('x=cos(100*t)+cos(2000*t)');结果:MATLAB程序:t=-0.1:0.0001:0.1;x=cos(100*t).*cos(2000*t);plot(t,x);title('x=cos(100*t)*cos(2000*t)');结果:(3)MATLAB程序:k=-14:15;x=[zeros(1,9),ones(1,11),zeros(1,10)];stem(k,x)结果:(3),绘出波形并计算其总能量M
8、ATLAB程序:k=-19:20;x=((0.9).^k).*[sin(0.25*pi*k)+cos(0.25*pi*k)];stem(