2017年西电电院数字信号处理上机实验报告四
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四、信号的频谱分析
班级:学号:姓名:成绩:
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