数字信号处理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京信息工程大学数字信号处理实验报告
学院:电子与信息工程学院
班级:11通信1班
学号:20111334020
姓名:杨丹
指导教师:乔杰
2013/12/6
目录
实验一Matlab基本知识和信号处理工具箱 (3)
实验二离散信号的产生及分析 (5)
实验三离散傅立叶变换及分析 (8)
实验四IIR数字滤波器的分析与设计 (12)
实验五FIR数字滤波器的分析与设计 (14)
实验一 Matlab 基本知识和信号处理工具箱
一、实验目的
1、 了解Matlab 的基本操作
2、 了解Matlab 工具箱的函数
3、 正确使用Matlab 进行试验仿真
二、实验内容
(一)画出振荡曲线 和它的包络
程序如下:
t=0:pi/20:4*pi;
yy=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,'-r');
hold on
plot(t,yy,':b',t,-yy,':b');
grid on
shg
实验结果:
(二)sawtooth 产生锯齿波或三角波
在Matlab 命令窗口中输入以下命令,也可以用脚本文件来实现。
程序如下:
t=-10:0.1:10;
x=sawtooth(t);
)3sin(3/t e y t -=3/t e yy -=
plot(t,x)
grid on
Shg
实验结果:
三、实验小结
在本次实验中,了解了Matlab的基本操作,基本了解了信号处理工具箱的使用方法,能够进行简单的波形绘制。对波形代码参量有了基本的识别能力。
实验二 离散信号的产生及分析
一、实验目的
利用函数、脚本文件或在主命令窗口中编写离散信号命令
二、实验内容
(一)生成离散信号 并画出复序列x(n)的实部,虚部,幅值和相位图。
程序如下:
figure(1);clf
n=-15:24;alpha=-0.3+j*0.5;
x=exp(alpha.*n);
subplot(221);stem(n,real(x));title('real part');xlabel('n');
subplot(222);stem(n,imag(x));title('imaginary part');xlabel('n');
subplot(223);stem(n,abs(x));title('magnitude part');xlabel('n');
subplot(224);stem(n,angle(x)*180/pi);title('phase part');xlabel('n');
实验结果:
(二)请给出离散系统
的单位抽样响应和单位阶跃响应
2415,)()5.03.0(<≤-=+-n e n x n j )2(2)()2(7.0)1(3.0)(-+=-+--n x n x n y n y n y
程序如下:
a=[1,-0.3,0.7];
b=[1,0,2];
x=impseq(0,-20,120);
n=[-20:120];
h=filter(b,a,x);
subplot(211);
stem(n,h);
subplot(212);
axis([-20,120,-1.1,1.1]);
title('冲激响应');xlabel('n');ylabel('h(n)');
x=stepseq(0,-20,120);
s=filter(b,a,x);
subplot(212);
stem(n,s)
axis([-20,120,-0.5,3]);
title('阶跃响应');xlabel('n');ylabel('s(n)');
其中,impseq为单位冲激序列的生成函数,程序如下:function [x,n]=impseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)==0];
stepseq为单位阶跃序列的生成函数,程序如下:function [x,n]=stepseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)>=0];
实验结果:
(三)请给出序列 的频谱 要求数字频率范围为
程序如下:
n=-5:14;
x=(-0.5).^n;
k=-300:300;w=(pi/100)*k;
Xw=x*exp(-j*pi/100*n'*k);
magXw=abs(Xw);
angXw=angle(Xw);
subplot(211)
plot(w,magXw);grid
xlabel('frequency in units of pi');ylabel('|X|');
subplot(212)
plot(w,angXw);grid
xlabel('frequency in units of pi');ylabel('angle/pi')
实验结果:
三、实验小结
学习了离散信号的产生与分析,包括对其相位谱幅度谱的理解与分析。对Matlab 的编程有了一定的了解。能够进行简单的编程。
145,)5.0()(≤≤-=n n x n )(jw e X ππ33≤≤-w