簡體   English   中英

FFT后幅度值錯誤

[英]Wrong amplitude values after the FFT

在下面編寫的代碼圖中,我應該看到介於75到200 uV之間的幅度,但是我的圖中有些奇怪,您能幫我一下嗎,我的代碼有什么問題,我該如何糾正?

謝謝你們

這是代碼:

clear all;
close all;
Fs = 200
t= 0:1/Fs:180
y_in=zeros (1, length(t));
  for  i = 1:18
F = randi ([4 7], 1);% frequency
A = randi ([75 200],1);% amplitude A=75~200 uV.
y_tmp =A*sin (2*pi*F*t);
 y_in=y_in+ y_tmp;
  end;
L=length (y_in);
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y_new = fft(y_in,NFFT)/L;
f_new = Fs/2*linspace(0,1,NFFT/2+1);

figure(1)
plot(f_new,2*abs(Y_new(1:NFFT/2+1))) ;
title('Single-Sided Amplitude Spectrum of y_in(t)')
xlabel('Frequency (Hz)')
ylabel('|y_in(f)|')

由於您要循環18次並使用

F = randi([4 7],1);

構成最終信號的某些頻率會多次出現,因此它們的振幅會相互疊加。

因此,在繪圖中的ftf之后看到的是頻率振幅的總和

F = 4, 5, 6, 7 Hz

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM