作者bxxl (bool)
看板comm_and_RF
標題Re: [問題] matlab filter疑問
時間Wed May 4 12:55:57 2016
※ 引述《ttjhninn (Cream)》之銘言:
: 大家好~有些關於filter數學理論與模擬的問題想問問大家
: PART 1
: 基本上不管是LPF、HPF、BPF,
: 就是希望將一訊號在頻域上特定頻段的強度越低越好,
: 若就模擬上(姑且不考慮實際上的可行性,例如transition band的寬度)
: 直接對訊號(實數)做FFT,再將特定頻段(例如1GHz~2GHz)的強度衰減100 dB,
: 然後再做IFFT,
: 想請問這樣的概念符合數學理論嗎?
: 因為我試了一下,這樣的作法似乎可能使IFFT後的訊後變成複數,
: 實數訊號卻變成複數訊號,又是怎樣的一種概念?感覺上似乎不怎麼合理,
: 可否請各位提供一下意見或論點來點醒我一下。
你在頻域操作時,也要注意對稱. 出來的才會是實數.
real signal -> 頻譜正負對稱
real filter -> 頻率響應正負對稱
你在頻域的正負操作不對稱,出來當然不會是real
: PART 2
: 在matlab上若要對一複數訊號做BPF該怎麼做?
: 是否有例子可以提供?
: 因為先前我是用fir + filter這兩個function對實數訊號做filter(如下):
: BPF = fir1(2000,[2*28e9*H 2*32e9*H]);
: RFsig = filter(BPF,1,RFsig);
: 所以從頻域上來看他會一併對正頻&相對應的負頻作濾波,
: (例如cos(wt)在正負頻各有訊號)
: 但若我使用複數場表示,如e^iwt,
: 那在頻域上就不會有負頻了,(某些因素需使用複數場表示訊號)
: 所以我不是很確定像FIR or IIR這類的function是否也可適用在我的case。
最簡單的方法: 先做一個 real FIR LPF, 再乘上exp(j*w*n), 頻移到
你想要的頻段
這就是一個complex filter
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.139.106
※ 文章網址: https://webptt.com/m.aspx?n=bbs/comm_and_RF/M.1462337760.A.9C6.html