陷波反饋抑制

2021-09-26 16:05:11 字數 2140 閱讀 4607

反饋抑制由來已久,在聲學反饋中一直是困擾著很多系統除錯人員。

在會議系統中,聲反饋嘯叫是擴聲系統中經常出現的現象,不僅破壞音質,而且還容易燒毀擴音系統中的功率放大器、揚聲器的中高音單元,並會限制整個擴音系統的聲功率。

本文描述了陷波去反饋的基本原理以及實現的難點。

反饋模型

在乙個單通道擴聲系統中,從源訊號到揚聲器訊號的閉環頻率響應能夠表示為:

在分母中的g(

w, t)f(

w, t)

常常稱之為系統的「迴圈響應」,在聲反饋控制

中扮演重要的角色,對應的幅度響應

|g(w

, t)f(

w, t) |

叫做「迴圈增益」,相位響 應

ðg(w

, t)f(

w, t)

叫做「迴圈相位」。基於奈奎斯特經典理論

[28]

來分析閉環系統

穩定性。如果存在乙個角頻率

w 滿足幅度或相位兩個條件中的乙個,閉環系統將變得不穩定,在頻率

w 處將發生振盪。這兩個條件是反饋控制方法中的關鍵,因為任何有效的反饋控制方法都是試圖阻止兩者中的乙個發生。

有了上述兩個條件,便有了現在的去反饋方法,比如移頻,移相,陷波,自適應等等。

好,陷波法它的思路很簡單,頻譜分析->反饋檢測->陷波抑制。就這麼三步,的確很簡單吧,但是反饋檢測是這個演算法最難把握的部分。

頻譜分析:

這個沒什麼好說的,簡單的有fft,複雜的有cqt分析。我來說說細節的地方。這部分最重要的是頻譜解析度,對於48000取樣率來說,拿4096個取樣點來做fft,頻率解析度是48k/4096 hz。根據自己的實際情況(記憶體?cpu?)去權衡吧,2048也行。 頻率解析度就是說本來是1000hz的訊號,但是只能檢測成996hz。專案中我用的是adsp2189去實現,帶有fft硬體加速器,同時跑16聲道的fft沒有問題。

反饋檢測:

如何去判定訊號中有反饋的存在呢,就是靠這些特性了。具體做法首先篩選出頻譜中峰值的點,然後對這些峰值點進行反饋特性判斷。

特性1:諧波特性,利用反饋訊號無諧波特性,而語音包含大量的諧波資訊。如果峰值點與諧波點功率比大於閾值即認為是反饋點。

特性2:還是利用反饋訊號是乙個純淨的訊號特性,將峰值點與鄰近的頻點功率比大於閾值則認為是反饋。

特性3:永續性。反饋訊號比語音頻號在頻率點的幅度尖峰更持久。

特性4:最大原則。在整個頻譜中,反饋點是整個峰值中幅度最大的乙個點。這可能導致輕微的反饋不能檢測出。

也許還有其他的一些特性,陷波法最關鍵的地方也就在這裡了。剛剛說的諧波特性,鄰近特性,永續性都需要和乙個閾值去比較,這是非常麻煩的事情,需要去反覆除錯,很難取得乙個平衡點。沒有什麼好辦法。

陷波抑制:

這部分基於反饋檢測已經檢測出的反饋點,利用陷波濾波器進行濾波。陷波濾波器就是乙個二階iir濾波器,不多說。需要補充的是頻率校正,上面說了fft存在頻率解析度的問題,1000hz的訊號只能檢測成996hz,如何更精確的提高頻率呢,是有辦法的。基本原理是反饋點頻率左邊的幅值比右邊的幅值大,說明真實的反饋點應該在反饋點左邊,反之亦然。

我稱之為拋物線法。給出具體計算公式,按照這樣的計算我的1000hz的訊號能檢測成999hz。

另乙個細節,在一般應用中,反饋點數是有限的,比如8個點,16個點,24個點的。但都是有限的。需要進行反饋點合併,比如反饋頻率是1000hz,之後在檢測到的頻率點是890hz,根據陷波器的影響範圍,可以直接將中心頻率為1000hz的陷波器進行加深,減少點數的使用。

單相PWM整流反饋電壓陷波濾波的好處

單相pwm整流中,母線電壓含有100hz的交流分量,其反饋進入電壓環,導致指令電流中含有100hz的指令,與電流環指令相位相乘,造成乙個150hz的指令電流,這個指令電流會通過電流環控制輸出實際上的150hz的電流疊加在50hz的電流上,導致電流發生一定的畸變。這個問題可以通過陷波濾波器將母線電壓中...

顯性反饋和隱性反饋

推薦系統的使用者行為分為顯性反饋和隱性反饋 顯性反饋資料集可以明確區分正負樣本 如評分資料 隱性反饋資料集只有正樣本 使用者喜歡什麼 沒有負樣本 使用者不喜歡什麼 1 對於乙個使用者,用他所有沒有過行為的物品作為負樣本。2 對於乙個使用者,從他沒有過行為的物品中均勻取樣出一些物品作為負樣本。3 對於...

基於matlab的數字陷波器設計

基於matlab的數字陷波器設計 陷波器是一種簡單的二階iir濾波器,其幅度響應在某一頻率上為零,可用來消除某個頻率分量,如 濾除訊號中由電源引起的50hz工頻干擾。其系統函式為 其中 0 2 f0 fs 陷波數字頻率 rad f0 陷波頻率 hz fs 取樣頻率 hz r 常數。實驗要求 程式設計...