DSP(数字信号处理)实验报告1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科学生实验报告
学号********* 姓名何胜金
学院物电学院专业、班级12电子
实验课程名称数字信号处理(实验)
教师及职称杨卫平
开课学期第三至第四学年下学期填报时间2015 年 3 月12 日
云南师范大学教务处编印
实验序号01 实验名称基本信号的产生
实验时间2015年3月12 实验室云南师范大学同析3栋数字信号处理实
验室
一.实验预习
1.实验目的
学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统设计奠定基础。。
2.实验原理、实验流程或装置示意图
MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等。这些基本信号是信号处理的基础。
1. 连续信号的产生
(1)阶跃信号
产生阶跃信号u(t)的MATLAB程序如下,运行结果如图1.1.1所
示。 t=-2:0.02:6; x=(t>=0); plot(t,x);
axis([-2,6,0,1.2]); 补充:
axis一般用来设置axes的样式,包括坐标轴范围,可读比例
等 axis([xmin xmax ymin ymax])
axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 坐标轴设置
(2)指数信号
产生随时间衰减的指数信号x(t)=2*e^(-t)的MATLAB程序如下,运
行结果如图1.1.2所示。 t=0:0.001:5; x=2*exp(-1*t); plot(t,x);
(3)正弦信号
利用MATLAB提供的函数sin和cos可产生正弦和余弦信号。产生一
个幅度为2,频率为4Hz,相位为pi\6的正弦信号的MATLAB程序如下,运行结果如图1.1.3所示。 f0=4;
w0=2*pi*f0; t=0:0.001:1;
x=2*sin(w0*t+pi/6); plot(t,x);
(4)矩形脉冲信号
函数rectpulse(t)可产生高度为1、宽度为1、关于t=0对称的矩形脉冲信号。
函数rectpulse(t,w))可产生高度为1、宽度为w、关于t=0对称的矩形脉冲信号。
产生高度为1、宽度为4、延时2s的矩形脉冲信号的MATLAB程序如下,运行结果如图1.1.4所示。 t=-2:0.02:6;
x=rectpuls(t-2,4); plot(t,x);
(5)周期方波
函数square(w0*t)产生基本频率为w0(周期T=2*PI\w0)的周期方波。函数square(w0*t,DUTY))产生基本频率为w0(周期T=2*PI\w0)、占空比DUTY=t\T*100的周期方波。T为一个周期中信号为正的时间长度。t=T\2,DUTY=50,square(w0*t,50)等同于square(w0*t)。
产生一个幅度为1,基频为2Hz,占空比为50%的周期方波的MATLAB程序如下,运行结果如图1.1.5所示。 f0=2;
t=0:.0001:2.5; w0=2*pi*f0;
y=square(w0*t,50);%duty cycle=50% plot(t,y);axis([0,2.5,-1.5,1.5]);
(6)抽样函数
使用MATLAB提供的函数sin(x)可计算抽样信号想x(t)=sint/t,函数sin(x)的定义为sin(x)=sin(pi*x)\pi*x.产生x(t)=sint/t信号的MATLAB程序如下,运行结果如图1.1.6所示。 t=-10:1/500:10; x=sinc(t/pi); plot(t,x);
2. 离散信号的产生(1)单位脉冲序列和单位阶跃序列
函数ones(1,n)和zeros(1,n)可以生成单位脉冲序列和单位阶跃序列。函数ones(1,n)产生1行n列的由1组成的矩阵;函数zeros(1,n) 产生1行n列的由0组成的矩阵。
产生单位脉冲序列&[k-3]的MATLAB程序如下,运行结果如图1.1.7所
示。 k=-4:20;
x=[zeros(1,7),1,zeros(1,17)]; stem(k,x)
产生单位阶跃序列u[k-3]的MATLAB程序如下,运行结果如图1.1.8所示。 k=-4:20; x=[zeros(1,7),ones(1,18)]; stem(k,x)
(2)指数序列
产生离散序列x[k]=0.5(3\4)^k的MATLAB程序如下,运行结果如图1.1.9所示。k=-5:15;
x=0.3*(1/2).^k; stem(k,x);
(3)正弦序列
产生正弦序列sin(pi*k/3+pi\5)的MATLAB程序如下,运行结果如图1.1.10所示。k=-10:10; omega=pi/3;
x=0.5*sin(omega*k+pi/5); stem(k,x);
(4)离散周期方波
产生幅度为1、基频o=pi/4rad、占空比为50%的周期方波的MATLAB程序如下,运行结果如图1.1.11所示。 omega=pi/4; k=-10:10;
x=square(omega*k,50); stem(k,x);
(5)白噪声序列
白噪声序列在信号处理中是常用的序列。函数rand可产生在[0,1]区间均匀分布的白噪声序列,函数rand可产生均值为0,方差为1的高斯分布的白噪声序列。
N=20;k=0:N-1; x=rand(1,N) stem(k,x);