信号及系统的谱分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验一:信号及系统的谱分析
学号 姓名
注: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,则系统的响应输出是 其方框图表示如下:
图 1
[][]∑∑-=--==
===1
1
0)(1
)()()()()(N k nk N
N n nk
N
W
k X N
k X IDFT n x W n x n x DFT k X []
x n [][][]
zs y n h n x n =*离散系统 h (n )
[][][]
zs y n h n x n =*
在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. 实验内容及步骤
某系统的单位样值响应为:
)
()
500()
500(15.0sin[)(1001n R n n n h --=ππ,
信号x (n )=(SIN (ω1n )+COS (ω2n ))R 1023(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 计算;
[]h n []x n [][][]zs y n h n x n =*1N M L ≥+-[]h n []x n 2r
()[()]H K DFT h n =[][()]X K DFT x n =()()()Y K X K H K =[][()]y n IDFT Y K =开始
写入序列hn ;调用子程序dft.m 计算hk
写入序列xn ;调用子程序dft.m 计算xk
调用子程序conv.m 计算yn, 调用子程序dft.m 计算yk,
相关作图语句
图 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) 给出程序内容
d) 统计程序运行时间T2。
图 3
4. 实验数据及分析 实验数据:
一、利用函数y=conv(x,h)求解响应信号y(n)
1) 将yn1和Xk1、Hk1及Yk1存为dft1.mat 文件上交;
2)按要求给出相关的图形xn1和Xk1、hn1和Hk1及yn1和Yk1
开始 计算fft 运算所需点数N 写入序列xn 和hn 调用子程序fft.m 计算xk 和hk 相关作图语句
结束
计算yk=xk.hk
调用子程序ifft.m 计算yn