FFT不返回matlab中的振幅?
我已生成以下时间信号: 现在,我想使用matlab命令FFT不返回matlab中的振幅?,matlab,fft,Matlab,Fft,我已生成以下时间信号: 现在,我想使用matlab命令fft 这是我的密码: function [ xdft, omega ] = FastFourier( t, fs ) %% Inputs from other functions %% [P_mean, x, u] = MyWay( t ) %From here comes my signal x(t) %% FFT %% xdft1 = fft(x); % Perform FFT xdft2 =
fft
这是我的密码:
function [ xdft, omega ] = FastFourier( t, fs )
%% Inputs from other functions %%
[P_mean, x, u] = MyWay( t ) %From here comes my signal x(t)
%% FFT %%
xdft1 = fft(x); % Perform FFT
xdft2 = abs(xdft1); % Take the absolute value of the fft results
xdft = xdft2(1:length(x)/2+1); % FFT is symmetric, second half is not needed
freq = 0:fs/length(x):fs/2; % frequency axis
plot (freq(1:100),xdft(1:100));
end
下面是我得到的情节:
让我困惑的是y
轴?y
轴不应该代表频率分量的振幅吗?有没有办法得到所有频率分量的振幅
谢谢
编辑:
我发现有些人会这样做:
n = size(x,2)/2; %The number of components and second half can be neglected again
xdft2 = abs(xdft1)/n;
通过这种方式,我似乎可以得到振幅谱,但为什么我必须将绝对值除以n?FFT在每个频率单元中提供一个复数对。FFT中的第一个单元类似于信号的直流部分(约0 Hz),第二个单元是
Fs/N
,其中Fs
是采样率,N
是FFT的窗口大小,下一个单元是2*Fs/N
,依此类推。
你用这样一对的abs()
计算的是箱子里的能量
您可能还想检查一下:FFT在每个频率单元中为您提供一个复数对。FFT中的第一个单元类似于信号的直流部分(约0 Hz),第二个单元是
Fs/N
,其中Fs
是采样率,N
是FFT的窗口大小,下一个单元是2*Fs/N
,依此类推。
你用这样一对的abs()
计算的是箱子里的能量
您可能还想检查一下:FFT在每个频率单元中为您提供一个复数对。FFT中的第一个单元类似于信号的直流部分(约0 Hz),第二个单元是
Fs/N
,其中Fs
是采样率,N
是FFT的窗口大小,下一个单元是2*Fs/N
,依此类推。
你用这样一对的abs()
计算的是箱子里的能量
您可能还想检查一下:FFT在每个频率单元中为您提供一个复数对。FFT中的第一个单元类似于信号的直流部分(约0 Hz),第二个单元是
Fs/N
,其中Fs
是采样率,N
是FFT的窗口大小,下一个单元是2*Fs/N
,依此类推。
你用这样一对的abs()
计算的是箱子里的能量
您可能还想检查一下:大多数(并非所有)FFT库保留总能量(Parseval定理),这意味着随着FFT窗口的延长,幅度必须变大(更长的静止波形->更多的能量)。因此,您必须将结果除以N,以获得频谱中正弦波的更“自然”的幅度高度。大多数(并非所有)FFT库保留总能量(Parseval定理),这意味着FFT窗口越长,幅度越大(平稳波形越长->能量越大)。因此,您必须将结果除以N,以获得频谱中正弦波的更“自然”的幅度高度。大多数(并非所有)FFT库保留总能量(Parseval定理),这意味着FFT窗口越长,幅度越大(平稳波形越长->能量越大)。因此,您必须将结果除以N,以获得频谱中正弦波的更“自然”的幅度高度。大多数(并非所有)FFT库保留总能量(Parseval定理),这意味着FFT窗口越长,幅度越大(平稳波形越长->能量越大)。因此,您必须将结果除以N,以获得频谱中正弦波的更“自然”的幅度高度。如果您想要谐波的幅度,则需要绘制real(xdft1)和imag(xdft1)。Real(xdft1)给出信号中所有余弦谐波的系数,从-Fs/2到+Fs/2(我们假设您的Fs足够大,可以覆盖信号中的所有频率),imag(xdft)给出正弦的振幅。 你所做的是给你信号的大小,这是在实频分量和虚频分量中一个箱子的总能量的均方根值。 它通常是人们在查看频谱时最感兴趣的项目
这方面的基础知识:()如果需要谐波的振幅,则需要绘制real(xdft1)和imag(xdft1)。Real(xdft1)给出信号中所有余弦谐波的系数,从-Fs/2到+Fs/2(我们假设您的Fs足够大,可以覆盖信号中的所有频率),imag(xdft)给出正弦的振幅。 你所做的是给你信号的大小,这是在实频分量和虚频分量中一个箱子的总能量的均方根值。 它通常是人们在查看频谱时最感兴趣的项目
这方面的基础知识:()如果需要谐波的振幅,则需要绘制real(xdft1)和imag(xdft1)。Real(xdft1)给出信号中所有余弦谐波的系数,从-Fs/2到+Fs/2(我们假设您的Fs足够大,可以覆盖信号中的所有频率),imag(xdft)给出正弦的振幅。 你所做的是给你信号的大小,这是在实频分量和虚频分量中一个箱子的总能量的均方根值。 它通常是人们在查看频谱时最感兴趣的项目
这方面的基础知识:()如果需要谐波的振幅,则需要绘制real(xdft1)和imag(xdft1)。Real(xdft1)给出信号中所有余弦谐波的系数,从-Fs/2到+Fs/2(我们假设您的Fs足够大,可以覆盖信号中的所有频率),imag(xdft)给出正弦的振幅。 你所做的是给你信号的大小,这是一个箱子在实频和虚频的总能量的均方根值