做一個matlab訊號FFT變換,得到一個頻譜以後只要幅值大於50的部分頻譜,要怎麼程式設計。得到的部分頻譜用IFFT還原
- 2022-11-12
如果按你的意思往下編的話,程式碼如下:
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;
C