1/12/2005

喊民暈斗濾波器

恩...啃了兩天後

今天去跟Susan meeting

Susan程式的興致一來

說她想先把程式改一改

所以我就在旁邊先做我的事



有老師坐在旁邊果然就看的比較懂耶

那以後都去坐在Susan辦公室門口唸書好了





有鑑於版上灌水的文章實在太多了

實在需要一些枯燥乏味的東西充充場面

所以下面是我的心得報告

大家隨便看看就好

當我在喊民即可

呵呵 言而總之

我現在理解的部分是這樣的



我們的sampling rate(Fs)是100Hz

time domain 上的data length(m)是 238

(prior to critcal word onset:380 ms; after critical word onset:2000 ms)

所以frequency resolution就是100/238 Hz



所以首先呢

就要設一個ideal gain function

要先把剛剛的東西轉成frequency domain

剛剛time domain 的長度換算成frequency domain 是(238/2)+1

所以是120

裡面的frequency就是要在這段時間裡面轉零圈 一圈 兩圈....238/2圈的頻率

也就是說h*Fs/m (h=0 1 2 3 4 .......119)

所以就是

0.00 0.42 0.84 1.26 1.68 2.10 2.52 2.94 3.36 3.78 4.20 4.62 5.04 5.46 5.88 6.30 6.72 7.14 7.56 7.98 8.40 8.82 9.24 9.66 10.08 10.50 ...............................................285.6(共120個)

然後如果要filter掉10Hz以上的 那就是0~10Hz之間的gain 設成1 其他都設成0

所以就是

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0..........0(共120個)

然後呢 這不是frequency domain嗎?

所以要apply 一個inverser Fourier transform

把他轉成time domain

47 44.044 35.839 24.202 11.617 0.60028 -6.9352 -10.106 -9.1905 -5.4329

...... -0.32416 -0.81372 -1 (共120個)

然後因為這樣weights實在是太多了

只能濾最中間那個點

而且time domain 上的precision 就會比較不好

(God knows why...)

所以呢 由於我們想說critcal word前

至少要有100ms是被濾過,漂漂亮亮的

所以呢

我們只能犧牲28個時間點

(critical word的onset前有38個data points)

所以我們的weight個數可以有(28*2)+1 所以就是57

在那之後呢

就要用window的方式

把這57個weight之外的weights想辦法搓圓仔搓掉

有很多選擇

(1)四方形暈斗 (rectangular window)

(2)喊民暈斗 (hamming window)

(3)黑人暈斗 (blackman window)

由於transition width跟ripple的考量

大家都說喊民比較好

所以我們就用那個吧

恩 所以喊民之後的結果是

剛剛47 44.044 35.839 ....那一堆東西從第30個之後就變0

然後把這些調一下scale

全部除以238 這跟之後要算的方式有關係

變成0.19748 0.18456 ...... -9.44E-04 -9.58E-04

然後呢 重新整理一下

第一個點是central point的weight

第二個則是這個central point 前一個與後一個的weight

依此類堆 ......

所以我們就有57個weight

-9.58E-04 -9.44E-04 ...... 0.18456 0.19748 0.18456 ...... -9.44E-04 -9.58E-04

大家仔細看 這一堆數值是以 0.19748為中心

是對稱的



然後這一條weight呢

在去套在原來在time domain上的data point

(-9.58E-04*Dt1)( -9.44E-04*Dt2)...... (0.18456*Dt28) (0.19748*Dt29)

(0.18456*Dt30) ......(-9.44E-04*Dt56) (-9.58E-04*Dt57)

這些全部加起來就是第29個時間點上濾完後的資料

所以囉 剛剛說前28個跟最後那28個時間點上的資料不能濾

因為他們沒辦法當中心點 兩側的點不夠

第30個時間點上濾過的資料就是

(-9.58E-04*Dt)( -9.44E-04*Dt2)...... (0.18456*Dt28) (0.19748*Dt29)

(0.18456*Dt30) ......( -9.44E-04*Dt56) ( -9.58E-04*Dt57)

這些加起來

就是第30個時間點濾完後的資料

依此類推

呼 ~~阿這樣大家瞭了嗎?

恩 瞭了就好

還真累阿

腦力耗損不少

為什麼事情要這麼複雜呢?

為什麼這樣乘乘加加

就算是濾了呢

還是不懂阿

不過總算啃出一些肉屑來

先寫著 以免明天一覺醒來肉屑又不見了



好了好了 沒事了 大家退下吧





8 comments:

leepipi said...

嗯...對
沒錯 就是這樣
嗯 太棒了 ( 微笑點頭貌...)
我真是不能同意你更多了
嗯 這個建議不錯
那就照你的想法做吧!!


醬可以嗎 ??滿意嗎 ?
給你拍拍手啦~~~~~

雖然你們那包子國的話我是一句也看不懂捏......

psychocharlene said...

我隔了幾天再來看
也有點看不懂了耶
那我可能有點進化了
恩..包子進化之後是會變什麼....

ㄟ 佩大爺
你來這邊開業啦
賺美國人的錢
聽說這邊補一顆牙就要一百塊耶
快來快來
而且美國人喜歡吃甜的
一定常常牙痛
生意一定會很好...
要不然我也是常常牙痛
你空檔的時候也可以幫我看一下...

leepipi said...

不要在說了
你跟咪仔都一直對牙醫界源源不絕的貢獻是怎樣
咪仔最近也有一顆快爛掉了...
是說我前幾天也有點悶悶牙痛說
真是 都不好意思跟人家說.....

paimii said...

唔~~~~嘴巴遮起來.....
講到我幹麻~~~~
我那顆只是缺了一個小洞....哪有爛掉哪有爛掉啦~~~
而且最近已經不痛了說~~~哇哈哈哈哈!!!
:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D

psychocharlene said...

但是你嘴巴笑那麼大
半顆牙都沒看到阿

恩 好冷喔

這幾天真冷...

coolpatrick said...

等一下
對....
那個花200元補二顆的就是我
總比花700元做根管要划算

可惜補完才聽說我們當ta的有福利
就是去我們牙醫系看牙有很大的優惠
洗牙免費,補牙很便宜

我想..當小白鼠洗牙就算了....

其實我在安慰自己多花了180

psychocharlene said...

我那時還在想說你們學校的TA工會怎麼沒幫你們爭取這個
下次牙痛就知道囉 :-)

psychocharlene said...


你講什麼我都看不懂啦 T_T

--正在啃Steven Luck第五章Filtering的蘑菇霖