《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 主動(dòng)噪聲控制平臺(tái)的FPGA實(shí)現(xiàn)
主動(dòng)噪聲控制平臺(tái)的FPGA實(shí)現(xiàn)
2018年電子技術(shù)應(yīng)用第2期
王佳飛1,關(guān) 添1,姜宇程1,楊藝辰2
1.清華大學(xué)深圳研究生院 生物醫(yī)學(xué)工程研究中心,廣東 深圳518055;2.南昌大學(xué) 瑪麗女王學(xué)院,江西 南昌330031
摘要: 基于FPGA搭建了針對(duì)汽車的主動(dòng)噪聲控制平臺(tái),此平臺(tái)可以正確實(shí)時(shí)地采集汽車的轉(zhuǎn)速、振動(dòng)加速度以及噪聲,同時(shí)為相關(guān)的降噪算法實(shí)現(xiàn)提供了硬件平臺(tái)。與傳統(tǒng)的基于串行處理的采集系統(tǒng)相比,該平臺(tái)可以嚴(yán)格地保證多路信號(hào)的時(shí)間同步性,同時(shí)其可擴(kuò)展性可以讓使用者方便地根據(jù)自己所需要的功能來增加通道數(shù)目,無需增加額外的處理器。FPGA的可編程性可以保證降噪算法的充分驗(yàn)證與設(shè)計(jì)。整個(gè)平臺(tái)的搭建為主動(dòng)降噪的繼續(xù)研究提供了有力的基礎(chǔ)。
中圖分類號(hào): O422.8
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.173025
中文引用格式: 王佳飛,關(guān)添,姜宇程,等. 主動(dòng)噪聲控制平臺(tái)的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(2):59-61,65.
英文引用格式: Wang Jiafei,Guan Tian,Jiang Yucheng,et al. Realization of active noise control platform based on FPGA[J]. Application of Electronic Technique,2018,44(2):59-61,65.

Realization of active noise control platform based on FPGA
Wang Jiafei1,Guan Tian1,Jiang Yucheng1,Yang Yichen2
1.Research Center of Biomedical Engineering,Graduated School at Shenzhen,Tsinghua University,Shenzhen 518055,China; 2.Queen Mary College,Nanchang University,Nanchang 330031,China
Abstract: In this paper, an active noise control platform for the vehicle is built based on FPGA. The platform can correctly collect the speed, vibration acceleration and noise of the vehicle in real time, and provide a hardware platform for the related noise reduction algorithm. Compared with the traditional serial processing based acquisition system, the platform can strictly guarantee the time synchronization of multiple signals, and its scalability allows users to easily increase the number of channels according to their own needs, and no additional processor is required. FPGA programmability can guarantee the full verification and design of noise reduction algorithm. The construction of the whole platform provides a strong foundation for the continuous research of active noise reduction.
Key words : active noise control;data collection;FPGA;SDRAM;FIFO

0 引言

    隨著工業(yè)現(xiàn)代化的發(fā)展,噪聲的影響越來越受到人們的關(guān)注。噪聲的控制主要分為被動(dòng)噪聲控制與主動(dòng)噪聲控制。對(duì)于低頻噪聲來說,被動(dòng)降噪技術(shù)的抑制效果不理想,且伴隨著材料用量大、成本高的問題,實(shí)用性較差。此時(shí)主動(dòng)噪聲控制(Active Noise Control,ANC)技術(shù)具有顯著的優(yōu)勢(shì)[1]。同時(shí),由于往復(fù)運(yùn)動(dòng)裝置或者旋轉(zhuǎn)裝置所產(chǎn)生的窄帶噪聲的能量集中分布于特定的頻帶,其頻率數(shù)值為離散數(shù)值,往往可以通過非聲學(xué)傳感器采集得到,進(jìn)而避免了聲反饋問題,更適合于采用主動(dòng)控制的方法[2]。

    目前工程上針對(duì)非聲學(xué)信號(hào)的采集主要是基于多個(gè)串行處理的單一傳感器,當(dāng)多路傳感器同時(shí)工作時(shí)不能保證數(shù)據(jù)采集的同步性,這就導(dǎo)致在后續(xù)進(jìn)行數(shù)據(jù)的處理與計(jì)算時(shí)會(huì)產(chǎn)生錯(cuò)誤。在一些工程實(shí)現(xiàn)中,為避免這個(gè)問題,提出在多路傳感器后加一臺(tái)信號(hào)同步調(diào)節(jié)器的解決方案,但這會(huì)使得整個(gè)系統(tǒng)復(fù)雜且操作麻煩。

    針對(duì)上述問題,本文搭建了一個(gè)基于FPGA的主動(dòng)噪聲控制平臺(tái)。該平臺(tái)能夠?qū)崟r(shí)正確地采集信號(hào),滿足多通道信號(hào)的同步性,同時(shí)也方便根據(jù)所需功能擴(kuò)展通道,整個(gè)平臺(tái)也操作簡(jiǎn)單。

1 主動(dòng)噪聲控制平臺(tái)設(shè)計(jì)

    主動(dòng)噪聲控制平臺(tái)由傳感-作動(dòng)系統(tǒng)與降噪算法模塊構(gòu)成[3],傳感-作動(dòng)系統(tǒng)由相關(guān)傳感器及FPGA中對(duì)應(yīng)的數(shù)據(jù)處理模塊、數(shù)據(jù)儲(chǔ)存模塊構(gòu)成,負(fù)責(zé)參考信號(hào)(與初級(jí)信號(hào)相關(guān)的各種形式的信號(hào),如振動(dòng)、轉(zhuǎn)速信號(hào))的采集以及次級(jí)聲信號(hào)的產(chǎn)生,降噪算法模塊由硬件語(yǔ)言搭成,主要是對(duì)參考信號(hào)進(jìn)行分析從而產(chǎn)生次級(jí)聲信號(hào)。

    車內(nèi)噪聲主要是發(fā)動(dòng)機(jī)噪聲、進(jìn)排氣噪聲與傳動(dòng)系的噪聲。研究表明[4],發(fā)動(dòng)機(jī)振動(dòng)引起的低頻噪聲是車內(nèi)噪聲的主要成分,同時(shí)發(fā)動(dòng)機(jī)振動(dòng)噪聲以及其他傳動(dòng)系引起的噪聲與發(fā)動(dòng)機(jī)振動(dòng)以及車身各點(diǎn)振動(dòng)成正比,噪聲的主頻率也與發(fā)動(dòng)機(jī)的轉(zhuǎn)速成正比?;诖?,本文在該平臺(tái)上通過采集汽車的轉(zhuǎn)速與發(fā)動(dòng)機(jī)的振動(dòng)加速度等這些非聲學(xué)信號(hào)來構(gòu)建車內(nèi)噪聲的參考信號(hào),繼而產(chǎn)生次級(jí)聲信號(hào),以此來避免聲反饋問題。

    主動(dòng)噪聲控制平臺(tái)如圖1所示。其中,MPU6065芯片負(fù)責(zé)振動(dòng)信號(hào)的采集,GCAN-600模塊負(fù)責(zé)轉(zhuǎn)速信號(hào)的采集,在由非聲學(xué)信號(hào)產(chǎn)生噪聲參考信號(hào)的過程中,需要初級(jí)噪聲信號(hào)的參與以及相關(guān)的算法,因此需要WM8731芯片以及音頻輸入輸出模塊來完成初級(jí)聲信號(hào)的采集與次級(jí)聲信號(hào)的輸出,同時(shí)SDRAM芯片將采集到的數(shù)據(jù)存儲(chǔ)起來,從而研究相關(guān)的算法。

ck6-t1.gif

2 傳感-作動(dòng)系統(tǒng)的實(shí)現(xiàn)

2.1 振動(dòng)加速度的采集

    振動(dòng)加速度的采集所用的芯片是MPU6065芯片,芯片與FPGA之間通過UART協(xié)議進(jìn)行信號(hào)傳輸。采樣頻率是100 Hz。

    該芯片可采集多種物理信號(hào)(如加速度、角速度、角度等),不同的信號(hào)有不同的數(shù)據(jù)包格式與檢驗(yàn)位,每個(gè)數(shù)據(jù)包包括10個(gè)數(shù)據(jù)位與1個(gè)檢驗(yàn)位,F(xiàn)PGA檢測(cè)到這個(gè)正確的包頭之后,將前面10個(gè)數(shù)暫存起來與檢驗(yàn)位進(jìn)行比較,正確則進(jìn)行數(shù)據(jù)處理,錯(cuò)誤則返回初始狀態(tài)等待下一幀正確數(shù)據(jù)到來。

2.2 轉(zhuǎn)速的采集

    汽車轉(zhuǎn)速的采集是基于GCAN-600模塊,該模塊可支持所有標(biāo)準(zhǔn)CAN總線物理層及ISO 15765汽車OBD接口診斷協(xié)議,可將汽車電控系統(tǒng)的各項(xiàng)傳感器數(shù)值自動(dòng)轉(zhuǎn)換為串口格式的數(shù)據(jù),給模塊輸入相對(duì)應(yīng)的AT指令讀取所需要的數(shù)據(jù),并通過UART協(xié)議將數(shù)據(jù)輸出[5]。采樣率為200 Hz。

    發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)對(duì)應(yīng)的指令為ATPID=012,以ASCII碼形式傳輸,接收到的每幀數(shù)據(jù)是指令PID012=XXXX對(duì)應(yīng)的ASCII碼。完成一個(gè)收發(fā)周期表示采集到一次轉(zhuǎn)速,連續(xù)不斷地對(duì)轉(zhuǎn)速信號(hào)采集意味著上述收發(fā)周期需要不斷地循環(huán)。但接收到的每一幀數(shù)據(jù)并沒有結(jié)束標(biāo)志位,同時(shí)由于轉(zhuǎn)速的位數(shù)不確定(3位數(shù)或4位數(shù)),導(dǎo)致上述循環(huán)沒法自動(dòng)進(jìn)行,需要借助標(biāo)識(shí)符。

    使用UART協(xié)議接收數(shù)據(jù)時(shí),每當(dāng)一個(gè)數(shù)接收完畢時(shí),就在該數(shù)的末尾產(chǎn)生一個(gè)標(biāo)識(shí)符rx_done。用邏輯分析儀對(duì)接收到的數(shù)據(jù)信號(hào)進(jìn)行分析發(fā)現(xiàn),每幀數(shù)據(jù)中兩個(gè)rx_done的時(shí)間間隔為T1(與UART協(xié)議選擇的波特率相關(guān)),上一幀末尾rx_done與下一幀起始rx_done的時(shí)間間隔為T2(與采樣率相關(guān)),且T2>>T1。由此設(shè)計(jì)一個(gè)計(jì)時(shí)器,每次檢測(cè)到rx_done信號(hào),計(jì)時(shí)器開始計(jì)時(shí),若是在T1+Δt(Δt<<T1)內(nèi)檢測(cè)到下一個(gè)rx_done信號(hào),表明該幀數(shù)據(jù)還沒有結(jié)束;若沒有檢測(cè)到標(biāo)志信號(hào),則表明該數(shù)已是最后一個(gè)數(shù),產(chǎn)生該幀數(shù)據(jù)傳輸結(jié)束標(biāo)識(shí)符done。檢測(cè)到done信號(hào)后,F(xiàn)PGA再次給模塊發(fā)送指令A(yù)TPID=012,如此循環(huán),即可不間斷地獲取轉(zhuǎn)速信號(hào)。

2.3 音頻的輸入輸出

    音頻信號(hào)的采集及輸出所采用的芯片是低功耗的音頻編解碼芯片WM8731。音頻傳輸模塊是連接FPGA與音頻編解碼芯片WM8731的接口模塊,它需要實(shí)現(xiàn)兩個(gè)功能[6]:第一個(gè)功能是向WM8731芯片發(fā)送配置參數(shù)的命令,使芯片在系統(tǒng)所需要的模式下工作;第二個(gè)功能是在參數(shù)配置完成后,控制麥克風(fēng)采集音頻數(shù)據(jù)。

    FPGA通過I2C協(xié)議向芯片傳輸配置參數(shù),配置完成后,F(xiàn)PGA與芯片進(jìn)行音頻數(shù)據(jù)傳輸。在音頻的采集過程中涉及幾個(gè)參數(shù):BCLK為音頻數(shù)據(jù)傳輸(包括發(fā)送和接收)過程中的位時(shí)鐘線,ADCLRC和DACLRC分別為芯片發(fā)送和接收音頻數(shù)據(jù)的幀時(shí)鐘線,ADCDAT和DACDAT分別為發(fā)送和接收音頻數(shù)據(jù)的信號(hào)線。

    由非聲學(xué)信號(hào)生成參考信號(hào)后,該參考信號(hào)經(jīng)過降噪算法模塊后產(chǎn)生次級(jí)聲信號(hào)。

    在初級(jí)聲信號(hào)的采集與次級(jí)聲信號(hào)的輸出過程中都遵循I2S模式。即音頻數(shù)據(jù)有效位的傳輸開始于ADCLRC或DACLRC信號(hào)發(fā)生跳變后BCLK信號(hào)的第二個(gè)上升沿,并且音頻數(shù)據(jù)是從最高位開始傳輸?shù)摹.?dāng)芯片工作在從模式下時(shí),BCLK信號(hào)是由FPGA控制器生成的。

2.4 數(shù)據(jù)存儲(chǔ)

    采集到的信號(hào)需要通過一個(gè)以狀態(tài)機(jī)為主體的SDRAM控制器來控制信號(hào)實(shí)時(shí)地存入SDRANM芯片中。

    由于SDRAM存儲(chǔ)數(shù)據(jù)是由起始位置開始按給定的存儲(chǔ)長(zhǎng)度進(jìn)行順序存儲(chǔ)的,3種信號(hào)需要實(shí)時(shí)存入。同時(shí)信號(hào)之間不能相互影響或覆蓋,這就需要在SDRAM中給3種信號(hào)分配好位置區(qū)間。每種信號(hào)有自己不同的起始位置,在進(jìn)行存儲(chǔ)的過程中,SDRAM是按順序存儲(chǔ)的,存儲(chǔ)地址是逐次加1,當(dāng)存儲(chǔ)地址進(jìn)行多位變動(dòng)時(shí),存儲(chǔ)數(shù)據(jù)會(huì)遺失或者出錯(cuò)[7],故針對(duì)多路信號(hào)存入SDRAM時(shí),需要對(duì)多路信號(hào)整體進(jìn)行一個(gè)順序控制。另外,由于數(shù)據(jù)在存入SDRAM的過程中存在跨時(shí)域的操作,因此平臺(tái)中還需要搭建異步FIFO模塊。

    FIFO是一種先進(jìn)先出的數(shù)據(jù)緩存器,沒有外部讀寫地址線,只能順序地寫入、讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫指針自動(dòng)加1完成。異步FIFO在讀寫兩部分分別采用不同的時(shí)鐘[8]。本文中,SDRAM工作頻率是27 MHz,加速度、轉(zhuǎn)速、音頻的采集模塊工作的頻率是50 MHz,數(shù)據(jù)需要跨時(shí)域傳輸。另外在多路信號(hào)存入SDRAM過程中也需要借助異步FIFO進(jìn)行順序控制:當(dāng)一種信號(hào)在存儲(chǔ)時(shí),其他信號(hào)先暫存在FIFO中,待上一類信號(hào)存完產(chǎn)生標(biāo)志后,再存入下一類信號(hào)。即多路信號(hào)是同時(shí)采集,先后存儲(chǔ)。

3 結(jié)果分析

    整個(gè)采集系統(tǒng)是在DE2-115開發(fā)板上搭建的,所選用的FPGA是Cyclone IV EP4CE115F29芯片,為了驗(yàn)證所搭建采集系統(tǒng)的正確性,在用該系統(tǒng)對(duì)汽車進(jìn)行數(shù)據(jù)采集的同時(shí),也分別利用錄音器采集音頻信號(hào);加速度傳感系統(tǒng)采集相同位置的振動(dòng)加速度;轉(zhuǎn)速傳感系統(tǒng)采集發(fā)動(dòng)機(jī)轉(zhuǎn)速。用此參考系統(tǒng)采集的信號(hào)來驗(yàn)證所搭建平臺(tái)對(duì)信號(hào)采集的正確性與實(shí)時(shí)性。

    在實(shí)驗(yàn)過程中,3個(gè)單一信號(hào)的傳感系統(tǒng)同時(shí)按下各自的開始按鈕進(jìn)行信號(hào)的采集,總共采集時(shí)間為5 s,大約1 s后,按下所搭建平臺(tái)的開始按鈕,3種信號(hào)同時(shí)采集,采集3 s后停止。這樣所搭建平臺(tái)采集的信號(hào)是3個(gè)參考傳感系統(tǒng)采集信號(hào)的子信號(hào),將兩個(gè)系統(tǒng)采集到的3種信號(hào)做互相關(guān),得到的相關(guān)系數(shù)與子信號(hào)的起點(diǎn)時(shí)間如圖2所示。從圖2可以發(fā)現(xiàn),轉(zhuǎn)速信號(hào)起始時(shí)間t1=1.1 s,與自搭建系統(tǒng)采集信號(hào)的相關(guān)系數(shù)為1;振動(dòng)加速度信號(hào)起始時(shí)間t1=0.91 s,與自搭建系統(tǒng)采集信號(hào)的相關(guān)系數(shù)為0.98;音頻信號(hào)起始時(shí)間t1=1.34 s,與自搭建系統(tǒng)采集信號(hào)的相關(guān)系數(shù)為0.94(對(duì)于音頻信號(hào),由于各自系統(tǒng)的拾音器不同,造成采集到音頻信號(hào)的幅值的數(shù)量級(jí)不同,為了更方便地比較,對(duì)兩個(gè)系統(tǒng)采集到的信號(hào)均進(jìn)行歸一化處理)。根據(jù)相關(guān)系數(shù)的定義可得,兩個(gè)系統(tǒng)采集到的3段信號(hào)可認(rèn)為對(duì)應(yīng)相等[9],將子信號(hào)的起始時(shí)間對(duì)應(yīng)到參考信號(hào)中,3種信號(hào)的時(shí)域圖如圖3所示,這也證明了自搭建平臺(tái)采集的轉(zhuǎn)速信號(hào)的實(shí)時(shí)正確性。

ck6-t2.gif

ck6-t3.gif

    通過圖2的橫向?qū)Ρ瓤煽闯?,自搭建平臺(tái)采集的3種信號(hào)對(duì)應(yīng)于3個(gè)獨(dú)立參考系統(tǒng)中起始的時(shí)間t1、t2、t3互不相等,這也證明對(duì)于多路信號(hào)的采集,多個(gè)采集系統(tǒng)同時(shí)工作時(shí)不能保證采集數(shù)據(jù)的嚴(yán)格同步性,還需要專門的儀器進(jìn)行信號(hào)的同步調(diào)整[10]。而自搭建的平臺(tái),對(duì)于多路信號(hào)的操作都是由同一個(gè)按鈕進(jìn)行,可以嚴(yán)格地保證數(shù)據(jù)的同步性,這樣可以得到任意時(shí)刻汽車的多種參數(shù)。

4 結(jié)論

    本文基于FPGA搭建了針對(duì)汽車主動(dòng)降噪的平臺(tái),該平臺(tái)的作動(dòng)-傳感系統(tǒng)可以有效地采集汽車運(yùn)行中的轉(zhuǎn)速、振動(dòng)加速度、噪聲信號(hào)。同時(shí)該平臺(tái)也是主動(dòng)降噪算法實(shí)現(xiàn)的硬件系統(tǒng),是后續(xù)主動(dòng)降噪研究的重要基礎(chǔ)。

    數(shù)據(jù)在存入SDRAM前,需要先暫存在FIFO中,導(dǎo)致存入的數(shù)據(jù)量與FIFO的容量相關(guān),后續(xù)可以利用Nios II來對(duì)多通道信號(hào)進(jìn)行存儲(chǔ)順序的控制,就可以極大擴(kuò)充數(shù)據(jù)存儲(chǔ)的容量,但開發(fā)周期較長(zhǎng)。

    綜合而言,該平臺(tái)具有以下優(yōu)點(diǎn):

    (1)平臺(tái)可以正確并且實(shí)時(shí)采集到參考信號(hào)。這為在主動(dòng)降噪過程中產(chǎn)生次級(jí)聲信號(hào)的實(shí)現(xiàn)打下了很好的基礎(chǔ)。

    (2)平臺(tái)對(duì)采集的多通道信號(hào)有嚴(yán)格的時(shí)間同步性,即能保證對(duì)多路信號(hào)的同時(shí)操作,這也是其他的基于串行處理器所搭建系統(tǒng)所不能達(dá)到的優(yōu)點(diǎn)[10]。

    (3)FPGA的可編程性可以使平臺(tái)按需增加功能,方便擴(kuò)展通道數(shù)目,而不必增加其他的芯片或者處理器。

    (4)使用硬件語(yǔ)言來編程各種邏輯功能模塊(如控制模塊、降噪算法模塊),可以反復(fù)地編程、查錯(cuò)、再編程,這樣就可以對(duì)平臺(tái)進(jìn)行充分的設(shè)計(jì)開發(fā)與驗(yàn)證。

參考文獻(xiàn)

[1] 張式杰.汽車噪聲分析與降噪措施及噪聲測(cè)量方法[J].汽車實(shí)用技術(shù),2011(2):55-60.

[2] KUO S M,MORGAN D.Active noise control systems:algorithms and DSP implementations[M].John Wiley & Sons,Inc.,1996.

[3] 陳克安,馬遠(yuǎn)良.自適應(yīng)有源噪聲控制——原理、算法及實(shí)現(xiàn)[M].西安:西北工業(yè)大學(xué)出版社,2004.

[4] 劉宗巍.基于發(fā)動(dòng)機(jī)轉(zhuǎn)速的車內(nèi)噪聲自適應(yīng)主動(dòng)控制系統(tǒng)研究[D].長(zhǎng)春:吉林大學(xué),2004.

[5] 廣成科技.GCAN-600用戶手冊(cè)[EB/OL].(2016-03-20)[2017-06-03].www.gcgd.net/UploadFiles/pic201682914942458.pdf.

[6] 占楊林,劉紅.基于FPGA和WM8731的音頻編解碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[C].全國(guó)青年通信學(xué)術(shù)會(huì)議,2009.

[7] 周昆正.基于FPGA的SDRAM控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2003(13):63-65.

[8] 異步FIFO的FPGA的實(shí)現(xiàn)[EB/OL].[2017-06-03].http://www.cnblogs.com/BitArt/archive/2013/04/10/3010073.html.

[9] 胡廣書.數(shù)字信號(hào)處理(理論、算法與實(shí)現(xiàn))(第三版)[M].北京:清華大學(xué)出版社,2004.

[10] 計(jì)煒梁,凌強(qiáng),朱學(xué)俊,等.基于DSP的主動(dòng)降噪系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2015,34(24):32-34.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。