利用傅里叶变换求振幅这一部分程序不太清楚,
在论坛里面找到一个程序,有几个地方不明白
ff=90; %(Hz) 1/ff 表示周期
N=1024*16;
n=4; % how many period
grid=[0:N-1]';
incre= 1/ff/(N-1); %将周期分成N-1等分,incre表示步长
t = incre*grid*n;
% plot the original signal
y=1.75*cos(2*pi*ff*t) + 2.3*sin(4*pi*ff*t)+4.3*sin(5*pi*ff*t);
figure(1);
plot(t,y);
title('Signal');
xlabel('time');
ylabel('signal');
% FFT
Y = fft(y)/N*2;
Pyy = abs(Y);
% plot the FFT
f = 1/incre*grid/n/(length(Pyy)-1); %求各阶谐波幅值?
figure(2);
plot(f(1:N/2),Pyy(1:N/2),'r')
title('Frequency content of y');
xlabel('frequency (Hz)');
ylabel('magnitude (Hz)');
1. Y = fft(y)/N*2; 这里为什么要除以N*2
2. f = 1/incre*grid/n/(length(Pyy)-1); 横坐标频率为什么要做这样的转换?