数字信号处理实验报告Word文件下载.doc
《数字信号处理实验报告Word文件下载.doc》由会员分享,可在线阅读,更多相关《数字信号处理实验报告Word文件下载.doc(15页珍藏版)》请在冰点文库上搜索。
二、实验内容
(一)画出振荡曲线和它的包络
程序如下:
t=0:
pi/20:
4*pi;
yy=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,'
-r'
);
holdon
plot(t,yy,'
:
b'
t,-yy,'
gridon
shg
实验结果:
(二)sawtooth产生锯齿波或三角波
在Matlab命令窗口中输入以下命令,也可以用脚本文件来实现。
t=-10:
0.1:
10;
x=sawtooth(t);
plot(t,x)
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('
realpart'
xlabel('
n'
subplot(222);
stem(n,imag(x));
imaginarypart'
subplot(223);
stem(n,abs(x));
magnitudepart'
subplot(224);
stem(n,angle(x)*180/pi);
phasepart'
(二)请给出离散系统的单位抽样响应和单位阶跃响应
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]);
冲激响应'
ylabel('
h(n)'
x=stepseq(0,-20,120);
s=filter(b,a,x);
stem(n,s)
axis([-20,120,-0.5,3]);
阶跃响应'
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)
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
frequencyinunitsofpi'
|X|'
subplot(212)
plot(w,angXw);
angle/pi'
)
学习了离散信号的产生与分析,包括对其相位谱幅度谱的理解与分析。
对Matlab的编程有了一定的了解。
能够进行简单的编程。
实验三离散傅立叶变换及分析
1、正确使用Matlab进行仿真实验
2、能够正确理解与分析序列的离散傅里叶变换
二、实验内容
(一)
n=0:
1:
99;
x=cos(0.23*pi*n)+cos(0.34*pi*n);
n1=0:
19;
y1=x(1:
20);
stem(n1,y1);
长度为20的信号'
axis([0,10,-2.5,2.5]);
Y1=fft(y1);
magY1=abs(Y1(1:
6));
k1=0:
5;
w1=2*pi/10*k1;
stem(w1,magY1);
samplesofDTFTmagnitude'
freuencyinpi'
axis([0,pi,0,15]);
figure
(2)
n3=[0:
99];
y3=[x(1:
10),zeros(1,90)];
stem(n3,y3);
补零后的信号'
axis([0,100,-2.5,2.5]);
Y3=fft(y3);
magY3=abs(Y3(1:
51));
k3=0:
50;
w3=2*pi/100*k3;
plot(w3,magY3);
DTDTMagnitude'
frequencyinpi'
axis([0,pi,0,10]);
figure(3)
stem(n,x);
长度为100的信号x(n)'
axis([0,99,-2.5,2.5]);
X=fft(x);
magX=abs(X(1:
k=0:
w=2*pi/100*k;
plot(w,magX);
幅频响应'
axis([0,pi,0,60]);
(二)请利用DFT函数实现
并与直接线性卷积的结果比较,看是否一致。
n_x=0:
6;
xn=exp(-2*n_x);
hn=[-1,2,1,3];
n_h=0:
3;
xn_z=[xn,zeros(1,5)];
hn_z=[hn,zeros(1,8)];
Xk=fft(xn_z);
Hk=fft(hn_z);
Yk=Xk.*Hk;
yn=ifft(Yk);
n_y=0:
11;
yn_c=conv(xn,hn);
subplot(3,2,1)
stem(n_x,xn);
gridon;
x(n)'
subplot(3,2,2)
stem(n_h,hn);
subplot(3,1,2);
stem(n_y,yn);
利用DFT计算得到的y(n)'
subplot(313)
9;
stem(n_y,yn_c);
直接作线性卷积得到的y(n)'
学习了离散傅里叶变换的程序编写,了解了怎样求频率响应,掌握了计算物理分辨率和计算分辨率的方法,学会了用DFT方式进行卷积与直接线性卷积的的方法。
实验四IIR数字滤波器的分析与设计
正确使用Matlab进行IIR数字滤波器的仿真、分析与设计
(一)设数据采样率为900Hz,现在要设计一9阶的高通Butterworth型数字滤波器,截止频率为300Hz。
[b,a]=butter(9,300/450,’high’);
freqz(b,a,128,900)
(二)设计5阶的带阻切比雪夫II型数字滤波器,阻带为100Hz<
w<
200Hz,阻带比通带低20dB,系统采样频率为1000Hz。
Wn=[100200]/500;
[b,a]=cheby2(5,20,Wn,’stop’);
freqz(b,a,512,1000);
(三)设计一低通切比雪夫I型数字滤波器,通带范围0-100Hz,通带波纹3dB,阻带衰减-30dB,系统采样率为1000Hz。
Wp=100/500;
Ws=200/500;
[n,Wn]=cheb1ord(Wp,Ws,3,30);
[b,a]=cheby1(n,3,Wn);
实验五FIR数字滤波器的分析与设计
1、了解FTR数字滤波器的分析与设计
2、正确使用Matlab进行仿真
(一)设计一低通切比雪夫I型数字滤波器,通带范围0-100Hz,通带波纹3dB,阻带衰减-30dB,系统采样率为1000Hz
taper=chebwin(35,30);
b=fir1(34,0.1,taper);
freqz(b,1,512);
(二)两个频率为0.2pi和0.4pi的正弦信号叠加在一起,请用fir2函数设计一FIR滤波器将频率为0.2pi的正弦信号提取出来。
f=[00.80.81];
m=[1100];
b=fir2(100,f,m);
[h,w]=freqz(b,1,128);
plot(f,m,w/pi,abs(h));
通过本次学习,会利用Matlab进行FIR仿真,能够进行基本的分析,对滤波器设计有了一定的了解,加深了对理论知识的理解。
15