1、信号的表示与信号的运算信号的表示与信号的运算班 级: 通信 序 号: 学生姓名: 学 号: 指导教师: 完成日期: 2016年6月22日 实验四:信号的表示与信号的运算一、实验目的学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统分析奠定基础。 二、相关知识点1连续信号的产生2离散信号的产生及基本运算三、实验原理、方法和手段MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。这些基本信号是信号处理的基础。1连续信号的产生(1)阶跃信号 产生阶跃信号的MATLAB程序如下: t= -2: 0.02: 6;
2、 x=(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, 相位为/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、关于t=0
3、对称的矩形脉冲信号。 产生高度为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=zeros(1,7),1,zeros(
4、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)白噪声序列 白噪声序列在信号处理中是常用的序列。函数rand可产生在
5、0,1区间均匀分布的白噪声序列,函数randn可产生均值为0,方差为1的高斯分布白噪声。 N=20;k=0:N-1;x=rand (1,N)stem(k,x); 3离散序列的基本运算 信号的运算是数字信号处理的重要内容。对输入信号按指定的算法进行运算以提取有用信息,而这些算法可以分解为若干基本运算。离散信号的基本运算主要包括:信号的加、乘、移位、翻转、卷积、相关等。这些运算的MATLAB实现方法如下表:四、实验条件计算机一台,MATLAB软件。五、实验步骤及结果测试1利用MATLAB产生下列信号并作图。(1) ,并完成x(t+5),x(-t),x(3t)的波形。MATLAB程序:% x(t+5
6、)clct= -10:1/500:10;x=sinc(t+5)/pi);plot(t,x); 结果: MATLAB程序:% x(-t) clc t= -10:1/500:10; x=sinc(t/pi); y=fliplr(x); plot(t,y);结果:MATLAB程序:% % x(3t) clc t= -10:1/500:10; x=sinc(3*t/pi); plot(t,x);结果:(2) x(t)=cos(100t)*cos(2000t)MATLAB程序: t= -0.1:0.0001:0.1; x=cos(100*t)+cos(2000*t); plot(t,x); title(
7、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)结果:(4),绘出波形并计算其总能量MATLAB程序:k=-19:20;x=(0.9).k).*sin(0.25*pi*k)+cos(0.25*pi*k);stem(k,x)E=sum(abs(x).2);fprintf(E=%2.16fn,E);结果:已知序列:,计算离散序列的卷积和yk=xk*hk,并绘出其波形;MATLAB程序:k=-2:3;x=2,2,1,-1,4,2;k=0:2;h=2,-1,1;y=conv(x,h);k=-2:5;stem(k,y)结果:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1