华南理工大学信号与系统实验,电信学院

更新时间:2024-03-10 07:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 利用DFT分析连续信号频谱

一、实验目的

应用离散傅里叶变换(DFT),分析模拟信号x(t)的频谱。深刻理解利用DFT分析模拟信号频谱的原理,分析过程中出现的现象及解决方法。

二、 实验原理

连续周期信号相对于离散周期信号,连续非周期信号相对于离散非周期信号,都可以通过时域抽样定理建立相互关系。因此,在离散信号的DFT分析方法基础上,增加时域抽样的步骤,就可以实现连续信号的DFT分析。 三、实验内容

1. 利用FFT分析信号x(t)?e?2tu(t)的频谱。

(1) 确定DFT计算的各参数(抽样间隔,截短长度,频谱分辨率等); 答:选取fm=25Hz为近似的最高频率,则抽样间隔T=1/(2fm)=0.02s 选取Tp?6s进行分析,则截短点数为N=

Tp/T?300

采用矩形窗,确定频域抽样点数为512点。

Matlab函数如下:%对连续信号x=e(-2t)分析 fsam=50;Tp=6; N=512; T=1/fsam; t=0:T:Tp; x=exp(-2*t); X=T*fft(x,N);

subplot(2,1,1);plot(t,x);

xlabel('t');title('时域波形 N=512');legend('理论值'); w=(-N/2:N/2-1)*(2*pi/N)*fsam; y=1./(j*w+2);

subplot(2,1,2);plot(w,abs(fftshift(X)),w,abs(y),'r-.'); title('幅度谱 N=512');xlabel('w'); legend('理论值','计算值',0); axis([-10,10,0,1.4])

结果:

(2) 比较理论值与计算值,分析误差原因,提出改善误差的措施。

答:理论值与DFT的幅值相比,寻在一定误差。只要采样频率足够高,时窗长度足够长,FFT点数足够大,得到的DFT值越逼近实际频谱。

2. 分析周期信号的x(t)?cos(10πt)?2sin(18πt)频谱时,如果分析长度不为整周期,利用 fft函数计算并绘出其频谱,总结对周期信号进行频谱分析时,如何选取信号的分析长度。 答:

Matlab程序如下:

T0=1; N=19; T=T0/N; % T0为整周期 t=0:T:T0;

x=cos(10*pi*t)+2*sin(18*pi*t); Xm=fft(x,N)/N; f=(-(N-1)/2:(N-1)/2)/N/T;

subplot(2,1,1);stem(f,abs(fftshift(Xm)));

xlabel('f (Hz)');ylabel('magnitude');title('·ù?è?× T0=1');

T0=1.2; N=19; T=T0/N; % T0不为整周期 t=0:T:T0;

x=cos(10*pi*t)+2*sin(18*pi*t); Xm=fft(x,N)/N; f=(-(N-1)/2:(N-1)/2)/N/T;

subplot(2,1,2);stem(f,abs(fftshift(Xm)));

xlabel('f (Hz)');ylabel('magnitude');title('·ù?è?× T0=1.2');

结果:

分析:对比T0为整周期和不为整周期的幅度频可发现,后者信号产生失真。当分析长度不为整周期时,经过Matlab的延拓,信号不为原来的信号。因此,在对周期信号进行频谱分析时,选取的分析长度必须为整周期才能保证信号不失真。

4. 产生一个淹没在噪声中的信号x(t),例如由50Hz和120Hz的正弦信号以及一个零均值的随机噪声叠加而成。确定抽样间隔和信号截短长度,分析信号的频谱,指出50Hz和120Hz的正弦成分对应的谱峰位置,详细写出检测信号的步骤和原理。 答:Matlab函数如下:

T0=1; N=241; T=T0/N; t=0:T:T0;

x=cos(2*pi*50*t)+2*sin(2*pi*120*t)+randn(size(t)); Xm=fft(x,N)/N;

f=(-(N-1)/2:(N-1)/2)/N/T; stem(f,abs(fftshift(Xm)));

xlabel('f (Hz)');ylabel('magnitude'); title('·ù?è?×');

结果:

分析:50Hz的正弦成分对应f=-50,50的频谱,120Hz的正弦成分对应f=-120,120的频谱。

四.实验思考题

1. 既然可直接由Fourier变换的定义计算连续信号的傅里叶变换,为何利用DFT分析连续信号的频谱? 答:根据定义是可以根据傅里叶变换的定义直接计算连续信号的福利叶变换,但是定义区间是无限长,这在计算上是不可实施的,无论是人工计算还是通过计算机进行计算。而DFT是有限长的序列的傅里叶变换,在计算机上容易实现。再者,在数字信号处理中,希望能够利用数字方法直接计算常见的四种信号的频谱函数,这是需要的时域信号为有限长,其频谱也为有限项。因此常常利用DFT对序列进行频谱分析。

2. 若信号持续时间无限,且无解析表达式,如何利用DFT分析其频谱?

答:因为只要是有限长的离散序列都可以通过DFT对其进行频谱分析。故对于持续时间无限的信号,因首先得到能表征信号特征的离散序列,在对该离散序列进行DFT变换分析即可。这就涉及到模拟信号的数字化过程,具体方法是:(1)采样,根据信号的采样定理对该持续时间无限的序列进行采样。(2)量化,将采样得到的序列进行量化得到原模拟信号对应的离散序列,让后采用DFT对该序列进行频谱分析即可。

3. 在利用DFT分析连续信号频谱时,会出现哪些误差?如何克服或改善这些误差?

答:在利用DFT分析连续信号的频谱时,会出现的误差可以分为三类。分别是混叠现象,泄露现象,栅栏现象。 克服或改善的方法分别是:

(1) 混叠现象:对于带限连续信号,只要提高抽样频率使之满足时域抽样定理;对于非

带限信号,可以根据实际情况对其进行低通滤波,使之成为带限信号。工程中的信号一般都不是带限信号,连续信号在抽样前通常都进过一个低通滤波器(即抗混叠滤波器)进行低通滤波,以减少混叠误差,提高频谱分析精度。

(2) 泄漏现象:在选择矩形窗口的长度时,适当增加窗的长度,可以提高频谱分辨率,

但是不能减小旁瓣引起的频谱泄露,因此可以选择旁瓣幅度很小甚至为零的非矩形窗对信号进行加窗处理,就可以降低频谱泄露。

(3) 栅栏现象:改善栅栏现象最常用的方法是在离散序列之后补零,得到一个比原有序

列更长的序列,这样就可以增加频谱图中的很多细节,降低栅栏现象。

4. 在利用DFT分析连续信号频谱时,如何选择窗函数?

答:在用DFT分析连续信号频谱时,选择窗函数一般首选矩形窗,因为对信号进行加窗处理的目的是去截断信号,故一般情况下选择矩形窗就可以了。但是在对频谱分析精度要求高的情况下,就要合理选择非矩形窗,选择旁瓣幅值小甚至为零的非矩形窗以满足要求,提高频谱分析精度。

5. 讨论序列后补零对频谱分析结果的影响。

答:在序列后补零直接的影响就是增加了序列的长度。但是却提高了频谱分析的精度。因为序列补零后,序列长度增加了,由于抽样频率没有改变,因此频谱图中谱线之间的间隔变小了,从而显示出了更多的细节,提高了频谱分析精度。

6. 窗函数对频谱分辨率有何影响?如何提高频谱分辨率? 答:窗函数对频谱分析精度的影响主要是有窗函数的主瓣宽度和旁瓣幅度影响的。具体而言是:主瓣宽度越窄,精确度越高;旁瓣幅度越小,精确度越高。

因此要想提高频谱分析精度,就必须选择合适的窗函数,应该使所选窗函数的长度尽量长,这样就可以减小窗函数主瓣的宽度;此外尽量选则旁瓣幅度较小甚至为零的窗函数,这样也可以减小频谱泄露,提高频谱分子精度。

本文来源:https://www.bwwdw.com/article/b7y8.html

Top