Re: [問題] FFT與IFFT圖形疑問?已回收

看板MATLAB作者 (ice1229)時間15年前 (2010/05/24 19:50), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串3/3 (看更多)
感謝耀耀大~不過.. 今天去找BOSS的時候,他說, 你的橫軸怎麼會是時域,而不是頻域哩...囧.. 回去研究下freqency domain再來找我.. 我們是在做有關心電圖方面的研究.. 通常時域經過FFT之後不是就是頻域了嗎? 那為什麼我的圖出來橫軸還是時域呢? 想請高手解惑,幫我把橫軸改成頻域.. 感謝.. ※ 引述《ABCDEFGH1 (耀耀)》之銘言: : ts=0.001; %取樣週期 0.001秒 : fs=1/ts; %取樣頻率 : t=0:ts:0.6; : x=sin(2*pi*50*t); : xn=x+2*randn(size(t)); %疊加隨機噪音 : Y=fft(xn); : y= real(ifft(Y)); : f=-fs/2:fs/(length(Y)-1):fs/2; : subplot(311);plot(f,Y); : subplot(312);plot(f,xn); : subplot(313);plot(f,y); : ※ 引述《ice1229 (ice1229)》之銘言: : : 首先這是小弟現在的程式 : : t=0:0.001:0.6; %採樣週期為0.001秒 : : x=sin(2*pi*50*t); : : xn=x+2*randn(size(t)); %疊加隨機噪音 : : Y=fft(xn,512); : : Y(26)=0; : : Y(488)=0; : : y= ifft(Y,512); : : f=1024*(0:256)/512; %設頻率為軸座標,1024是採樣頻率 : : subplot(311);plot(f,Y(1:257)); : : subplot(312);plot(xn); : : subplot(313);plot(y); : : 目標是首先加入50Hz後fft過後==>完成第一圖形 : : Second,把50Hz消除後==>第二圖形 : : 最後IFFT inverse回到原始訊號!!==>第三圖形 : : 這個是我目前run出來的圖形 http://tinyurl.com/2awfv59 : : 感覺上在第一個圖方面好像沒問題 恩恩~50Hz有出來! : : 到了第二個圖,那樣的話算是有消成功嗎? : : 第三個圖,咦,圖形應該是長這樣嗎= =? : : 有大大可以指點迷津嗎? 或是幫我修個程式,感覺圖形也沒有很漂亮= =! : : 感恩(跪.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.57.153 ※ 編輯: ice1229 來自: 122.117.57.153 (05/24 19:52)

05/24 21:30, , 1F
因為你畫的圖 x軸沒有對應的頻域 只是單純畫出矩陣對應
05/24 21:30, 1F

05/24 21:30, , 2F
位置
05/24 21:30, 2F

05/24 21:30, , 3F
fft之後是複數型態,你可在Matlab裡的Help打fft內有範例。
05/24 21:30, 3F

05/24 21:31, , 4F
你看我畫的頻域值 如何對應 大概就知道了
05/24 21:31, 4F

05/24 21:38, , 5F
對應的值 跟你的取樣頻率有關
05/24 21:38, 5F

05/24 22:30, , 6F
是因為我的程式有錯,所以造成出來的圖橫軸是時間嗎?
05/24 22:30, 6F
文章代碼(AID): #1B-cWD9E (MATLAB)
文章代碼(AID): #1B-cWD9E (MATLAB)