数字信号处理实验报告完整版.docx
《数字信号处理实验报告完整版.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告完整版.docx(13页珍藏版)》请在冰豆网上搜索。
数字信号处理实验报告完整版
实验一:
信号、系统及系统响应
一、实验目的:
通过该实验熟悉 matlab软件的基本操作指令,掌握matlab软件的使用方法,掌握数字信号处理中的基本原理、方法以及matlab函数的调用。
二、实验原理:
参考教材相关内容
三、实验步骤
1、典型信号及其MATLAB实现
(1)单位采样序列
函数x=zeros(1,N)
函数zeros生成全0矩阵;
格式:
B=zeros(m,n)生成m×n的全0阵
(2)单位阶跃序列
函数x=ones(1,N),
函数ones生成全1矩阵:
格式B=ones(m,n)生成m×n的全1阵。
(3)正弦序列
振幅为A、相位为φ
N=0:
N-1;
X=A*sin(2*pi*fn*Ts+fai);
2、线形卷积
MATLAB实现:
conv函数
格式:
y=conv(x,h)
说明:
conv(x,h)用于计算两个有限长序列的线性卷积;
x,h为已知两个有限长序列矢量
y为线性卷积所得的序列矢量
3、线性卷积2
根据下面的已知条件编写线形卷积程序,运行成功后将程序清单和生成的图形粘贴到实验报告中。
已知两个有限长序列:
求它们的线形卷积
4、实验内容
1.
(1)单位采样序列
%单位抽样序列实现程序
k=-30:
30
delta=[zeros(1,30),1,zeros(1,30)];
stem(k,delta)
MATLAB实现:
图1.单位冲激序列
1.
(2)单位阶跃序列
【例2】产生一个长度为N=100的单位阶越序列
N=100;
S=[ones(1,N)];
stem(0:
99,S);
axis([010002])
MATLAB实现:
图2.单位阶跃序列
1.(3)正弦序列
【例3】产生一个正弦序列
n=0:
40;
f=0.1;
phase=0;
A=1.5;
arg=2*pi*f*n-phase;
x=A*cos(arg);
stem(n,x);
axis([040-22]);
Grid
MATLAB实现:
图3.正弦序列
2.线性卷积
【例4】:
clear;
N=5;
M=6;
L=N+M-1;
x=[1,2,3,4,5];
h=[6,2,3,6,4,2];
y=conv(x,h);
nx=0:
N-1;
nh=0:
M-1;
ny=0:
L-1;
subplot(2,3,1);
stem(nx,x,'.k');xlabel('n');ylabel('x(n)');gridon;
subplot(2,3,2);
stem(nh,h,'.k');xlabel('n');ylabel('h(n)');gridon;
subplot(2,3,3);
stem(ny,y,'.k');xlabel('n');ylabel('y(n)');gridon;
MATLAB实现:
图4.线性卷积
3.线性卷积2
已知两个有限长序列:
求它们的线形卷积
clear;
N=12;
M=6;
L=N+M-1;
x=[1,0.8,0.8^2,0.8^3,0.8^4,0.8^5,0.8^6,0.8^7,0.8^8,0.8^9,0.8^10,0.8^11];
h=[1,1,1,1,1,1];
y=conv(x,h);
nx=0:
N-1;
nh=0:
M-1;
ny=0:
L-1;
subplot(1,3,1);
stem(nx,x,'.k');xlabel('n');ylabel('x(n)');gridon;
subplot(1,3,2);
stem(nh,h,'.k');xlabel('n');ylabel('h(n)');gridon;
subplot(1,3,3);
stem(ny,y,'.k');xlabel('n');ylabel('y(n)');gridon;
MATLAB实现:
图5.待求的线性卷积
实验二用FFT作谱分析
一、实验目的
1、进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一
种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。
2、熟悉FFT算法原理和FFT子程序的应用。
3、学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二、实验原理
参考教材
三、实验步骤、内容
1、编写FFT谱分析程序
(1)
(2)
要求:
N=8,16时的程序清单,并绘制出其幅频特性曲线。
2、回答当N=8,16时其幅频特性曲线有何区别。
四、实验代码
五、n1=0:
7;
六、x1=cos(n1*pi/4);
七、i=0:
7;
八、subplot(3,3,1);stem(i,x1,'.');
九、axis([07-11]);
一十、xlabel('
(1).x1=cos(n1*pi/4)');ylabel('x1(n)');
一十一、y1=fft(x1,8);
一十二、subplot(3,3,4);stem(i,abs(y1),'.');
一十三、xlabel('(N=8)');ylabel('X1(K)');
一十四、y1=fft(x1,16);
一十五、i=0:
15;
一十六、subplot(3,3,7);
一十七、stem(i,abs(y1),'.');
一十八、axis([01504]);
一十九、xlabel('(N=16)');ylabel('X1(K)');
二十、
二十一、n2=0:
7;
二十二、x2=sin(n2*pi/8);
二十三、i2=0:
7;
二十四、subplot(3,3,2);stem(i2,x1,'.');
二十五、axis([07-11]);
二十六、xlabel('
(2).x2=sin(n2*pi/8),n=0:
7');ylabel('x2(n)');
二十七、y2=fft(x2,8);
二十八、subplot(3,3,5);stem(i2,abs(y2),'.');
二十九、xlabel('(N=8)');ylabel('X2(K)');
三十、y2=fft(x2,16);
三十一、i2=0:
15;
三十二、subplot(3,3,8);
三十三、stem(i2,abs(y2),'.');
三十四、axis([01504]);
三十五、xlabel('(N=16)');ylabel('X2(K)');
三十六、
三十七、n3=0:
15;
三十八、x3=sin(n3*pi/8);
三十九、i3=0:
15;
四十、subplot(3,3,3);stem(i3,x3,'.');
四十一、axis([016-11]);
四十二、xlabel('
(2).x3=sin(n3*pi/8),n3=0:
15');ylabel('x3(n)');
四十三、y3=fft(x3,16);
四十四、subplot(3,3,6);stem(i3,abs(y3),'.');
四十五、xlabel('(N=16)');ylabel('X3(K)');
四十六、y3=fft(x3,32);
四十七、i3=0:
31;
四十八、subplot(3,3,9);
四十九、stem(i3,abs(y3),'.');
五十、axis([032010]);
五十一、xlabel('(N=32)');ylabel('X3(K)');
五、实验结果
实验三巴特沃斯低通滤波器设计
一、实验目的
1、熟悉用设计巴特沃斯低通滤波器的原理与方法;
2、掌握数字滤波器的计算机仿真方法;
3、学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
二、实验要求
(1)利用MATLAB编程,画出频率响应曲线
(2)改变阻带截止频率为10KHz,8KHz,,并画出频率响应曲线
(3)比较不同的阻带截止频率所画出频率响应曲线
(4)作业:
习题6-1编程。
三、实验代码
(1)fs=10kHz
wp=2*pi*6000;ws=2*pi*10000;Rp=3;As=25;
%设置滤波器参数
[N,wc]=buttord(wp,ws,Rp,As,'s')
%计算滤波器阶数N和3dB截止频率
[B,A]=butter(N,wc,'s')
%计算滤波器系统函数分子分母多项式系数
k=0:
511;fk=0:
14000/512:
14000;wk=2*pi*fk;
Hk=freqs(B,A,wk)
subplot(2,2,1);
plot(fk/1000,20*log10(abs(Hk)));gridon
xlabel('fs=10kHz');ylabel('幅度(dB)')
axis([0,14,-40,5])
(2)fs=8kHz
wp=2*pi*6000;ws=2*pi*8000;Rp=3;As=25;
%设置滤波器参数
[N,wc]=buttord(wp,ws,Rp,As,'s')
%计算滤波器阶数N和3dB截止频率
[B,A]=butter(N,wc,'s')
%计算滤波器系统函数分子分母多项式系数
k=0:
511;fk=0:
14000/512:
14000;wk=2*pi*fk;
Hk=freqs(B,A,wk)
subplot(2,2,1);
plot(fk/1000,20*log10(abs(Hk)));gridon
xlabel('fs=8kHz');ylabel('幅度(dB)')
axis([0,14,-40,5])
(3)fs=12kHz
wp=2*pi*6000;ws=2*pi*12000;Rp=3;As=25;
%设置滤波器参数
[N,wc]=buttord(wp,ws,Rp,As,'s')
%计算滤波器阶数N和3dB截止频率
[B,A]=butter(N,wc,'s')
%计算滤波器系统函数分子分母多项式系数
k=0:
511;fk=0:
14000/512:
14000;wk=2*pi*fk;
Hk=freqs(B,A,wk)
subplot(2,2,1);
plot(fk/1000,20*log10(abs(Hk)));gridon
xlabel('fs=12kHz');ylabel('幅度(dB)')
axis([0,14,-40,5])
(4)fs=14kHz
wp=2*pi*6000;ws=2*pi*14000;Rp=3;As=25;
%设置滤波器参数
[N,wc]=buttord(wp,ws,Rp,As,'s')
%计算滤波器阶数N和3dB截止频率
[B,A]=butter(N,wc,'s')
%计算滤波器系统函数分子分母多项式系数
k=0:
511;fk=0:
14000/512:
14000;wk=2*pi*fk;
Hk=freqs(B,A,wk)
subplot(2,2,1);
plot(fk/1000,20*log10(abs(Hk)));gridon
xlabel('fs=14kHz');ylabel('幅度(dB)')
axis([0,14,-40,5])
4、实验结果