MATLAB 进行fft之后得到了如下图像怎么办,频谱不应该都是正数吗?

6381℃ ZACHARY

MATLAB 进行fft之后得到了如下图像怎么办,频谱不应该都是正数吗?

MATLAB,时域正弦信号,做FFT后频谱问题。

你这个程序之所以没有出来主要是赋值语句有问题。

gl=Ak(1)*sin(2*pi*16*t+fik(1))+Ak(2)*sin(2*pi*32*t+fik(2))

+Ak(3)*sin(2*pi*48*t+fik(3))+Ak(4)*sin(2*pi*64*t+fik(4))

+Ak(5)*sin(2*pi*80*t+fik(5))+Ak(6)*sin(2*pi*96*t+fik(6))

+Ak(7)*sin(2*pi*350*t+fik(7))+Ak(8)*sin(2*pi*500*t+fik(8))

+Ak(9)*sin(2*pi*850*t+fik(9))+Ak(10)*sin(2*pi*900*t+fik(10));%时域正弦信号

不能直接回车,matlab认为程序结束不执行下面的加号。要么在后面加...(三个点也可以)

gl=Ak(1)*sin(2*pi*16*t+fik(1))+Ak(2)*sin(2*pi*32*t+fik(2))...

+Ak(3)*sin(2*pi*48*t+fik(3))+Ak(4)*sin(2*pi*64*t+fik(4))...

+Ak(5)*sin(2*pi*80*t+fik(5))+Ak(6)*sin(2*pi*96*t+fik(6))...

+Ak(7)*sin(2*pi*350*t+fik(7))+Ak(8)*sin(2*pi*500*t+fik(8))...

+Ak(9)*sin(2*pi*850*t+fik(9))+Ak(10)*sin(2*pi*900*t+fik(10));%时域正弦信号

或者写成循环语句

gl=zeros(1,4000);

for i=1:1:length(fk)

gl=Ak(i)*sin(2*pi*fk(i)*t+fik(i))+gl;

end

matlab中如何对一组数据进行fft变换后得到频谱图??

1、直接对其使用,可以向上取整:即大于等于给定数据的最小整数。

2、使用floor函数可以进行向下取整。如图,将矩阵A中的每个元素取小于等于该元素的最大整数。

3、使用fix函数则可以去除小数部分。对于大于0的元素相当于floor,对于小于0的元素相当于ceil。

4、使用round函数可以把数据四舍五入到最近的整数。

5、round还可以带有第二个参数,精确到位数。负数表示四舍五入到小数点左侧多少位,正数表示小数点右侧。0表示精确到个位,默认。

6、当round带有第三个参数'significant'时,第二个参数表示精确位数。如图表示每个元素均取2位有效数字。

用MATLAB把信号进行FFT变换后得到的频谱图,怎样把图变成对应的数据组,然后输出成EXCEL文件?

将那个输出线分一支出来输入到一个to file的模块就好了,

如果要转到EXECL中的话将他们链接就好

matlab用fft得到频谱错误

stem((0:14)/128*128,abs(Y(1:15)))

你并未理解模拟信号和数字信号之间的区别,而且你的图形的横坐标仅仅是序号,没有物理意义。

你把0到1秒分为128份, 相当于1秒内采样128点,即采样频率为128

因此,在绘制图形时,横坐标应该是频率格点。