文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.173025
中文引用格式: 王佳飛,,關添,姜宇程,,等. 主動噪聲控制平臺的FPGA實現(xiàn)[J].電子技術應用,,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.
0 引言
隨著工業(yè)現(xiàn)代化的發(fā)展,,噪聲的影響越來越受到人們的關注。噪聲的控制主要分為被動噪聲控制與主動噪聲控制,。對于低頻噪聲來說,,被動降噪技術的抑制效果不理想,且伴隨著材料用量大,、成本高的問題,,實用性較差。此時主動噪聲控制(Active Noise Control,,ANC)技術具有顯著的優(yōu)勢[1],。同時,由于往復運動裝置或者旋轉裝置所產(chǎn)生的窄帶噪聲的能量集中分布于特定的頻帶,,其頻率數(shù)值為離散數(shù)值,,往往可以通過非聲學傳感器采集得到,進而避免了聲反饋問題,,更適合于采用主動控制的方法[2],。
目前工程上針對非聲學信號的采集主要是基于多個串行處理的單一傳感器,當多路傳感器同時工作時不能保證數(shù)據(jù)采集的同步性,,這就導致在后續(xù)進行數(shù)據(jù)的處理與計算時會產(chǎn)生錯誤,。在一些工程實現(xiàn)中,為避免這個問題,,提出在多路傳感器后加一臺信號同步調節(jié)器的解決方案,,但這會使得整個系統(tǒng)復雜且操作麻煩。
針對上述問題,,本文搭建了一個基于FPGA的主動噪聲控制平臺,。該平臺能夠實時正確地采集信號,滿足多通道信號的同步性,,同時也方便根據(jù)所需功能擴展通道,,整個平臺也操作簡單。
1 主動噪聲控制平臺設計
主動噪聲控制平臺由傳感-作動系統(tǒng)與降噪算法模塊構成[3],,傳感-作動系統(tǒng)由相關傳感器及FPGA中對應的數(shù)據(jù)處理模塊,、數(shù)據(jù)儲存模塊構成,負責參考信號(與初級信號相關的各種形式的信號,,如振動,、轉速信號)的采集以及次級聲信號的產(chǎn)生,降噪算法模塊由硬件語言搭成,,主要是對參考信號進行分析從而產(chǎn)生次級聲信號,。
車內噪聲主要是發(fā)動機噪聲、進排氣噪聲與傳動系的噪聲,。研究表明[4],,發(fā)動機振動引起的低頻噪聲是車內噪聲的主要成分,同時發(fā)動機振動噪聲以及其他傳動系引起的噪聲與發(fā)動機振動以及車身各點振動成正比,,噪聲的主頻率也與發(fā)動機的轉速成正比,。基于此,,本文在該平臺上通過采集汽車的轉速與發(fā)動機的振動加速度等這些非聲學信號來構建車內噪聲的參考信號,,繼而產(chǎn)生次級聲信號,以此來避免聲反饋問題,。
主動噪聲控制平臺如圖1所示,。其中,MPU6065芯片負責振動信號的采集,,GCAN-600模塊負責轉速信號的采集,,在由非聲學信號產(chǎn)生噪聲參考信號的過程中,,需要初級噪聲信號的參與以及相關的算法,因此需要WM8731芯片以及音頻輸入輸出模塊來完成初級聲信號的采集與次級聲信號的輸出,,同時SDRAM芯片將采集到的數(shù)據(jù)存儲起來,,從而研究相關的算法。
2 傳感-作動系統(tǒng)的實現(xiàn)
2.1 振動加速度的采集
振動加速度的采集所用的芯片是MPU6065芯片,,芯片與FPGA之間通過UART協(xié)議進行信號傳輸,。采樣頻率是100 Hz。
該芯片可采集多種物理信號(如加速度,、角速度,、角度等),不同的信號有不同的數(shù)據(jù)包格式與檢驗位,,每個數(shù)據(jù)包包括10個數(shù)據(jù)位與1個檢驗位,,F(xiàn)PGA檢測到這個正確的包頭之后,將前面10個數(shù)暫存起來與檢驗位進行比較,,正確則進行數(shù)據(jù)處理,,錯誤則返回初始狀態(tài)等待下一幀正確數(shù)據(jù)到來。
2.2 轉速的采集
汽車轉速的采集是基于GCAN-600模塊,,該模塊可支持所有標準CAN總線物理層及ISO 15765汽車OBD接口診斷協(xié)議,,可將汽車電控系統(tǒng)的各項傳感器數(shù)值自動轉換為串口格式的數(shù)據(jù),給模塊輸入相對應的AT指令讀取所需要的數(shù)據(jù),,并通過UART協(xié)議將數(shù)據(jù)輸出[5],。采樣率為200 Hz。
發(fā)動機轉速信號對應的指令為ATPID=012,,以ASCII碼形式傳輸,,接收到的每幀數(shù)據(jù)是指令PID012=XXXX對應的ASCII碼。完成一個收發(fā)周期表示采集到一次轉速,,連續(xù)不斷地對轉速信號采集意味著上述收發(fā)周期需要不斷地循環(huán),。但接收到的每一幀數(shù)據(jù)并沒有結束標志位,同時由于轉速的位數(shù)不確定(3位數(shù)或4位數(shù)),,導致上述循環(huán)沒法自動進行,,需要借助標識符。
使用UART協(xié)議接收數(shù)據(jù)時,,每當一個數(shù)接收完畢時,,就在該數(shù)的末尾產(chǎn)生一個標識符rx_done。用邏輯分析儀對接收到的數(shù)據(jù)信號進行分析發(fā)現(xiàn),,每幀數(shù)據(jù)中兩個rx_done的時間間隔為T1(與UART協(xié)議選擇的波特率相關),,上一幀末尾rx_done與下一幀起始rx_done的時間間隔為T2(與采樣率相關),且T2>>T1,。由此設計一個計時器,,每次檢測到rx_done信號,,計時器開始計時,若是在T1+Δt(Δt<<T1)內檢測到下一個rx_done信號,,表明該幀數(shù)據(jù)還沒有結束,;若沒有檢測到標志信號,則表明該數(shù)已是最后一個數(shù),,產(chǎn)生該幀數(shù)據(jù)傳輸結束標識符done。檢測到done信號后,,F(xiàn)PGA再次給模塊發(fā)送指令ATPID=012,,如此循環(huán),即可不間斷地獲取轉速信號,。
2.3 音頻的輸入輸出
音頻信號的采集及輸出所采用的芯片是低功耗的音頻編解碼芯片WM8731,。音頻傳輸模塊是連接FPGA與音頻編解碼芯片WM8731的接口模塊,它需要實現(xiàn)兩個功能[6]:第一個功能是向WM8731芯片發(fā)送配置參數(shù)的命令,,使芯片在系統(tǒng)所需要的模式下工作,;第二個功能是在參數(shù)配置完成后,控制麥克風采集音頻數(shù)據(jù),。
FPGA通過I2C協(xié)議向芯片傳輸配置參數(shù),,配置完成后,F(xiàn)PGA與芯片進行音頻數(shù)據(jù)傳輸,。在音頻的采集過程中涉及幾個參數(shù):BCLK為音頻數(shù)據(jù)傳輸(包括發(fā)送和接收)過程中的位時鐘線,,ADCLRC和DACLRC分別為芯片發(fā)送和接收音頻數(shù)據(jù)的幀時鐘線,ADCDAT和DACDAT分別為發(fā)送和接收音頻數(shù)據(jù)的信號線,。
由非聲學信號生成參考信號后,,該參考信號經(jīng)過降噪算法模塊后產(chǎn)生次級聲信號。
在初級聲信號的采集與次級聲信號的輸出過程中都遵循I2S模式,。即音頻數(shù)據(jù)有效位的傳輸開始于ADCLRC或DACLRC信號發(fā)生跳變后BCLK信號的第二個上升沿,,并且音頻數(shù)據(jù)是從最高位開始傳輸?shù)摹.斝酒ぷ髟趶哪J较聲r,,BCLK信號是由FPGA控制器生成的,。
2.4 數(shù)據(jù)存儲
采集到的信號需要通過一個以狀態(tài)機為主體的SDRAM控制器來控制信號實時地存入SDRANM芯片中。
由于SDRAM存儲數(shù)據(jù)是由起始位置開始按給定的存儲長度進行順序存儲的,,3種信號需要實時存入,。同時信號之間不能相互影響或覆蓋,這就需要在SDRAM中給3種信號分配好位置區(qū)間,。每種信號有自己不同的起始位置,,在進行存儲的過程中,SDRAM是按順序存儲的,,存儲地址是逐次加1,當存儲地址進行多位變動時,,存儲數(shù)據(jù)會遺失或者出錯[7],,故針對多路信號存入SDRAM時,需要對多路信號整體進行一個順序控制,。另外,,由于數(shù)據(jù)在存入SDRAM的過程中存在跨時域的操作,因此平臺中還需要搭建異步FIFO模塊,。
FIFO是一種先進先出的數(shù)據(jù)緩存器,,沒有外部讀寫地址線,只能順序地寫入,、讀出數(shù)據(jù),,其數(shù)據(jù)地址由內部讀寫指針自動加1完成。異步FIFO在讀寫兩部分分別采用不同的時鐘[8],。本文中,,SDRAM工作頻率是27 MHz,加速度,、轉速,、音頻的采集模塊工作的頻率是50 MHz,數(shù)據(jù)需要跨時域傳輸,。另外在多路信號存入SDRAM過程中也需要借助異步FIFO進行順序控制:當一種信號在存儲時,,其他信號先暫存在FIFO中,待上一類信號存完產(chǎn)生標志后,,再存入下一類信號,。即多路信號是同時采集,先后存儲,。
3 結果分析
整個采集系統(tǒng)是在DE2-115開發(fā)板上搭建的,,所選用的FPGA是Cyclone IV EP4CE115F29芯片,為了驗證所搭建采集系統(tǒng)的正確性,,在用該系統(tǒng)對汽車進行數(shù)據(jù)采集的同時,,也分別利用錄音器采集音頻信號;加速度傳感系統(tǒng)采集相同位置的振動加速度,;轉速傳感系統(tǒng)采集發(fā)動機轉速,。用此參考系統(tǒng)采集的信號來驗證所搭建平臺對信號采集的正確性與實時性。
在實驗過程中,,3個單一信號的傳感系統(tǒng)同時按下各自的開始按鈕進行信號的采集,,總共采集時間為5 s,大約1 s后,,按下所搭建平臺的開始按鈕,,3種信號同時采集,采集3 s后停止。這樣所搭建平臺采集的信號是3個參考傳感系統(tǒng)采集信號的子信號,,將兩個系統(tǒng)采集到的3種信號做互相關,,得到的相關系數(shù)與子信號的起點時間如圖2所示。從圖2可以發(fā)現(xiàn),,轉速信號起始時間t1=1.1 s,,與自搭建系統(tǒng)采集信號的相關系數(shù)為1;振動加速度信號起始時間t1=0.91 s,,與自搭建系統(tǒng)采集信號的相關系數(shù)為0.98,;音頻信號起始時間t1=1.34 s,與自搭建系統(tǒng)采集信號的相關系數(shù)為0.94(對于音頻信號,,由于各自系統(tǒng)的拾音器不同,,造成采集到音頻信號的幅值的數(shù)量級不同,為了更方便地比較,,對兩個系統(tǒng)采集到的信號均進行歸一化處理),。根據(jù)相關系數(shù)的定義可得,,兩個系統(tǒng)采集到的3段信號可認為對應相等[9],,將子信號的起始時間對應到參考信號中,3種信號的時域圖如圖3所示,,這也證明了自搭建平臺采集的轉速信號的實時正確性,。
通過圖2的橫向對比可看出,自搭建平臺采集的3種信號對應于3個獨立參考系統(tǒng)中起始的時間t1,、t2,、t3互不相等,這也證明對于多路信號的采集,,多個采集系統(tǒng)同時工作時不能保證采集數(shù)據(jù)的嚴格同步性,,還需要專門的儀器進行信號的同步調整[10]。而自搭建的平臺,,對于多路信號的操作都是由同一個按鈕進行,,可以嚴格地保證數(shù)據(jù)的同步性,這樣可以得到任意時刻汽車的多種參數(shù),。
4 結論
本文基于FPGA搭建了針對汽車主動降噪的平臺,,該平臺的作動-傳感系統(tǒng)可以有效地采集汽車運行中的轉速、振動加速度,、噪聲信號,。同時該平臺也是主動降噪算法實現(xiàn)的硬件系統(tǒng),是后續(xù)主動降噪研究的重要基礎,。
數(shù)據(jù)在存入SDRAM前,,需要先暫存在FIFO中,導致存入的數(shù)據(jù)量與FIFO的容量相關,后續(xù)可以利用Nios II來對多通道信號進行存儲順序的控制,,就可以極大擴充數(shù)據(jù)存儲的容量,,但開發(fā)周期較長。
綜合而言,,該平臺具有以下優(yōu)點:
(1)平臺可以正確并且實時采集到參考信號,。這為在主動降噪過程中產(chǎn)生次級聲信號的實現(xiàn)打下了很好的基礎。
(2)平臺對采集的多通道信號有嚴格的時間同步性,,即能保證對多路信號的同時操作,,這也是其他的基于串行處理器所搭建系統(tǒng)所不能達到的優(yōu)點[10]。
(3)FPGA的可編程性可以使平臺按需增加功能,,方便擴展通道數(shù)目,,而不必增加其他的芯片或者處理器。
(4)使用硬件語言來編程各種邏輯功能模塊(如控制模塊,、降噪算法模塊),,可以反復地編程、查錯,、再編程,,這樣就可以對平臺進行充分的設計開發(fā)與驗證。
參考文獻
[1] 張式杰.汽車噪聲分析與降噪措施及噪聲測量方法[J].汽車實用技術,,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] 陳克安,,馬遠良.自適應有源噪聲控制——原理、算法及實現(xiàn)[M].西安:西北工業(yè)大學出版社,,2004.
[4] 劉宗巍.基于發(fā)動機轉速的車內噪聲自適應主動控制系統(tǒng)研究[D].長春:吉林大學,,2004.
[5] 廣成科技.GCAN-600用戶手冊[EB/OL].(2016-03-20)[2017-06-03].www.gcgd.net/UploadFiles/pic201682914942458.pdf.
[6] 占楊林,劉紅.基于FPGA和WM8731的音頻編解碼系統(tǒng)的設計與實現(xiàn)[C].全國青年通信學術會議,,2009.
[7] 周昆正.基于FPGA的SDRAM控制器設計[J].現(xiàn)代電子技術,,2003(13):63-65.
[8] 異步FIFO的FPGA的實現(xiàn)[EB/OL].[2017-06-03].http://www.cnblogs.com/BitArt/archive/2013/04/10/3010073.html.
[9] 胡廣書.數(shù)字信號處理(理論、算法與實現(xiàn))(第三版)[M].北京:清華大學出版社,,2004.
[10] 計煒梁,,凌強,朱學俊,,等.基于DSP的主動降噪系統(tǒng)設計與實現(xiàn)[J].微型機與應用,,2015,34(24):32-34.