星期三, 3月 25, 2020

金旋音樂節 夢境交換所 FIR系統優化

金旋音樂節夢境交換所
時間:3/15
活動地點:華山 1914 文創產業園區
表演卡司:Project W x 王品裙、體熊專科 x 感覺莓果、P!SCO x WAYNE BAND、老王樂隊 x 林孟璇&頗廢

外場音響系統 FIR優化




上圖照片來自政大金旋獎臉書


星期五, 3月 13, 2020

FIR 有限脈衝濾波器 的最大致命傷 - 延遲 Latency


Finite Impulse Response 有限脈衝濾波器 簡稱FIR,可以說是最近音響界中討論聲量最高(至少是我自己這麼認為啦><)的一種技術,因為他能有效又快速的解決相位的問題,而且這個技術不論是大型演唱會或是小型出租公司都用的到,在近年來FIR從繁雜的步驟和昂貴的機器,進步到能夠以價格較低CP值頗高的機器完成一條龍優化實現,我想這也是它愈來愈火熱的原因之一

但這麼好用的FIR優化卻也不是完全沒有缺點的技術,在相位一線化對齊的背後隨之而來的就是「延遲 Latency」,一般而言FIR的延遲大約會落在2ms多到將近8ms,接下來我們要來探討的就是「什麼因素造成FIR的延遲」?



首先我們要來看一個專有名詞「Frequency Resolution」頻率精度,首先給大家一個觀念在20Hz~20kHz的頻率中,FIR並無法有效的處理這所有的頻段,像是以低頻來說FIR也可以處理,但因為波長的關係要使用FIR優化低頻就會產生非常、非常、非常多的延遲出現,所以我們不會使用FIR去處理低頻,除非客人得罪你你再這樣搞啦,而關於你的FIR機器可以處理到多低的頻率,就跟頻率精度有關啦,而頻率精度的算法就是

頻率精度(F)=採樣率 / 抽頭(或稱階數)
Frequency Resolution(F) =Sampling Rate(SR)/Tap

然後把頻率精度(F)*3就能求出機器能夠處理的頻率下限,我們來看幾個例子

1、採樣率不同,抽頭數(Tap)相同

如果有一台採樣率48k和96k的處理器,都使用1024的抽頭會差在那邊

48000/1024 = 46.88 機器能處理的頻率下限為 46.88*3 = 140.64Hz
96000/1024 = 93.75 機器能處理的頻率下限為 93.75*3 = 281Hz(大約)

在FIR的機器裡一般而言採樣率是固定的,而抽頭數則是可以變動的,抽頭數用的愈多所造成的延遲時間就會愈多,那什麼是抽頭呢?如果要一直糾結在工程師的角度去解釋抽頭這件事情,我想這樣文章會太過於學術派了,所以我們用大家比較常聽到的CD格式,也就是採樣率與比特深度(sample rate and Bit Depth)來解釋,我們都知道在這種類比音頻轉換成數位音頻的過程中,採樣率與比特數愈高得到的數位訊號就會更加接近原始的類比訊號,以迷片的話術來講就是「高清無碼不失真」啦,而在FIR上採樣率與抽頭也是一樣的東西,就是看你要把這一段訊號「切」到多細來處理,當然就像前面所講的愈多抽頭就會產生愈多的延遲,但得到的訊號就會更優質

接下來我們要來算出FIR的延遲時間,首先我們要先算出FIR濾波器長度(FIR Filter Length),也就是我們在Smaart裡會看到的時間常數(Time Constant),由於濾波器長度的算法與時間常數的算法相同,但我不確定它們在定義上是否相同,由於我是屬於靠臉吃飯的這種太過工程師學術性的東西我就不糾結了

FIR濾波器長度(T) = 1/頻率精度(F)

沒錯頻率精度除了可以算出機器可處理的頻率下限,也可以用它算出濾波器的長度,以上面96k 1024Tap的機器來算,它的濾波器長度就是

T =1/93.75 = 0.010666(s)

請注意公式求出來的時間單位是秒,但我們所使用的是毫秒,所以

T = 0.10666 * 1000 = 10.66 ms

看到這裡你一定覺得很混怒,不是說好要求延遲時間,怎麼算了個濾波器長度要幹嘛,年青人就是年青人,送你們一句話「前戲要作足,高潮才會有」

得到濾波器的長度之後把它除以2就是FIR的延遲時間了

FIR Latency = 濾波器長度 / 2 =10.66/2 =5.33ms

所以這個5.33ms就是「你用了96k 的機器和1024的抽頭數」所增加的延遲時間

那如果我們是用了48k 的機器和1024的抽頭數呢??

T=1/46.88=0.021331(s)  0.021331 *1000=21.33ms
FIR Latency = 21.33/2=10.66ms

看到了嗎,較高的採樣率與相同的抽頭數相比,只會花「一半」的延遲時間

那如果我們是用了48k 的機器和512的抽頭數呢??

48000/512 = 93.75 , T =1/93.75 = 0.010666(s) , T = 0.10666 * 1000 = 10.66 ms
FIR Latency =10.66/2 =5.33ms

看到了吧,96k 1024抽頭的機器與 48k 512抽頭的機器,所造成的延遲是相同的,以我的看法來說現在96k FIR機器的售價在10萬元以下就能擁有,與其在每次優化時被抽頭數量限制住,作的綁手綁腳的倒不如選擇96k的處理器,相較之下比起你在現場還要花心思在那些地方要省抽頭數來的更伐算多了

小孩子才作選擇,我全部都要啦!!!!