做一個matlab訊號FFT變換,得到一個頻譜以後只要幅值大於50的部分頻譜,要怎麼程式設計。得到的部分頻譜用IFFT還原

  • 作者:由 選擇性、失憶 發表于 繪畫
  • 2022-11-12

做一個matlab訊號FFT變換,得到一個頻譜以後只要幅值大於50的部分頻譜,要怎麼程式設計。得到的部分頻譜用IFFT還原fat2nd2011.05.03 回答

如果按你的意思往下編的話,程式碼如下:

y1=y。*(may>=50); %保留幅度大於50

x1=ifft(y1);    %反變換

subplot(413);plot(t,x1);grid on;

另外我感覺你的程式有些定義稍微不是很清晰,

首先就是傅立葉變換時的取樣點太少,頻域波形不連續,不夠準確

另外你所說的幅度大於50的頻譜,

y=fft(x,N);%進行FFT變換

may=abs(y);%求的幅值

上面語句所求的並不是真正的頻域幅度,

訊號頻域真正的幅度應該是y=fft(x,N)/fs;

做一個matlab訊號FFT變換,得到一個頻譜以後只要幅值大於50的部分頻譜,要怎麼程式設計。得到的部分頻譜用IFFT還原ZQ2011.05.01 回答

C

Top