※ 引述《qeagle ()》之銘言:
: 標題: Re: [問題] 類比濾波有FFT的時間窗概念嗎?
: 時間: Mon Dec 21 23:04:14 2015
:
: ※ 引述《qeagle ()》之銘言:
: : 做FFT的時候,取樣總時間倒數就是頻率解析度
: : 我想請問類比濾波器有無類似概念
: : 有人跟我說頻寬的倒數就是時間,所以做的愈窄的類比濾波器
: : 含概的時間就愈長,請問對嗎?
:
:
: 不好意思,我想再深化一下我的問題....
:
: 現在我若用MATLAB寫一個程式
: 取樣率是10Hz,取128點
: 然後我送一個信號是2.5Hz,但這個2.5Hz訊號送到一半變成反向
:
: 將這樣一個訊號去做FFT,會發現在FFT上的頻譜是2.4Hz和2.6Hz
: 但從頭到尾我都是送2.5Hz可是FFT的顯示是旁邊的兩個頻率
:
:
: 我疑問的是若用類比濾波器去對這樣的信號做濾波,是分別濾在2.4Hz和2.6Hz會有信號
: 還是2.5Hz呢?
:
: 還是這和濾波器的頻寬有關係?
: 若是2.5才滤得到信號,為何FFT看到的是另外兩個頻率
: 若用2.4和2.6才濾得到,明明我又是送2.5Hz的信號
:
: 有人可以為我解釋一下嗎?
:
:
大家好,沒注意到後續有人回。
這是我的程式,改了一下參數
現在我有一個32Hz的信號,在fft上就是一個32Hz
但若這信號一半反相,則在FFT上32Hz能量就不見了,反而主要落到31Hz和33Hz
因為FFT有時間窗觀念,所以我能接受
但現在若是一個類比信號,其頻率是32Hz,但可能幾個週期就反相一次
那到底我的類比濾波器要設在32收得到信號,還是要在31和33Hz
還是這和頻寬有關,而且會有一個類似時間窗的觀念呢?
t=1/128:1/128:1;
f = 32;
sig =cos(2*pi*f.*t);
subplot(411);plot(sig);
subplot(412);plot(10*log10(abs(fft(sig))));
mask1 = [ ones(1,64), -1*ones(1,64)]
subplot(413);plot(sig.*mask1);
subplot(414);plot(abs(fft(sig.*mask1)));
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.60.213
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1453287562.A.2B1.html
※ 編輯: qeagle (36.227.71.182), 01/23/2016 11:04:02