主动降噪开发之四——多通道算法实现
文章目錄
- 前言
- 一、次級路徑的辨識
- 二、濾波器階數的選擇
- 三、多通道算法
- 3.1、陷波濾波器
- 3.2、多通道算法
 
- 總結
前言
噪聲主動控制在實際應用的過程中其實存在很多的問題,比如說次級路徑辨識時激勵源噪聲選擇問題,濾波器階數等諸多問題的選擇和優(yōu)化。
一、次級路徑的辨識
在主動降噪開發(fā)之一中并未考慮次級次級路徑的問題,但在實際中,揚聲器到麥克風之間是存在一定的距離,揚聲器到我們耳朵之間也存在一定的距離,那么聲音在傳播的過程中就會存在一定的衰減。
 假設,傳遞路徑上的傳遞函數為h(t),那么在揚聲器輸出的信號f(t)和mic接收到的信號g(t)就存在以下關系:
 g(t) = f(t)*h(t)
 兩者為卷積的關系,表現在頻域上就是相乘。那么問題來了,怎么獲得g(t)??,其準確性對后續(xù)噪聲的控制影響極大。目前存在三種激勵方式,分別為白噪聲,線性正弦掃頻和指數正弦掃頻,白噪聲自不用說,后兩者對應的頻譜如下:
 實際上,根據人耳朵的聲學特性,更符合指數正弦臊掃頻,但在實際應用中會根據實際情況(揚聲器頻響,時間的長短,降噪頻帶范圍等)進行選擇,一般來說,白噪聲的頻譜更為豐富,所需激勵時間也較短,得到的響應也含有較為豐富發(fā)頻譜特性,應用較廣。
 部分代碼如下:
二、濾波器階數的選擇
根據激勵得出的響應,計算出對應的傳遞函數,這其實有兩種方法,第一,分別計算對應的頻譜特性,然后再逆傅里葉變化,第二,就是采樣LMS算法進行辨識,這是最簡單和最方便的,效率最高的一種方法,這兩種方法辨識的結果如下:
 可見,其前128階趨勢基本一致,相對而言,LMS識別出的沖激響應幅值較大,而反變換則在0處存在一個極大值,這主要是由于信號存在直流分量引起的,需要在實際中進行甄別。
 對識別出的傳遞函數的階數需要進行優(yōu)化,優(yōu)化的前提就是根據實際硬件的承受能力,也就是算力的問題,畢竟階數越大,延遲就會越大,DSP在計算FIR濾波器時需要的時間就越長,功耗也很大。不同濾波器階數的比較:
 
 部分代碼:
三、多通道算法
3.1、陷波濾波器
為什么會提到這濾波器???,主要是因為噪聲主動控制,特別是對于發(fā)動機噪聲主動控制技術,主要應用的是窄帶技術,簡單來說就是對單個頻率進行控制,那么陷波濾波器對應的頻響為:
 
 對應的特性在點擊這里講的更清楚。
 那么,既然是對單個頻率進行處理,我們應該怎么模擬這個信號呢,那肯定是正余弦信號,我們都知道任何信號都是有正余弦信號疊加而成,只要能夠疊加出對應的頻率就可以。
 
3.2、多通道算法
解決上述問題之后,已經完成80%,剩下的只剩20%了,現實告訴我們,任何事都存在二八分成,而這個“二”是占比最大的,那當然是最重要的了,多通道算法一般采用下面的框圖:
 說簡單,其實也簡單,就是把向量數據轉換為矩陣數據而已。那么對于發(fā)動機噪聲,對應的結果為:
 所控制的30Hz,130Hz和195Hz都實現了峰值降低的目的,總聲壓OA由53.43dB降到52.39dB。
部分代碼如下:
clc clear close all opengl software % load Sn.mat load DsIdle.mat % 第一個通道; load PsIdle.mat % 第二個通道; 通道的個數可以根據實際情況(需要降噪的個數進行添加)進行添加。 load IRF_GLOBAL_1.mat %% % Signal = Idle(1:end,2); t = DsIdle(1:40960,1); Sn1 = IRFGlobal(1:128)'; % 主駕傳遞函數,存在4個揚聲器 Sn2 = IRFGlobal(129:256)'; Sn3 = IRFGlobal(257:384)'; Sn4 = IRFGlobal(385:512)'; Ps1 = IRFGlobal(513:640)'; % 副駕傳遞函數,存在4個揚聲器; Ps2 = IRFGlobal(641:768)'; Ps3 = IRFGlobal(769:896)'; Ps4 = IRFGlobal(897:1024)'; fs = 40960; f1 = 32.5; % 目標頻率1; f2 = 130; % 目標頻率2; f3 = 195; % 目標頻率3; mu1 = 0.005; % 通過調節(jié)這些參數可以優(yōu)化降噪后的效果; mu2 = 0.00082; % 分別對應不同的階次收斂步長; mu3 = 0.00081;% 可以根據實際情況進行調整; M = 128; % 濾波器階數; % t = 0:1/fs:11; x1 = sin(2*pi*f1*t); x2 = sin(2*pi*f2*t); x3 = sin(2*pi*f3*t);總結
由于這是一個綜合多學科問題,噪聲主動控制技術在實際的應用中不僅存在上述問題,最主要還有硬件性能的問題,包括揚聲器頻響,DSP芯片算力問題,AD、DA 轉換問題。
總結
以上是生活随笔為你收集整理的主动降噪开发之四——多通道算法实现的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 刘润年度演讲2022:进化的力量(演讲全
- 下一篇: 百度登陆协议分析!!!用libcurl来
