数字信号处理上机报告
实验四、信号的频谱分析
班级: 学号:姓名: 成绩:
1实验目的
(1)熟悉DFS和DFT的定义及主要性质,深刻理解DTFT、ZT、DFT和DFS之间的关系以及DFT的物理意义,掌握序列DFT的计算、循环卷积的计算。
(2)深刻理解频域采样的概念,掌握频域采样定理。
(3)了解减少DFT运算量的基本途径,理解FFT的基本概念,掌握时域抽取基2-FFT算法和频域抽取基2-FFT算法,以及IDFT的快速算法。了解实序列的FFT算法。
(4)熟悉循环卷积与线性卷积的关系,熟练掌握利用DFT(FFT)计算序列线性卷积的条件和方法,以及利用DFT(FFT)对连续时间信号进行频谱分析。
2 实验内容
(1)设计计算机程序,产生序列并计算序列的FFT和IFFT,绘制其幅频特性和相频特性曲线;
(2)模拟产生离散系统的输入序列和单位脉冲响应,利用FFT和IFFT算法计算系统的输出响应,分析FFT的计算长度对系统输出响应的影响;
(3)模拟产生连续时间信号,选取适当的采样频率对其采样,并用FFT算法计算其频谱,分析信号的观测时间长度、FFT的计算长度对信号频谱计算结果的影响。
3实验步骤
(1)设计程序求出序列x(n)= n;0≤n≤5的8点fft,绘制幅频相频特性曲线; (2)给定一个系统的输入序列x(n)=[1,1,1,1,1] h(n)=[1,1,1,1];用fft以及ifft算法求出y(n);改变L的长度,观察y的不同;
(3)产生模拟信号f=sin(t)+cos(t);采用不同的ts进行采样之后进行fft变换观察F的不同,再采用不同的L来进行fft变换观察F的不同。
数字信号处理上机报告
4 程序设计
%%
%ifft and fft x=[0,1,2,3,4,5]; N=8;
X=fft(x,N); x=ifft(X,N); figure(1)
subplot(2,1,1) n=0:1:7;
stem(n,abs(x)),xlabel('n'),ylabel('|x(n)|'); subplot(2,1,2)
stem(n,angle(x)),xlabel('n'),ylabel('\\phi[x(n)]'); figure(2)
subplot(2,1,1) n=0:1:7;
stem(n,abs(X)),xlabel('k'),ylabel('|X(k)|'); subplot(2,1,2)
stem(n,angle(X)/pi),xlabel('k'),ylabel('\\phi[X(k)]/\\pi'); %%
%利用FFT和IFFT算法计算系统的输出响应 h=[1,1,1,1]; x=[1,1,1,1,1]; for j=-1:1:2 L=8-j;
y=ifft(fft(h,L).*fft(x,L)); i=0:1:L-1 figure(3)
subplot(4,1,j+2) stem(i,y); end %% %采样 n=0:1:7
f=sin(n*0.25*pi)+cos(n*0.25*pi) F=fft(f,8); figure(4)
subplot(2,1,1) stem(n,abs(F)) subplot(2,1,2) stem(n,angle(F))
数字信号处理上机报告
5实验结果及分析
(1)
这是x(n)的幅频、相频图。
数字信号处理上机报告
这是X(k)的幅频、相频特性曲线。
数字信号处理上机报告
(2)
通过L的不同可以看出,当L=8或者9即L≥N+M-1时,才能完整的计算y(n); (3)
通过改变不同的Ts,可以看出F的幅频特性曲线的两个峰值随着Ts的增加而向中间靠拢。 通过改变不同的L,可以看出F的幅频相频特性曲线会发生周期性变化。
6总结
通过本次试验我理解了减少DFT运算量的基本途径,理解了FFT的基本概念,掌握用matlab实现fft和ifft的算法,能用其解决一些实际问题。
7参考资料
史林,赵树杰. 数字信号处理. 北京:科学出版社,2007