《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于SOPC技術的嵌入式數字音頻AGC系統的設計
基于SOPC技術的嵌入式數字音頻AGC系統的設計
摘要: 本設計采用SOPC技術,利用FPGA實現SDI接口邏輯,移植μC/OS-Ⅱ實時操作系統為嵌入式應用軟件運行平臺,可以實現與廣電設備的無縫接合。通過設計采用一種適于實時性的多參數融合的AGC算法對數字音頻信號進行AGC處理,實現了具有抑制一定噪聲能力的嵌入式數字音頻AGC系統。測試表明該系統達到設計預期目標,改善了傳統音頻AGC處理中的一些缺陷,輸出音頻穩定平衡,完全滿足實際需要,可廣泛應用在數字演播室中的數字音頻實時AGC處理上。
Abstract:
Key words :

針對傳統音頻AGC處理中的一些缺陷提出有效的改良方法,設計并實現應用在數字電視臺實時視音頻處理中,最終獲得穩定平衡的音量輸出,并具有一定噪音抑制能力的基于SOPC技術的嵌入式數字音頻AGC系統。

1.系統結構設計

技術是SOC(System on Chip)技術和電子設計自動化技術相結合的一種全新的嵌入式系統設計技術,為設計者提供了一個可以快速開發設計及驗證的系統設計平臺,用以搭建基于總線的系統。它包含了一系列的模塊,例如NiosⅡ處理器、存儲器、總線、JTAG等IP核,還有包含操作系統內核的嵌入式軟件開發工具。它可以將處理器、存儲器、I/O接口、硬件協處理器和普通的用戶邏輯等功能模塊都集成到一個FPGA芯片里,構建一個可編程的片上系統。

在系統結構上數字音頻AGC系統的設計主要包括3個層面:最底層是硬件層面,即物理硬件電路的原理圖設計,包括各功能IC的外圍電路設計;中間層是SOPC系統層,其設計主要有NiosⅡ軟核處理器的配置和添加,選擇各種可定制的外設IP核和自定義所需模塊,將定制好的各個外設模塊與Avalon總線進行連接,并為分配外設地址及中斷,最后經編譯、綜合生成可在FPGA內實現相應功能的SOPC系統模塊;最上層的是軟件層,主要是NiosⅡ軟核處理器運行的軟件程序,是用C/C++代碼編寫的,包括μC/OS-Ⅱ實時操作系統,設備的驅動程序和應用程序。

本系統選用的FPGA芯片是Altera公司所推出的CycloneⅡ系列的EP2C20Q240C8。該芯片采用90 nm工藝制造,最大可用I/O管腳142個并內嵌26個乘法器塊,支持使用Altera公司的SOPC Builder工具嵌入NiosⅡ軟核處理器。系統整體架構,如圖1所示。

嵌入式數字音頻AGC系統整體框圖

圖1 嵌入式數字音頻AGC系統整體框圖

2 數字音頻AGC算法的設計與實現

嵌入式數字音頻AGC系統的核心就是音頻AGC算法的設計,音頻AGC是音頻自動增益控制算法,是一種根據輸入音頻信號水平自動動態地調整增益的機制,AGC算法的好壞直接反映在處理后輸出的音頻聽覺感知效果。

2.1 算法基本思想

文中提出一種多參數融合帶反饋機制的音頻AGC處理算法,在保證輸出電平滿足條件的情況下,能有效解決傳統AGC中過沖或過衰現象,并能夠抑制背景噪聲的提升,能根據人耳聽覺特性輸出音量穩定平衡的音頻信號。

用yi(n)代表經過AGC處理的第i幀數字音頻信號;xi(n)代表這一幀原始的數字音頻信號;Gi表示這一幀的音頻增益因子,音頻AGC處理可以用如式(1)表示

2.2 關鍵特征參數提取

計算音頻增益因子Gi的關鍵是對當前數字音頻的狀態判斷。由于人耳對音量的主觀感覺是從聲音響度上來體現的,而響度是由發聲體振動幅度的大小來決定,并且人耳對不同頻率聲音的感應是不平坦的,所以人耳感知的聲音響度是頻率和聲壓級的函數曲線。基于人耳的響度感知特性,AGC算法中音頻增益因子Gi的計算需要綜合考慮聲音的振幅、短時能量和頻率這3個特征。

經過數字化的音頻信號實際上是一個時變信號,為了能對音頻信號進行分析,可以假設音頻信號在幾十ms的短時間內是平穩的。為了得到短時音頻信號,要對音頻信號分幀處理,分幀是連續的。為避免AGC系統處理后的因音頻分幀延遲帶來的畫音不同步現象,本設計將分幀定為20 ms。數字電視的音頻采樣率為48 kHz,所以一幀內的音頻樣值數有960點。

音頻信號的振幅可以用峰值表示,即由一幀音頻信號內的絕對值最大項來表示,用Pi代表第i幀數字音頻信號xi(n)的幀內峰值,那么

短時能量可以有效判斷信號幅度的大小,音頻信號的短時能量Ei定義如下

短時能量由于對信號進行平方運算,考慮到處理器的性能和實時性的保證,可以采用絕對值之和代替平方和來表示短時能量的變化,使運算簡化,其公式為

短時過零率是指每幀內信號通過零值的次數,對于數字音頻信號實質上就是一幀信號采樣點符號的變化次數,由于采樣頻率是固定的,因此短時過零率可以在一定程度上反映音頻信號的頻譜特征,用作一種音頻信號頻率的粗略估計。短時過零率Zi表示為

其中sgn[…]是符號函數,即

提取音頻中以上3個關鍵特征參數就可以作為音頻增益因子Gi的計算和判決的條件。

2.3 反饋機制的實現

在前饋處理中當輸入的第i幀數字音頻信號xi(n)的幀內峰值Pi超過用戶設定的峰值電平門限值Ppeak信號就會被瞬間衰減,增益因子變小。而當輸入的第i幀數字音頻信號xi(n)的幀內峰值Pi低于用戶設定的提升電平門限值Pact并且高于用戶設定的噪音電平門限值Pnoise信號就會被瞬間提升,增益因子變大,低于噪音電平門限值Pnoise的信號就不會被提升。

前饋機制能在音頻信號突變導致幀內峰值溢出或過小時,迅速改變增益因子,用非線性的變化將音頻穩定在所設定的動態范圍內(峰值電平門限Ppeak和提升電平門限Pact之間)。而新增加的反饋機制能通過判斷處理后的短時能量調整增益因子Gi+1,使音頻信號變化穩定,在一個較寬的時間尺度上均衡響度。AGC算法中計算增益因子的具體流程,如圖2所示。

增益因子計算流程框圖

圖2 增益因子計算流程框圖

在反饋機制中使用α歸一化濾波器對滿足條件的輸入音頻信號和上一幀的增益因子Gi調整計算新的增益因子

α 歸一化濾波器可以簡單表示為

為了避免增益因子的劇烈波動,需要加大增益因子Gi的權重值α,而權重值α的大小決定了濾波器歸一化的收斂速度,|1-α|越大,則收斂速度越快。權重值α的計算需要綜合參考短時過零率Zi、處理前的短時能量Mi和處理后的短時能量。在音頻劇烈變化的時候,增益因子仍然能夠收放自如,穩定平衡音頻信號的輸出。

2.4 噪音抑制處理方法

在AGE中對噪音的抑制是一個重要的部分,噪音主要是音頻信號間的靜音噪音和AGE處理中產生的噪音。對靜音噪音的抑制主要靠噪音電平門限的設定,當輸入的第i幀數字音頻信號xi(n)的幀內峰值Pi低于用戶設定的噪音電平門限值Pnoise時,就將該幀的增益因子Gi調整為1,不進行放大處理。當輸入的音頻峰值連續低于噪音電平門限的時間達到靜音時間ts則將輸出音頻靜音,這樣就可以抑制噪音而不影響音頻輸出質量。

AGC處理中一個重要問題是,在音頻分幀的交界處的樣值點會因為增益因子Gi的突然改變而產生原本連續信號樣值的突變,當分幀為20 ms時,AGC處理效果相當于產生50 Hz幅度不定的階躍信號噪音。噪音信號Unoise的大小為

當xi-1(960)和xi(1)相差較大時會產生較大的影響。在本設計中為了消除該噪音,改為在每一個處理幀開始后的第一個過零點進行增益因子的更新。此時噪音的影響為

由于音頻信號樣值的連續性,在過零點處xi-1(n-1)和xi-1(n)均趨向于O,因此unoise也趨向于0。由于人耳的可聽聲音頻率范圍在20 Hz~20 kHz,在音頻采樣和A/D轉換時會濾除人耳的可聽聲音頻率范圍外的頻率分量,而每個周期內都有兩個過零點,所以增益因子的更新速度不受影響。由此則AGC處理帶來的噪音也被很好的抑制。

2.5 仿真結果及分析

為了驗證該算法的正確性和有效性,采用Matlab對該數字音頻AGC算法進行仿真。仿真結果如圖3所示。

AGC算法仿真結果

圖3 AGC算法仿真結果

在仿真中輸入一段聲音忽大忽小的數字音頻,從經過AGC處理后的數字音頻輸出來看,大音量的音頻信號被有效衰減,小音量的音頻信號被有效放大,正常音量的音頻信號幾乎沒有變化。該段音頻長度為6 s,增益因子在此期間可調整300次,該算法的增益因子調整速度可以滿足音頻劇烈變化時的使用需求。對噪音的抑制也起到了很好的效果,人耳的實際聽覺感知達到了滿意的效果。

3 軟件層設計

目前比較流行的嵌入式操作系統主要有VxWorks,Windows CE,uCLinux,μC/OS-Ⅱ等。μC/OS-Ⅱ的規模較小、實時性和可靠性較高,能夠滿足嵌入式數字音頻AGE系統對實時性的要求,考慮到NiosⅡIDE開發環境對μC/OS-Ⅱ的良好支持,故操作系統選擇μC/OS-Ⅱ。μC/OS -Ⅱ是一種可移植、可固化、可裁減、占先式的多任務實時操作系統內核。它通過為每個任務分配單獨的任務堆棧來保存任務工作環境,提供任務管理與調度,任務間的同步、互斥與通信,時間和中斷管理、內存的動態分配等多種系統服務。

系統運行時,首先進行系統初始化操作,即初始化所有數據結構,分配堆棧空間,然后建立任務間通訊的信號量或者消息隊列,進而創建任務,并且分配不同的優先級,所有任務被置于就緒態,系統從優先級最高的任務開始執行。

軟件設計主要包括嵌入式操作系統μC/OS-Ⅱ的移植、LCD顯示控制器和自定義音頻模塊的驅動程序設計、算法設計實現3個主要部分。嵌入式音頻AGC系統根據功能劃分主要有以下4個任務,如圖4所示。

嵌入式音頻AGC系統任務調度表

圖4 嵌入式音頻AGC系統任務調度表

(1)系統初始化任務,主要是用以初始化整個嵌入式音頻AGC系統,包括初始化各種系統變量、LCD控制器、鍵盤、自定義音頻接口模塊等系統模塊,此外還擔負著創建其他任務和信號量的任務,是系統正常運行必不可少的一環,該任務在系統中有最高的優先級。在正常初始化系統以后將該任務刪除以節省系統開支。

(2)音頻AGC處理任務,對自定義音頻接口的輸入音頻進行AGC處理,配合自定義音頻接口的驅動程序將處理好的音頻進行輸出。該任務是嵌入式音頻AGC系統的核心任務,在系統初始化任務完成并刪除后成為系統內優先級最高的任務。

(3)鍵盤輸入響應處理任務,對PIO輸入的按鍵信息進行相應處理,如果有改變參數設置等重要信息要通過信號量及時反饋給音頻AGC處理任務,同時負責輸出要在LCD上顯示的內容,通過郵箱信號量發送給LCD顯示任務。它的優先級比LCD顯示任務高。

(4)LCD顯示任務,將接收到的內容配合LCD控制器驅動程序進行LCD的顯示輸出。

4 結束語

本設計采用SOPC技術,利用FPGA實現SDI接口邏輯,移植μC/OS-Ⅱ實時操作系統為嵌入式應用軟件運行平臺,可以實現與廣電設備的無縫接合。通過設計采用一種適于實時性的多參數融合的AGC算法對數字音頻信號進行AGC處理,實現了具有抑制一定噪聲能力的嵌入式數字音頻AGC系統。測試表明該系統達到設計預期目標,改善了傳統音頻AGC處理中的一些缺陷,輸出音頻穩定平衡,完全滿足實際需要,可廣泛應用在數字演播室中的數字音頻實時AGC處理上。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久草草视频在线观看免费高清 | 欧美激情视频一区二区免费 | 欧美xxx国产xxx | 亚洲美女精品视频 | 久久综合狠狠综合狠狠 | 亚洲成人黄色网 | 精品国产一区二区三区久久 | 欧美亚洲日本在线 | 精品免费视频 | 国产超薄肉色丝袜足j | 欧美性色高清生活片 | 精品久久中文字幕有码 | 九九精品激情在线视频 | 三级视频在线观看 | 国产一区二区在线 |播放 | aa级毛片毛片免费观看久 | 农村寡妇一级毛片免费看视频 | 欧美高清在线精品一区 | 国产制服 国产制服一区二区 | 中文字幕乱码视频32 | 亚洲国产成人久久三区 | 全国男人的天堂网站 | 美女国产在线观看免费观看 | 看真人一一级毛片 | 在线观看久草 | 成人毛片18女人毛片免费 | 成人毛片在线观看 | 色哟哟国产成人精品 | 全黄a一级毛片 | 日韩成人在线观看视频 | 成人国产在线观看 | 日本午夜人成免费视频 | 精品国产区 | 免费国产精品视频 | 三级理论手机在线观看视频 | 久久精品道一区二区三区 | 国产在线观看成人免费视频 | 精品久久中文字幕有码 | 国产综合成人久久大片91 | 手机看片久久高清国产日韩 | 日本黄色美女网站 |