数字信号处理实验.docx
- 文档编号:2856993
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:18
- 大小:118.68KB
数字信号处理实验.docx
《数字信号处理实验.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验.docx(18页珍藏版)》请在冰豆网上搜索。
数字信号处理实验
实验一:
系统及响应时域采样及频域采样
1.实验目的
(1)掌握用卷积求系统响应及卷积定理的验证;
(2)掌握连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(3)掌握频域采样引起时域周期化概念,加深对频域采样定理的理解。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
3.实验内容及步骤
(1)认真复习卷积定理、时域采样和频域采样理论。
(2)编制实验用主程序及相应子程序。
①系统单位脉冲响应序列产生子程序。
有限长序列线性卷积子程序,
用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB语言中的卷积函数conv。
conv用于两个有限长度序列的卷积,它假定两个序列
都从n=0开始。
调用格式如下:
y=conv(x,h)
②卷积定理的验证。
(3)时域采样定理的验证:
信号产生子程序,用于产生实验中要用到的下列信号序列:
xa(t)=Ae-atsin(Ω0t)u(t)
进行采样,可得到采样序列
xa(n)=xa(nT)=Ae-anTsin(Ω0nT)u(n),0≤n<50
其中A为幅度因子,a为衰减因子,Ω0是模拟角频率,T为采样间隔。
这些参数都要在实验过程中由键盘输入,产生不同的xa(t)和xa(n)。
>>%1时域采样序列分析
A=400;a=200;w=200;
n=0:
50-1;fs=1000;
xa=A*exp((-a)*n/fs).*sin(w*n/fs);
k=-200:
200;w=(pi/100)*k;
Xk=fft(xa,length(k));magX=abs(Xk);angX=angle(Xk);
subplot(2,1,1);
stem(n,xa,'.');xlabel('n');ylabel('xa(n)');
title('信号的类型');
subplot(2,1,2);plot(w/pi,magX);xlabel('w/pi');
ylabel('|Yjw|');title('Y(|jw|)');
(4)频域采样定理的验证:
>>%1时域采样序列分析fs=1000
A=400;a=200;w=200;;
ts=64*10^(-3);fs=1000;T=1/fs;
n=0:
ts/T-1;xn=A*exp((-a)*n/fs).*sin(w*n/fs);
Xk=fft(xn);
subplot(3,2,1);stem(n,xn);xlabel('n,fs=1000Hz');ylabel('xn');title('xn');
subplot(3,2,2);plot(n,abs(Xk));xlabel('k,fs=1000Hz');title('|X(k)|');
>>%频域采样定理验证
M=26;N=32;n=0:
M;n1=0:
13;x1=n1+1;
n2=14:
26;x2=27-n2;
x=[x1,x2];Xk=fft(x,512);
X32k=fft(x,32);
k=0:
511;w=(pi/512)*k;
subplot(321);stem(n,x);xlabel('n');
ylabel('xn');axis([0,31,0,15]);
subplot(322);plot(w,abs(Xk));xlabel('k');
ylabel('|X(k)|');axis([0,1,0,200])
X16k=X32k(1:
2:
N);
x32n=ifft(X32k);x16n=ifft(X16k,16);
k1=0:
31;k2=0:
15;
subplot(323);stem(k1,abs(X32k));xlabel('k');
ylabel('X32k');axis([0,31,0,200]);
subplot(325);stem(k2,abs(X16k));xlabel('k');
ylabel('|X(k)|');axis([0,15,0,200])
n=0:
31;
subplot(324);stem(n,abs(x32n));xlabel('n');
ylabel('|x(n)|');axis([0,31,0,15])
n1=0:
15;
subplot(326);stem(n1,abs(x16n));xlabel('n');
ylabel('|x(n)|');axis([0,31,0,15])
实验二:
用FFT作谱分析
1.实验目的
(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。
(2)熟悉FFT算法原理和FFT子程序的应用。
(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
2.实验步骤
(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。
(2)复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图,读懂本实验提供的FFT子程序。
(3)编制信号产生子程序,产生以下典型信号供谱分析用:
(4)编写程序。
(5)按实验内容要求,上机实验,并写出实验报告。
>>%ex3main1.m
x1=[11110000];
x2=[12344321];
x3=[43211234];
x4=cos(0.25*pi*n);
N=8;n=0:
7;k=0:
7;
X1k=fft(x1,N);
subplot(2,2,1);stem(n,x1,'.');
xlabel('n');ylabel('|x1(n)|');
subplot(2,2,2);stem(k,abs(X1k),'.');
xlabel('k');ylabel('|X1(k)|');
X2k=fft(x2,N);
subplot(2,2,3);stem(n,x2,'.');
xlabel('n');ylabel('|x2(n)|');
subplot(2,2,4);stem(k,abs(X2k),'.');
xlabel('k');ylabel('|X2(k)|');
>>x1=[11110000];
x2=[12344321];
x3=[43211234];
x4=cos(0.25*pi*n);
N=8;n=0:
7;k=0:
7;
figure
(2)
X3k=fft(x3,N);
subplot(2,2,1);stem(n,x3,'.');
xlabel('n');ylabel('|x3(n)|');
subplot(2,2,2);stem(k,abs(X3k),'.');
xlabel('k');ylabel('|X3(k)|');
X2k=fft(x4,N);
subplot(2,2,3);stem(n,x4,'.');
xlabel('n');ylabel('|x4(n)|');
subplot(2,2,4);stem(k,abs(X2k),'.');
xlabel('k');ylabel('|X4(k)|');
>>%ex3
(2)main
fs=64;N=16;
n=0:
N-1;k=n;
x5=cos(n*pi/4)+cos(n*pi/8);
x6=cos(8*pi*n/fs)+cos(16*pi*n/fs)+cos(20*pi*n/fs);
X5k=fft(x5,N);
X6k=fft(x6,N);
figure(3)
subplot(2,2,1);stem(n,x5,'.');
xlabel('n');ylabel('|x5(n)|');
subplot(2,2,2);stem(abs(X5k),'.');
xlabel('k');ylabel('|X5(k)|');
subplot(2,2,3);stem(n,x6,'.');
xlabel('n');ylabel('|x6(n)|');
subplot(2,2,4);stem(abs(X6k),'.');
xlabel('k');ylabel('|X6(k)|');
总结
通过这次实验我学到了:
1、MATLAB中程序的调试:
M文件中,按下F5设置断点,然后F10运行就可以调试自己需要的程序了。
2、时域采样定理,采样频率s必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠;频域采样原理,频域采样点数N必须大于等于时域离散信号的长度M(即N≥M),才能使时域不产生混叠。
在数字信号处理的应用中,只要涉及时域或者频域采样,都必须服从这两个采样理论。
并且可知“时域采样频谱周期延拓,频域采样时域信号周期延拓”。
3、周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。
实验三:
用双线性变换法设计
IIR数字滤波器
1.实验目的
(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法。
(2)掌握数字滤波器的计算机仿真方法。
(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。
2.实验内容
(1)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。
设计指标参数为:
在通带截止频率为0.2π,最大衰减为1dB;阻带截止频率为0.3π,最小衰减为15dB。
(2)以0.02π为采样间隔,打印出数字滤波器在频率区间[0,π/2]上的幅频响应特性曲线。
(3)用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。
(4)设计一个工作于采样频率5MHz的椭圆数字带通滤波器,要求通带边界频率为560kHz和780kHz,通带最大衰减为1dB,阻带边界频率为375kHz和1MHz,阻带最小衰减为50dB,调用MATLAB工具箱ellipord和ellip设计,并显示数字滤波器的系统函数H(z)的系数,绘出幅频特性和相频特性。
(5)设计一个工作于采样频率2500kHz的椭圆高通数字滤波器,要求通带边界频率为325kHz,通带最大衰减为1dB,阻带边界频率为225kHz,阻带最小衰减为40dB,调用MATLAB工具箱ellipord和ellip设计,并显示数字滤波器的系统函数H(z)的系数,绘出幅频特性和相频特性。
3.实验步骤
(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容
(2)编写滤波器仿真程序,计算H(z)对心电图信号采样序列x(n)的响应序列y(n)
(3)在通用计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容
(2)到(5)。
4.思考题
用双线性变换法设计数字滤波器过程中,变换公式
中T的取值,对设计结果有无影响?
为什么?
5.实验报告要求
(1)简述实验
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验