如何用MATLAB做模型仿真曲线所得数据的频谱图

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:43:17
我用MATLAB/SIMULINK搭建了一个热工控制系统的仿真模块,设置每个模块的数据采样时间均为1s。并且把输出的数据都保存到了MATLAB里的mat文件里。用以在分析这些数据时load这个mat文件。

这些数据我全都用上了,是不是就不存在采样的问题了?因为在模块里设置的采样时间也就是sample time是1,是不是就是fs是1呢?这个fs我还不明白是干嘛用的?

如果我要做这组输出数据的频谱图的话,fs应该设置为多少?还有就是根据采样定理,采样频率(是不是就是常说的fs?)应该是信号频率的两倍以上,可是要知道信号频率就要做FFT变换,可是在MATLAB里做FFT变换,编程的时候又要确定fs是多少,要是能确定fs那还用得着做FFT变换来看信号频率吗?真晕,这不是成了先有鸡还是先有蛋的问题了??

我初学,别笑话我。自己都说不清,晕死了,高手给解释下吧

如果能有高手的话,我追加分的!

你对FFT的概念有点混淆了。

采样周期就是你每隔多少时间记录一个点,看你说的应该就是1s,采样频率就是采样周期的倒数也就是1Hz,所以你里面fs=1

并不是说采样频率不够高就不能做FFT,而是这样得到的FFT不是数据真正对应的频谱,因为频谱上发生了重叠(根据Nyquist定理)

对FFT变换,假设你采样时间是dt,采了N(=2^M)个数据点,那么FFT变换后,同样得到N个点,每隔点对应的频率间隔就是df=1/(Ndt),另外FFT变换默认是左右对称的,所以FFT后得到的数据其实只有一半是有用的