云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 用MATLAB进行FFT频谱分析

用MATLAB进行FFT频谱分析

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 21:49:47

用MATLAB进行FFT频谱分析

假设一信号:

R?0.6?0.1sin?2?t/2.996??0.1cos?2?t/7.92?2?

画出其频谱图。 分析:

首先,连续周期信号截断对频谱的影响。

DFT变换频谱泄漏的根本原因是信号的截断。即时域加窗,对应为频域卷积,因此,窗函数的主瓣宽度等就会影响到频谱。

实验表明,连续周期信号截断时持续时间与信号周期呈整数倍关系时,利用DFT变换可以得到精确的模拟信号频谱。举一个简单的例子:

Y?cos?100?t?0.2??

其周期为0.02。截断时不同的持续时间影响如图一.1:(对应程序shiyan1ex1.m)

截断时,时间间期为周期整数倍,频谱图10080604020140.0160.0180.02001002003004005006007008009001000截断时,时间间期不为周期整数倍,频谱图100806040200.0250.03001002003004005006007008009001000

图 错误!文档中没有指定样式的文字。.1

其次,采样频率的确定。

根据Shannon采样定理,采样带限信号采样频率为截止频率的两倍以上,给定信号的采样频率应>1/7.92,取16。

再次,DFT算法包括时域采样和频域采样两步,频域采样长度M和时域采样长度N的关系要符合M≧N时,从频谱X(k)才可完全重建原信号。

实验中信号R经采样后的离散信号不是周期信号,但是它又是一个无限长的信号,因此处理时时域窗函数尽量取得宽一些已接近实际信号。

实验结果如图一.2:其中,0点位置的冲激项为直流分量0.6造成(对应程序为shiyan1.m)

0.80.70.60.50.402040608010012014016018020015010050000.050.10.150.20.250.30.350.40.450.5

图 错误!文档中没有指定样式的文字。.2

?ARMA(Auto Recursive Moving Average)模型:

将平稳随机信号x(n)看作是零均值,方差为σu2的白噪声u(n)经过线性非移变系统H(z)后的输出,模型的传递函数为

B?z?H?z???A?z?用差分方程表示为

?rbz?rQ1??akzk?1r?1P?k

x?n????akx?n?k???bru?n?r?

k?1r?0PQAR(Auto Recursive)自回归模型,即ARMA模型中系数b只有在r=0的情况下为1,其余都是零,获得一个全极点模型:

B?z?H?z???A?z?差分方程表示为:

11??akzk?1P?k

x?n????akx?n?k??u?n?

k?1PAR模型的功率谱估计为:

Sxe???????Aej?2uj?1Ae?j??

程序:%%------------------------------------------------------------------------

%%功能:利用MATLAB的FFT函数做双正弦信号频谱分析

%%------------------------------------------------------------------------ fs=16; t=0:1/fs:200;

x6=0.6+sin(2*pi*t/2.996)*0.1+cos(2*pi*t/7.92+2)*0.1;

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

N=length(t); subplot(212);

plot((-N/2:N/2-1)*fs/N,abs(fftshift(fft(x6,N)))) %绘制信号的频谱,横轴对应实际频率 axis([0 0.5 0 160]);

例子:

%%------------------------------------------------------------------------ %%功能:连续周期信号截断对频谱的影响

%%------------------------------------------------------------------------ fs=8000; n1=0.02; n=0:1/fs:n1; n=n(1,1:end-1);

N=length(n);

y=cos(100*pi*n+0.2*pi); subplot(2,2,1); plot(n,y);

title('函数y=cos(100{\\pi}t+0.2{\\pi})');

subplot(2,2,2);

stem((-N/2:N/2-1)*fs/N,abs(fftshift(fft(y,N)))); axis([0 1000 0 100]); grid on;

title('截断时,时间间期为周期整数倍,频谱图');

n1=0.03; n=0:1/fs:n1; n=n(1,1:end-1);

N=length(n);

y=cos(100*pi*n+0.2*pi); subplot(2,2,3); plot(n,y);

title('函数y=cos(100{\\pi}t+0.2{\\pi})');

subplot(2,2,4);

stem((-N/2:N/2-1)*fs/N,abs(fftshift(fft(y,N)))); axis([0 1000 0 100]); grid on;

title('截断时,时间间期不为周期整数倍,频谱图');

搜索更多关于: 用MATLAB进行FFT频谱分析 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

用MATLAB进行FFT频谱分析 假设一信号: R?0.6?0.1sin?2?t/2.996??0.1cos?2?t/7.92?2? 画出其频谱图。 分析: 首先,连续周期信号截断对频谱的影响。 DFT变换频谱泄漏的根本原因是信号的截断。即时域加窗,对应为频域卷积,因此,窗函数的主瓣宽度等就会影响到频谱。 实验表明,连续周期信号截断时持续时间与信号周期呈整数倍关系时,利用DFT变换可以得到精确的模拟信号频谱。举一个简单的例子: Y?cos?100?t?0.2?? 其周期为0.02。截断时不同的持续时间影响如图一.1:(对应程序shiyan1ex1.m) 截断时,时间间期为周期整数倍,频谱图10080604020140.0160.0180.02001002003

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com