?

基于樹莓派和Python的數字均衡器實驗設計

2024-01-12 02:45彭里卓張建良
電氣電子教學學報 2023年6期
關鍵詞:品質因數均衡器樹莓

孫 暉 彭里卓 張建良

(浙江大學 電工電子國家級實驗教學示范中心,杭州 310027)

“信號分析與處理”是電氣工程類專業本科生必修的一門技術基礎課程,傳統的配套實驗以個人電腦軟件仿真為主,與工程應用聯系不緊密,難以激發學生的學習熱情[1-2]。因此浙江大學廣泛開展了基于綜合硬件平臺的實驗,加強對學生專業應用能力、工程推理能力和解決問題能力的培養以及團隊協作能力、創造性能力的培養[1]。

傳統的實時性數字音效處理系統主要通過以DSP為核心的硬件進行軟硬件結合開發[3-5]。但本科生直接利用DSP芯片進行開發的難度和成本都較高。為了促進學生綜合利用課程相關知識解決實際問題,考慮到Python的易用性和樹莓派平臺的高性價比,本文基于尖峰濾波器均衡器模型[6-7],提出基于樹莓派和Python的數字均衡器實驗設計。

1 樹莓派和Python

樹莓派是一款高性價比的微型電腦,其處理器基于ARM架構,系統基于Linux。作為樹莓派主要編程語言的Python是一種功能強大的免費開源計算機高級編程語言,具有極強的跨平臺性、可拓展性以及膠水特性,容易學習,可讀性強,是初學編程者最佳的學習對象之一。

2 實驗原理

均衡是一種常見的音頻處理手段,目的是放大或減弱音頻信號的某些頻率范圍,從而改變音頻信號的音色。

均衡器可分為圖形均衡器和參數均衡器。數字圖形均衡器結構[8]如圖1所示,這種均衡器將整個音頻段分為若干頻帶,每個頻帶放置一個帶通濾波器,濾波器中心頻率和帶寬固定,而增益和總增益可以調節。

圖1 N段圖形均衡器網絡結構

圖1中,HN(z)為第N個頻段的濾波器系統函數,gN是第N個頻段的增益,G為總增益,系統函數可寫為:

(1)

用戶通過自己手動調節各頻段增益gi,即可對均衡器參數進行調節,從而獲得不同效果的均衡器模型。

3 實驗過程

在本實驗中,HN(z)參考了TI公司公開的尖峰濾波器模型[7]:

已知二階模擬帶通濾波器系統函數

(2)

滿足:

其中ω0是中心頻率,k是中心頻率處增益,α與品質因數/通帶寬有關。

定義上下限頻率ω+、ω-處,滿足增益

因此在分貝單位上,上下限頻率處的增益是中心頻率的增益的一半。代入H(s)可計算得:

(3)

常見的圖形均衡器將20 Hz至20 kHz的音頻信號分為10段來調節,頻率點以倍頻程間隔分布[9],據此定義通帶寬bw:

ω+=ω-·2bw

推得

(4)

聯立式(3)(4)得到α關于通帶寬bw的表達式:

(5)

得到由ω0、k和bw定義的模擬二階帶通濾波器:

(6)

其次用雙線性變換法得到數字濾波器表達式,將H(s)映射到H(z)。

進行預處理,將模擬量轉換為數字量:

(7)

(8)

將式(7)(8)代入式(6)得到:

(9)

最后為了方便調參,濾波器輸入參數取為采樣頻率fs、中心頻率f0、中心頻率增益g和品質因數Q。

不妨令Q滿足

(10)

(11)

得到便于從輸入參數計算的中間變量:

(12)

由式(9)(11)(12)得到最終濾波器參數:

(13)

綜合得最終濾波器系統函數的表達式:

(14)

其中各參數由輸入參數采樣頻率fs、中心頻率f0、中心頻率增益g和品質因數Q所決定,關系如式(12)、式(13)所示。

對于音頻信號這類相位敏感信號,FIR濾波器的輸出效果比IIR濾波器更穩定[10]。樹莓派的運算能力較弱,而FIR濾波器使用快速傅里葉變換能夠提高速度。于是,求得尖峰濾波器的IIR形式后,為使之能夠在樹莓派數字音效處理系統上使用,通過窗函數截取的方式將其轉換為FIR濾波器形式。具體步驟為:設置好采樣頻率fs、中心頻率f0、中心頻率增益g和品質因數Q后,利用scipy庫signal.dimpulse()函數[11]即可生成特定參數尖峰濾波器的單位脈沖響應,再用窗函數截取單位脈沖響應前部分即可得到對應參數的FIR濾波器的h(n)。截取點數越多,FIR濾波器就越逼近IIR濾波器[10],在不超出樹莓派性能限制的原則上,點數可以盡量多。經過測試,當采樣頻率為44.1 kHz時,200以上截取點數就已經足夠還原IIR濾波器。

對于本實驗而言,采樣頻率fs統一設置為44.1 kHz,品質因數Q建議在[0,1]范圍內取值,中心頻率f0取值包括31 Hz、62 Hz、125 Hz、250 Hz、500 Hz、1kHz、2kHz、4 kHz、8 kHz和16 kHz共10種,中心頻率增益g取值從-12 dB遞增至12 dB共25種,因此本實驗一個完整的均衡器由250種不同中心頻率、不同增益的FIR濾波器構成。

至此完成了均衡器模型中最關鍵的帶通濾波器設計,剩余工作是將輸入音頻信號分別與各頻段帶通濾波器FIR模型先卷積再求和,即可得到均衡器處理后的音頻輸出。使用scipy庫signal.fftconvolve()實現卷積[12]。

4 實驗結果

實驗采用樹莓派4B作為實驗平臺,采用外接屏幕、鍵盤和鼠標作為交互方式,使用Thonny IDE作為編程環境,使用Python3.7版本作為編程語言,實驗平臺如圖2所示。

在樹莓派上利用Python對各中心頻率、各增益的均衡器模型輸入單位脈沖,觀察輸出信號的幅度頻譜,可以清晰地看出各頻段的濾波效果,如圖3、圖4所示。

測試得品質因數設置為0.4時,相鄰頻段的相互影響處于比較合適的程度。當各濾波器的截取點數N為200左右時,樹莓派處理速度較快。實驗發現在低頻處因為點數較少,而出現幅度偏差,因此需要針對低頻增加FIR濾波器h(n)的點數。

將均衡器模型輸入到文獻[13]所構建的數字音效處理系統中,經過人耳試聽,基本達到預期。調節不同的中心頻率增益,可實現各種均衡器風格。

5 結語

(1)基于尖峰濾波器,提出了一種基于樹莓派和Python的數字音效處理綜合實驗設計方案的實例,設計了在樹莓派中實現數字音效處理系統可使用的FIR濾波器的具體過程,成功實現了均衡器效果。

(2)實踐證明,設計的均衡器具有趣味性和拓展性,不僅加深了學生對理論知識的理解,鍛煉了學生理論聯系工程實際的能力,還使得學生有較高成就感,激發學生的創新思維。

猜你喜歡
品質因數均衡器樹莓
基于樹莓派的騎行智能頭盔設計
基于樹莓派的遠程家居控制系統的設計
頻率與含水率對殘膜—土壤介電常數的影響
淺談中波發射機輸出阻抗網絡的品質因數
響應面法優化紅樹莓酒發酵工藝
無線傳感網OFDM系統中信道均衡器的電路實現
一種基于LC振蕩電路的串聯蓄電池均衡器
薄膜電感器的研究分析
超導射頻接收線圈品質因數
基于LMS 算法的自適應均衡器仿真研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合