100404334王鹏1.docx
- 文档编号:25088493
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:15
- 大小:151.63KB
100404334王鹏1.docx
《100404334王鹏1.docx》由会员分享,可在线阅读,更多相关《100404334王鹏1.docx(15页珍藏版)》请在冰豆网上搜索。
100404334王鹏1
数字信号处理实验一:
信号及系统的谱分析
学号100404334姓名王鹏
注:
1)此次实验作为《数字信号处理》课程实验成绩的重要依据,请同学们认真、独立完成,不得抄袭。
2)请在授课教师规定的时间内完成;
3)完成作业后,请以word格式保存,文件名为:
学号+姓名
4)请通读全文,依据第2及第3两部分内容,认真填写第4部分所需的实验数据,并完成实验分析。
5)需将这次实验的内容给出一个纸质报告(31-40号)。
全体将报告的电子版交给班长以便实验结束后刻成光盘
1.实验目的
(1)熟练利用DFT计算公式对信号进行谱分析,加深DFT算法原理和基本性质的理解。
(2)利用卷积方法计算信号经过离散系统输出响应,并观察输出信号的频谱变化。
(3)熟悉FFT算法原理和FFT子程序的应用,掌握利用函数fft.m对离散信号及系统响应进行频域分析。
(4)理解并掌握利用FFT实现线性卷积的方法。
了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
2.实验原理与方法
1)离散傅里叶变换(DFT)的基本原理
离散傅里叶变换(DFT)是分析有限长序列频谱成分的重要工具,在信号处理的理论上有重要意义。
因为其可以在计算机上实现谱分析、卷积、相关等主要的信号频谱分析过程,因此DFT的快速算法得到了广泛的应用。
实现DFT的基本计算公式如下:
2)系统响应信号的时域分析(卷积运算)
离散信号输入离散系统后,若系统起始状态为0,则系统的响应输出是
其方框图表示如下:
离散系统
h(n)
图1
在matlab中计算卷积的函数为y=conv(x,h)。
3)FFT实现线性卷积的快速计算
设一离散线性移不变系统的冲激响应为,长度为L点;其输入信号为,长度为M点;其输出为,长度为M+L-1点。
当满足一定条件时,有限长序列的线性卷积可用圆周卷积和来代替,而圆周卷积可用FFT来计算,从而可以大大提高运算速度。
用FFT实现线性卷积计算的具体步骤:
(1)有限长序列和补零值点,至长度为大于或等于M+L-1点,且为,
r为整数。
(2)求,N点DFT,用FFT快速算法实现;
(3)求,N点DFT,用FFT快速算法实现;
(4)计算;
(5)求N点IDFT,用IFFT快速算法完成。
3.实验内容及步骤
某系统的单位样值响应为:
,
信号x(n)=(SIN(ω1n)+COS(ω2n))R1023(n),
输入该系统后,输出的响应信号为y(n)。
请认真复习离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读上述实验原理与方法,编制2个程序文件完成如下2部分实验内容。
一)利用函数y=conv(x,h)求解响
应信号y(n)(流程图见图2)
要求:
a)利用函数y=conv(x,h)
求解响应信号y(n);
b)利用DFT的计算
公式对x(n),h(n)和y(n)DFT计算;
图2
在第一个图形框内给出x(n)的波形图和频谱图X(K),在第二个图形框内给出h(n)的波形图和频谱图H(K),在第三个图形框内给出y(n)的波形图和频谱图Y(K);在第四个图形框内给出X(K),H(K)和Y(K)的频谱图,并分析这3张频谱图的关系。
c)给出程序内容
d)统计程序运行时间T1。
注意:
a)dft.m为学生自己编写的自定义函数文件,根据DFT运算的计算公式完成
xk=DFT(xn)功能,xk为时间序列xn的DFT变换xk。
b)dft.m可参考<数字信号处理>教材P117的例题3-6自行理解并修改为函数文件
二)利用FFT实现线性卷积计算(流程图见图3)
要求:
a)利用FFT实现线性卷积计算的步骤编写程序求解y(n)
在第一个图形框内给出x(n)的波形图和频谱图X(K),在第二个图形框内给出h(n)的波形图和频谱图H(K),在第三个图形框内给出y(n)的波形图和频谱图Y(K);在第四个图形框内给出X(K),H(K)和Y(K)的频谱图,并分析这3张频谱图的关系。
c)给出程序内容
clc,close,clear
tic
n=0:
1022;
x=(sin(0.08*pi*n)+cos(0.4*pi*n));
figure
(1);plot(abs(x));title('xn');
N=2048;
XK=fft(x,N);
figure
(2);plot(abs(XK));title('XK');
m=0:
1000;
h=0.15*sinc(0.15*(m-500));
figure;
figure(3);plot(abs(h));title('hn');
HK=fft(h,N);
figure(4);plot(abs(HK));title('HK');
YK=XK.*HK;
figure;
y=ifft(YK);
figure(5);plot(abs(y));title('yn');
figure(6);plot(abs(YK));title('YK');
toc
d)统计程序运行时间T2。
图3
4.实验数据及分析
实验数据:
一、利用函数y=conv(x,h)求解响应信号y(n)
1)将yn1和Xk1、Hk1及Yk1存为dft1.mat文件上交;
2)按要求给出相关的图形xn1和Xk1、hn1和Hk1及yn1和Yk1
3)程序内容:
(包括主程序和函数文件dft.m)
4)运行时间T1=
二、利用FFT实现线性卷积计算
1)将yn2和Xk2、Hk2及Yk2存为fft1.mat文件上交;
2)按要求给出相关的图形xn2和Xk2、hn2和Hk2及yn2和Yk2
Figure
(1)
Figure
(2)
Figure(3)
Figure4
Figure5
Figure6
3)程序内容:
(主程序)
clc,close,clear
tic
n=0:
1022;
x=(sin(0.08*pi*n)+cos(0.4*pi*n));
figure
(1);plot(abs(x));title('xn');
N=2048;
XK=fft(x,N);
figure
(2);plot(abs(XK));title('XK');
m=0:
1000;
h=0.15*sinc(0.15*(m-500));
figure;
figure(3);plot(abs(h));title('hn');
HK=fft(h,N);
figure(4);plot(abs(HK));title('HK');
YK=XK.*HK;
figure;
y=ifft(YK);
figure(5);plot(abs(y));title('yn');
figure(6);plot(abs(YK));title('YK');
toc
4)运行时间T2=0.22s
实验分析:
1)若二)中FFT的点数N取值比L+M-1小,则实验结果是否正确,为什么?
答:
不正确,因为只有当N>=L+M-1时,循环卷积才能代表线性卷积,否则,
2)会发生频谱混叠,不能代表线性卷积。
3)比较一)和二)两种方法所得结果y(n)长度是否相同,为什么?
4)答:
不相同,fft运算的长度应为2的L次方,长度N=2048>dft运算的长度。
5)比较运行时间T1和T2,给出两者数值不同的主要原因;
答:
当满足一定条件时,有限长序列的线性卷积可用圆周卷积和来代替,而圆周卷积可用FFT来计算,从而可以大大提高运算速度。
改变ω1和ω2的值来看结果,并分析所得的结果
W1=0.08Pi,W2=0.8Pi时
答:
由实验可知,改变ω1和ω2之后,Xk的图形随之发生变化,这主要是因为改变ω1和ω2之后,信号的离散周期N发生变化,而在频域上采样间隔也随之发生变化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 100404334 王鹏