用DFT对信号进行谱分析实验报告.docx

上传人:b****1 文档编号:15027504 上传时间:2023-06-29 格式:DOCX 页数:14 大小:42.82KB
下载 相关 举报
用DFT对信号进行谱分析实验报告.docx_第1页
第1页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第2页
第2页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第3页
第3页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第4页
第4页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第5页
第5页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第6页
第6页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第7页
第7页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第8页
第8页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第9页
第9页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第10页
第10页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第11页
第11页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第12页
第12页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第13页
第13页 / 共14页
用DFT对信号进行谱分析实验报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

用DFT对信号进行谱分析实验报告.docx

《用DFT对信号进行谱分析实验报告.docx》由会员分享,可在线阅读,更多相关《用DFT对信号进行谱分析实验报告.docx(14页珍藏版)》请在冰点文库上搜索。

用DFT对信号进行谱分析实验报告.docx

用DFT对信号进行谱分析实验报告

用DFT对信号进行谱分析

2015年4月1日

课程名称:

数字信号处理实验名称:

DFT对信号进行分析

学号:

姓名:

______

指导老师评定:

签名:

__________________

一、实验目的

1、在理论学习的基础上,通过本次实验加深对DFT的理解。

2、熟悉应用FFT对典型信号进行频谱分析的方法。

3、了解应用FFT进行信号频谱分析过程中可能出现的各种误差,以便在实际中正确应用FFT。

二、实验原理

在运用DFT进行频谱分析的时候可能会产生三种误差,现分析如下:

〔一截断效应

实际中的信号序列往往很长,甚至是无限长序列。

为了方便,我们往往只取实际序列的一部分来近似它们。

这种截短等价于给原信号序列乘以一个矩形窗函数。

根据卷积定理,最终信号的频谱等于原信号的谱和矩形窗的谱的卷积,从而造成谱线加宽或称为频谱泄漏。

矩形窗时间取得越长,矩形窗的频谱变窄,由截断引起的效应会减小。

例如50Hz正弦波xa=sin<2π·50t>,它的幅度曲线是线状谱,如图3.1所示。

如果将它截取0.09s的一段,相当于将它乘一长度为0.09s矩形窗函数,即xaRTp,Tp=0.09s,该信号的谱等于原信号的谱和矩形窗的谱的卷积,如图1〔b所示。

矩形窗长度扩大Tp=0.18s,后,频谱泄漏会变小,如图1〔c。

图3.1用DFT对正弦波进行谱分析

50Hz正弦波的幅频曲线;

50Hz正弦波加窗后的幅频曲线;

50Hz正弦波加窗后的幅频曲线

同时,由于频谱泄漏,还会造成靠得很近的两个谱峰混淆为一个谱峰,或是强的谱线的旁瓣掩盖弱的谱线,称为谱间干扰,导致频谱分辨率降低。

矩形窗时间取得越长,矩形窗的频谱变窄,由截断引起的效应会减小。

泄漏和谱间干扰都会小。

〔二频谱分析时种因素的综合考虑

在实际用FFT对模拟信号进行谱分析时,首先要把模拟信号转换成数字信号,转换时要求知道模拟信号的最高截止频率,以便选择满足采样定理的采样频率,避免混叠效应。

一般选择采样频率是模拟信号中最高频率的3~4倍。

如果模拟信号不是严格的带限信号,会因为频谱混叠现象引起谱分析的误差,这种情况下可以预先将模拟信号进行预滤,或者尽量将采样频率取高一些。

除选择采样频率外,还需要确定分辨率F,并由此进一步确定观测时间,避免栅栏效应。

同时,取样时间加长,可以减小泄漏,从而使得相近频率的谱间干扰减小。

最小的观测时间Tpmin和分辨率成倒数关系,一般用教材<6.7.8>式确定。

最小的采样点数用教材<6.7.12>式确定。

要求选择的采样点数和观测时间大于它的最小值。

fsmin=2fc

用FFT作谱分析时,一般取FFT的点数服从2的整数幂,这一点在上面选择采样点数时可以考虑满足,有时可以通过在序列尾部加0完成。

如果要进行谱分析的模拟信号是周期信号,最好选择观测时间是信号周期的整数倍。

如果不知道信号的周期,要尽量选择观测时间长一些,以减少截断效应的影响。

举一个极端的例子,一个周期性正弦波,如果所取观察时间太短,例如取小于一个周期,它的波形和正弦波相差太大,肯定误差很大,但如果取得长一些,即使不是周期的倍数,这种截断效应也会小一些。

三、实验内容及步骤

1.初步练习:

用信号x1=cos20πt观察频谱泄漏现象,栅栏效应及正弦波抽样时的规律。

信号频率为f=10Hz,周期为0.1秒。

令采样频率为fs=100Hz,采样周期Ts=0.01s,满足采样定理要求及一般正弦信号抽样习惯。

令截取长度为N=100点,共取10个整周期,根据fk=kfs/N计算可得,模拟信号x1对应的k值为10,在k=10处观察到谱线。

周围未观察到频谱泄漏。

这时候因为截断的关系,泄漏依旧存在,其实质在于泄漏处的不为零的频谱都处在k值的中间,被栅栏挡住未显示〔FFT只计算并显示了整数k对应的频谱点。

整数k值刚好处在主谱线以及泄漏频谱的零点上。

主谱线被显示,泄漏的非零点未显示。

假如抽样点较少,对于正弦函数,抽样有没有位于整周期处,则由于栅栏效应,k值实际取到的位置距离信号的实际频谱的位置就会太远,不能代表信号的实际频率。

因此信号中若含有单个的正弦成分,在不知道正弦成分的准确周期的情况下,抽样点数要增加,直到前后两次做出的频谱接近到一定精度。

由本实验应该看出,单个频率的信号,由于截断效应的影响,向两边泄漏,但存在一个主峰。

如果k值抽样对应的频率刚好取在主峰未知,就能避开栅栏效应的影响,较好地反映信号包含的实际频率。

2.进一步练习观察:

由包含两个频率的信号x2=cos20πt+2cos55πt。

分别取N=100,512,1024。

可以看出,只有取到较大的值,即时间取长之后,才能使两个信号均有效避免栅栏效应的过度影响,反映两个信号的真实相对幅度大小〔2倍关系。

如果取样时间过短,那么k值抽样时,就不一定都会抽取在主峰或其附近,造成频谱分析的误差。

3.较复杂的练习:

用信号x3=cos0.48πt+cos0.52πt,其频率分别为0.24Hz,0.26Hz。

采样周期选1秒,满足采样定理要求。

然后分别取〔1N=10;〔2N=10然后补90个零。

四.实验结果:

参考程序

functionexperiment31%观察单个正弦波泄漏、栅栏、正弦波的整周期取样

closeall%关闭所有图形窗口

Ts=0.01;%取样周期

fs=1/Ts;

N=68;%取样点数68,取样长度为0.68秒,共6.8个信号周期

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<20*pi*t>;%信号频率10Hz,周期0.1秒

subplot<221>;stem;%绘制原信号波形

axis<[0,0.5,-10,10]>;title<['T=0.01,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<222>;stem;%绘制幅频特性

axis<[0,20,0,50]>;ylabel<'X'>;title<'x的频谱'>;

N=100;%取样点数100,取样长度为1秒,共10个信号周期

n=0:

N-1;t=n*Ts;

xn=cos<20*pi*t>;

subplot<223>;stem;

axis<[0,0.5,-10,10]>;title<['T=0.01,N=',num2str]>;ylabel<'x2'>;

Xk=fft;MAGXk=abs;

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<224>;stem;

ylabel<'X'>;title<'x的频谱'>;

functionexperiment32%进一步观察泄漏及栅栏效应

closeall%关闭所有图形窗口

Ts=0.01;%取样周期

fs=1/Ts;

N=100;%取样点数100,

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<20*pi*t>+2*cos<55*pi*t>;%信号频率10Hz,27.5Hz,2倍幅值关系

subplot<421>;stem;%绘制原信号波形

ylim<[-3,3]>;title<['T=0.005,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<422>;stem;%绘制幅频特性

axis<[0,50,0,100]>;ylabel<'X1'>;title<'x1的频谱'>;

N=512;%取样点数扩大,取样长度增加

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<20*pi*t>+2*cos<55*pi*t>;%信号频率10Hz,27.5Hz,2倍幅值关系

subplot<423>;stem;%绘制原信号波形

ylim<[-3,3]>;title<['T=0.005,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<424>;stem;%绘制幅频特性

axis<[0,256,0,512]>;ylabel<'X'>;title<'x的频谱'>;

N=1024;%取样点数扩大,取样长度增加

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<20*pi*t>+2*cos<55*pi*t>;

subplot<425>;stem;%绘制原信号波形

ylim<[-3,3]>;title<['T=0.005,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<426>;stem;%绘制幅频特性

axis<[0,512,0,1024]>;ylabel<'X'>;title<'x的频谱'>;

N=2048;%取样点数扩大,取样长度增加

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<20*pi*t>+2*cos<55*pi*t>;

subplot<427>;stem;%绘制原信号波形

ylim<[-3,3]>;title<['T=0.005,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<428>;stem;%绘制幅频特性

axis<[0,1024,0,2048]>;ylabel<'X'>;title<'x的频谱'>;

functionexperiment33%观察谱间干扰;观察截断、栅栏效应的综合影响。

%本实验事先已知频率。

%但是:

若事先不知频率,则N值需要取大一些,当改变N值时,若频谱变化不大,则可认为误差小到一定范围,截断、栅栏等影响减小到一定范围。

closeall%关闭所有图形窗口

Ts=1;%取样周期1秒,频率1Hz

fs=1/Ts;

N=10;%取样点数,取样长度为NTs秒,频率分辨率为1/NTsHz

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<221>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%对x进行FFT变换并求幅频特性

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<222>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max]>;

fk=n/N/Ts%观察相应的k值对应的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

M=100;%该部分观察补零对于频谱的影响,频谱会更密,但无助消除频谱间的混淆。

m=0:

M-1;

xn2=[xn,zeros<1,90>];

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk2=fft;MAGXk2=abs;%进行FFT变换并求幅频特性

subplot<223>;stem;%绘制原信号波形

subplot<224>;stem;%绘制x1幅频特性

axis<[0,100/2,0,max]>;

fm=n/M/Ts%观察相应的m值对应的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

figure;

N=100;%可以清晰分辨两个频率,对于幅度的指示也对,由于N值的特殊性<24整周期和26整周期,避开了泄漏,FFT取值点在主峰和零点上。

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<321>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<322>;stem;%绘制幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

N=101;%取样点数,取样长度改变,幅度未能精确指示,两个频率泄漏后各自的频谱取样的位置对应的幅度不一样

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<323>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<324>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

N=102;%仍然不理想

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<325>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<326>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

figure;

N=512;%两频率幅度一致,周围泄漏有指示

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<221>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<222>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

N=513;%幅度不一致,周围泄漏有指示

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<223>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<224>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

figure;

N=16384;%2的多少次幂?

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<321>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

fn=fs/N*n%对应各个n值的实际模拟频率值

subplot<322>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

N=16385;%

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<323>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<324>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

N=65537;%泄漏与栅栏效应不可避免,但取样长度扩大到一定程度时,影响减小到一定程度。

n=0:

N-1;t=n*Ts;%计算取样时间

xn=cos<0.48*pi*t>+cos<0.52*pi*t>;%信号频率0.24Hz,0.26Hz

subplot<325>;stem;%绘制原信号波形

title<['T=1,N=',num2str]>;ylabel<'x1'>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<326>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max+1]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<'x的频谱'>;

functionexperiment34

%本实验要求对experiment34.txt所给实验数据进行频谱分析。

closeall%关闭所有图形窗口

Ts=0.5;fs=1/Ts;

xn0=load<'experiment34.txt'>;

N=128;n=0:

N-1;

xn=xn0<1:

N>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<321>;stem;%绘制幅频特性

axis<[0,N/2,0,max]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<['N=',num2str]>;

N=256;

n=0:

N-1;

xn=xn0<1:

N>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<322>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<['N=',num2str]>;

N=1024;

n=0:

N-1;

xn=xn0<1:

N>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<323>;stem;%绘制幅频特性

axis<[0,N/2,0,max]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<['N=',num2str]>;

N=2048;

n=0:

N-1;

xn=xn0<1:

N>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<324>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<['N=',num2str]>;

N=4096;

n=0:

N-1;

xn=xn0<1:

N>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<325>;stem;%绘制幅频特性

axis<[0,N/2,0,max]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<['N=',num2str]>;

N=8192;

n=0:

N-1;

xn=xn0<1:

N>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

subplot<326>;stem;%绘制x1幅频特性

axis<[0,N/2,0,max]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<['N=',num2str]>;

figure;

N=16384

n=0:

N-1;

xn=xn0<1:

N>;

Xk=fft;MAGXk=abs;%进行FFT变换并求幅频特性

%subplot<326>;

stem;%绘制x1幅频特性

axis<[0,N/2,0,max]>;

fn=fs/N*n%对应各个n值的实际模拟频率值

ylabel<'X'>;title<['N=',num2str]>;

五.实验小结

通过本次实验,使我了解了用DFT对信号进行处理及分析,熟悉应用FFT对典型

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2