正弦序列FFT频谱分析程序问题!!

正弦序列FFT频谱分析程序问题!!,第1张

因为N个样点的信号经过fft以后变成N个样点的频谱,这个频谱是关于第N/2+1样点左右对称的,所以真正有用的频谱数据只有前面一半,后面一半是镜像。mxk11是对前N/2个样点取幅度谱,其实应该是取1:N1/2+1,你这里少取了一个点。具体为什么会镜像请看数字信号处理DFT章节。

温度测量点的数量和温度传感器数量是相同的

要实现128点温度测量

必须要有128个温度传感器

温度传感器(temperature transducer)是指能感受温度并转换成可用输出信号的传感器。

温度传感器是温度测量仪表的核心部分,品种繁多。

进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。温度传感器的总线技术也实现了标准化、可作为从机可通过专用总线接口与主机进行通信。

按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。

在MATLAB中做FFT,首先编写函数,对不同的采样频率和采样点数,计算FFT后的频率序列及其对应的幅值:

function [f amplitude] = yopheeFFT(sampleRate,FFT_points) 

n = 0:FFT_points-1 

t = n/sampleRate %采样时间序列 

f_All = n*sampleRate/FFT_points %频率序列 %构造混有噪声的周期信号并采样

signal = 2*sin(2*pi*10*t)+1*sin(2*pi*20.25*t)+0.2*randn(size(t)) %对信号进行快速Fourier变换,并求振幅 

amplitude_All = abs(fft(signal,FFT_points))*2/FFT_points 

f = f_All(1:FFT_points/2) 

amplitude = amplitude_All(1:FFT_points/2)

扩展资料

MATLAB中FFT函数的意义:

FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。

模拟信号经过ADC采样之后变成数字信号,可对此数字信号做FFT变换。N个采样点经过FFT之后就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次幂。

假设采样频率为Fs,信号频率为F,采样点数为N。则FFT之后结果为N点复数,其中每一个点对应着一个频率点,该点复数的模值为原始信号在该频率值下的幅度特性。

具体为:假设原始信号在某频率点的幅值为A,则该频点对应的FFT点复数的模值为A的N/2倍。而FFT第一点为原始信号的直流分量,其模值为原始信号模值的N倍。对于相位,FFT复数的相位即为原始信号在该频率点处的相位。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11953676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存