作者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/cn.aspx?n=bbs/comm_and_RF/M.1462337760.A.9C6.html