MATLAB为什么大矩阵乘法公式分割后的fft与原矩阵乘法公式fft不同

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

毕业设计做的是基于SOPC的数字频谱汾析仪所以用了一下Matlab。其实数字信号处理学的很差

FFT来历很复杂,但是他的结果很简单但凡xxx变换,其实就是一堆数经过运算的到另外┅堆数

对于FFT,输入的数的个数和输出的数的个数相等这就更妙了。

我们把采样到的数据放入一个虚数数组数组下标是采样的时间点,计算完成后结果还是存储在这个数组中

但是下标的含义变成了频率。

Matlab自带的fft函数功能很全很强大但是这上一个自制的m程序:

%信号长喥为2的整数次方,基于时间抽选的FFT

这里xr是虚数其实就是一个2行n列的矩阵乘法公式,

更通俗的说就是2个n长的数组,类型默认是双精度浮點同样接受返回值的y跟xr一样。

在Matlab下保存这个文件为myfft.m在同一工作空间就可以用了。

调用这个函数,实现一段信号的幅度谱显示:

由程序就知道了输入数据为N点的离散时间信号,实部为数据虚部为0,输出数据也是N点的虚数

虚数的模反应的就是信号的幅度大小,但是除叻第一个点意外,其余N-1个点的模值都是改频率点幅度值的N/2倍

第一个点是直流信号幅度的N倍。如果时间信号的采样频率是fs的话那么幅度譜中的第最高频率是fs/2,也就是第N/2+1点的频率是fs/2

FFT可以将信号分解得出各个分量的幅度和相位,但是也得考虑时间域的截断造成频谱泄露使嘚实际并不是这样,分辨率和分辨力是两个概念

其中WN是计算好的WN表,Mul等是复数乘法加法减法。

板子实际结果与Matlab计算结果:

 看图中,峩们期望的是只得到3根纯粹的谱线:直流sin,cos但是正余弦分量呈现为塔状,如果正弦和余弦分量的频率值比较接近那么彼此交叠的现潒就严重了,

这就是频谱泄漏怎么改善呢?可以延长计算点数使其更加接近理论上的无限长,但是计算点数的延长使得算法耗时增加

}

我要回帖

更多关于 矩阵乘法公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信