[爆卦]Fft fftshift MATLAB是什麼?優點缺點精華區懶人包

為什麼這篇Fft fftshift MATLAB鄉民發文收入到精華區:因為在Fft fftshift MATLAB這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Satanicbless (MatrixTree)看板MATLAB標題[討論] 學長寫的fft轉...


由於訊號具有雜訊(高頻項) 因此學長寫了fft轉換來濾掉高頻

但是我查了書本以及網路上的一些解釋 還是不太懂這一行code的意義

a=fftshift(fft(fftshift(x)));

所以請大大幫忙解答><


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.146.15
profyang:因為fft是從頻率0開始 但你x如果其實是附的頻率開始就要 10/17 11:29
profyang:像這樣shift~這是用FFT近似CFT常遇到的 只是他shift的好 10/17 11:30
profyang:像怪怪的 如果x是偶數個當然沒差 但如果是奇數的話應該會 10/17 11:30
profyang:差一點點 10/17 11:30
profyang:好像應該是fftshift(fft(ifftshift(x)));才通用 10/17 11:31
Satanicbless:這是為了讓本來很rush的譜線能夠更平滑 所以使用 10/17 11:44
Satanicbless:所以學長才想這個方式 但他也不知道怎麼解釋 10/17 11:47
kurt28:記得是跟matlab的定義有關 你這樣只有fft 跟濾波沒有關係 10/17 12:49
profyang:樓上說的沒錯這跟濾波沒關 跟平滑也沒有關係 10/17 13:12
Satanicbless:那這條code的意義是什麼呢? 濾波的code我沒放@@" 10/17 13:25
kurt28:難怪 這code就只是fft而已 做完應該只要shift一次就好 @@ 10/17 13:41
kurt28:兩次我就不知道了 by自己的經驗 10/17 13:41
ericabab:做之前不用shift吧,我看只有他自己懂 10/17 19:15
profyang:為何大家不看我推文QQ 如果x定義是從負的頻率開始 就是 10/17 23:02
profyang:x(1)對應到的頻率其實應該是負的 那fft前就需要shift 10/17 23:02
profyang:而且通常這種負的頻率會跟正的頻率一樣多或差1個點 10/17 23:03
profyang:把上面的頻率代換成時間也對 10/17 23:03
profyang:因為fft的話你裡面x(1)對應到的頻率或時間應該是0 10/17 23:04
kurt28:理論上不是會對稱嗎? 不過我記得是做完再移就好 10/17 23:04
kurt28:上面那句前半段忽略好了 講得不夠嚴謹..要不要shift看需求 10/17 23:13
kurt28:剛剛去試原PO的方法 這樣相位好像會改變... 10/17 23:24
profyang:可是假設他考慮x的頻率是-10:10好了 今天你不移直接下去 10/18 01:21
profyang:就變成從0:20 會有問題 所以要利用他對稱的原理先把負的 10/18 01:23
profyang:頻率的那些x移到最右邊 利用週期性這樣就跟從負的頻率開 10/18 01:23
profyang:始加一樣了 10/18 01:23
ericabab:你拿來做fft的東西不是time domain嗎,shift是什麼意義? 10/18 02:58
banco:請問x是不是某信號的magnitude spectrum,然後濾波是針對a 10/18 08:27
banco:在濾完a後再ifft回頻域得到x",此x"為平滑化的x 10/18 08:28
banco:如果是這樣的話,我大概知道在做什麼了~頻譜x的平滑化 10/18 08:29
kurt28:時間序列的起點通常是0不是嗎? fft後就算要對頻率:-10~10 10/18 09:25
you2:prof是教授嗎?你講的很怪 10/18 09:29
you2:你先想一下Causality 10/18 09:30
kurt28:也是做完在shift一次 ..@@ 10/18 09:33
profyang:我不是教授 我是假設他時間是從負的開始才要shift 當然如 10/18 11:00
profyang:果是causal的信號t<0都沒信號 x可以定義從t=0開始那就fft 10/18 11:01
profyang:前不用shift 10/18 11:01
profyang:因為我比較常用的是頻域轉時域 所以才會強調先shift 10/18 11:02
profyang:的用意 10/18 11:02
profyang:所以重點就是看他x的定義阿~我是因為看他原來的code有 10/18 11:04
profyang:shift才假設他時間不是從0開始 當然他寫錯又另當別論了 10/18 11:04
Satanicbless:如pro所說 的確是要求-10->10的範圍 謝謝你們 10/20 12:10

你可能也想看看

搜尋相關網站