这是我的 MATLAB 代码
Amp = 0.3;
freqHz = 1000;
fsHz = 160000;
dt = 1/fsHz;
t = 0:dt:2000*dt;
sine = Amp * sin(2*pi*freqHz*t);
t = 0:2000
subplot(2,2,1)
plot(t,sine)
y1 = sine;
Fs = 160000; % samples per second
N = length(y1); % samples
dF = Fs/N; % hertz per sample
f = -Fs/2:dF:Fs/2-dF + (dF/2)*mod(N,2); % hertz
Y1_fft = fftshift(fft(y1))/N;
subplot(2,2,2)
plot(f , (abs(Y1_fft)) - min((abs(Y1_fft))));
legend(num2str(i))
shg;
我的 sin 幅度为 0.3,因此我希望在 1Khz 处获得幅度为 0.15 的 FFT 信号,而幅度为 0.096。我的目标是在不同频率中提取音调的幅度。