信号分析与处理实验报告实验一基本信号的产生.pdf
本科学生设计性实验报告 学号 姓名 学院 物理与电子信息 专业、班级 电子 实验课程名称 数字信号处理 教师及职称 开课学期 2011 至 2012 学年 下 学期 填报时间 2012 年 5 月 27 日 云南师范大学教务处编印 一、实验设计方案 实验序号 一 实验名称 基本信号的产生 实验时间 2012 年 3 月 22 日 实验室 同析三栋 1.实验目的 学习使用 Matlab 产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统设计奠定基础。2 实验原理、实验流程或装置示意图 Matlab 提供了很多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等。这些信号是信号处理的基础。3实验设备及材料 装有 Matlab 的计算机 一台 4实验方法步骤及注意事项 利用 Matlab 中的函数分析并绘出常用基本信号的波形。注意事项:(1)在使用 MATLAB 时应注意中英输入法的切换,在中文输入法输入程序时得到的程序是错误的;(2)MATLAB 中两个信号相乘表示为 x.*u,中间有个.,同样两个信号相除也是如此;(3)使用 MATLAB 编写程序时,应新建一个 m 文件,而不是直接在 Comandante 窗口下编写程序;在使用编程时,应该养成良好的编写习惯。5实验数据处理方法 比较法 画图法 6参考文献 陈后金,等.数字信号处理.2 版【M】.北京:高等教育出版社,2010 张德丰,等.MATLAB 数值计算与方法.北京:机械工业出版社,2010 二实验报告 1实验现象与结果 连续信号的产生 阶跃信号 ut t=-2:0.02:6;x=(t=0);plot(t,x);axis(-2,6,0,1.2);-2-1012345600.20.40.60.81 连续指数信号 xt=2t-e t=0:0.001:5;x=2*exp(-1*t);plot(t,x);00.511.522.533.544.5500.20.40.60.811.21.41.61.82 正弦信号 f0=4;w0=2*pi*f0;t=0:0.001:1;x=2*sin(w0*t+pi/6);plot(t,x);00.10.20.30.40.50.60.70.80.91-2-1.5-1-0.500.511.52 矩形脉冲信号 t=-2:0.02:6;x=rectpuls(t-2,4);plot(t,x)-2-1012345600.10.20.30.40.50.60.70.80.91 周期方波 f0=2;t=0: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);00.511.522.5-1.5-1-0.500.511.5 抽样函数 t=-10:1/500:10;x=sinc(t/pi);plot(t,x);-10-8-6-4-20246810-0.4-0.200.20.40.60.81 离散信号的产生 单位脉冲序列和单位阶跃序列 k=-4:20;x=zeros(1,7),1,zeros(1,17);stem(k,x);-50510152000.10.20.30.40.50.60.70.80.91 k=-4:20;x=zeros(1,7),1,ones(1,17);stem(k,x);-50510152000.10.20.30.40.50.60.70.80.91 指数序列 k=-5:15;x=0.3*(1/2).k;stem(k,x);-5051015012345678910 正弦序列 k=-10:10;omega=pi/3;x=0.5*sin(omega*k+pi/5);stem(k,x);-10-8-6-4-20246810-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5 离散周期方波 omega=pi/4;k=-10:10;x=square(omega*k,50);stem(k,x);-10-8-6-4-20246810-1-0.8-0.6-0.4-0.200.20.40.60.81 白噪声序列 N=20;k=0:N-1;x=rand(1,N);stem(k,x);0246810121416182000.10.20.30.40.50.60.70.80.91 练习题 1利用 Matla 产生下列信号并作图(1)x(t)=-2u(t-1),-1t=1);plot(t,x);axis(-1,5,-2.2,0.2)-1012345-2-1.5-1-0.50(2)x(t)=t)32(sine1.0-t,设 0t30;t=0:0.001:30;f0=1.*exp(-0.1.*t);w0=2/3;x=f0.*sin(t.*w0);plot(t,x);051015202530-0.6-0.4-0.200.20.40.60.8(3)x(t)=cos(100t)+cos(3000t),设-0.1t0.1 t=-0.1:0.001:0.1;w0=100;w1=3000;x=cos(w0*t)+cos(w1*t);plot(t,x);-0.1-0.08-0.06-0.04-0.0200.020.040.060.080.1-2-1.5-1-0.500.511.52 (4)x(t)=cos(0.1t)cos(0.8t),设 0t200;t=0:0.002:200;w0=0.1*pi;w1=0.8*pi;x=cos(w0*t).*cos(w1*t);plot(t,x);020406080100120140160180200-1-0.8-0.6-0.4-0.200.20.40.60.81 2.利用 Matlab 产生下列离散序列并作图(1)xk=其他,0,5k5-1,设1515-k k=-15:15;x=zeros(1,10),ones(1,11),zeros(1,10);stem(k,x);-15-10-505101500.10.20.30.40.50.60.70.80.91(2)xk=k0.9sin(0.25k)+cos(0.25k),设-20=0);X=(0.5).k.*Y;E=sum(abs(X).2)输出结果如下:E=1.3333 (2)分别计算序列前 10 点、前 20 点和前 30 点的总能量及占总能量的百分比 前 10 点程序如下:k=0:10;Y=(k=0);X=(0.5).k.*Y;E=sum(abs(X).2)输出结果如下:E=1.3333 前 20 点程序如下 k=0:20;Y=(k=0);X=(0.5).k.*Y;E=sum(abs(X).2)输出结果如下:E=1.3333 前 30 点 程序如下:k=0:30;Y=(k=0);X=(0.5).k.*Y;E=sum(abs(X).2)输出结果如下:E=1.3333 3.已知序列:xk1,2,0,-1,3,2;k=-2,-1,0,1,2,3,hk=1,-1,1;k=0,1,2。(1)计算离散序列的卷积和 yk=xk*hk,并绘出其波形 x=1,2,0,-1,3,2;h=1,-1,1;y=conv(x,h);subplot(1,1,1);stem(0:length(y)-1,y);title(yk);xlabel(k);01234567-2-101234ykk(2)计算离散序列的相关函数 Rxyk=nkk-yxk,并绘出其波形 x=1,2,0,-1,3,2;y=xcorr(x,x);subplot(1,1,1);m=(length(y)-1)/2;stem(-m:m,y);title(Rxxn);xlabel(n);-5-4-3-2-1012345-505101520Rxxnn 4.数字信号处理的应用之一是从含有加性噪声的信号中去除噪声。现有被噪声污染的信号 xk=sk+dk,式中:sk=cos(0.08k)为原始噪声;dk为均匀分布的白噪声。(1 分别产生 50 个点的序列 sk和白噪声序列 dk,将二者叠加生成 xk,并在同一张图上绘出 x0k,dk和 xk的序列波形。k=1:50;w0=0.08*pi;s=cos(w0*k);N=50;d=rand(1,N);x=s+d;subplot(3,1,1);stem(k,x);title(X);subplot(3,1,2);stem(k,d);title(D);subplot(3,1,3);stem(k,s);title(S);05101520253035404550-202X0510152025303540455000.51D05101520253035404550-101S (2)均值滤波可以有效的去除叠加在低频信号上的噪声。已知 3 点滑动平均数字滤波器的单位脉冲响应为 hk=1,1,1;k=0,1,2,计算 yk=xk*hk,在同一张纸上前 50 点yk/sk和 xk的波形,比较序列 yk和 sk h=1,1,1;y=conv(x,h);subplot(3,1,1);stem(0:length(y)-1,y);title(Y);subplot(3,1,2);stem(k,s);title(S);subplot(3,1,3);stem(k,x);title(X);0102030405060-10010Y05101520253035404550-101S05101520253035404550-202X 2实验总结 教师评语及评分:签名:年 月 日