沈佐峰,陳 曦
(中國電子科技集團公司第三十研究所,四川 成都 610041)
64 Kb/s的A律或μ律的脈沖編碼調制(PCM)編碼在大容量的光通信系統和數字微波系統中已經得到廣泛的應用[1],但由于占用較大的傳輸帶寬和具有復雜的成幀結構,PCM編碼不適合于低帶寬系統的應用[2]。連續可變斜率增量(CVSD,Continuously Variable Slope Delta)調制以其較低的應用難度、低成本和高編碼速率,較好的語音質量的優勢廣泛應用與戰術通信、衛星通信等語音傳輸領域[3]。
CVSD編碼技術已非常成熟,可選擇的商用編碼轉換芯片種類豐富,但大多只能進行單路編碼,而專用的群路編碼轉換芯片寥寥無幾。本文從研究CVSD的編碼原理起,重點提出了一種應用于以太網,基于FPGA+編碼轉換芯片為架構的群路CVSD和PCM互轉的系統,以滿足群路編碼轉換的應用 需求。
CVSD編碼,即增量調制(ΔM)編碼,是基于PCM 方式的基礎上發展起來的另一種模擬信號數字傳輸方法。PCM編碼采用多位的二進制代碼去表示模擬信號的抽樣值大小,產生一個非線性的8 bit二進制數據。而增量調制只需要1 bit二進制碼來表示相鄰抽樣值的相對大小。但是普通增量調制的量階δ在整個編碼過程中是固定不變的,因此它會引起兩類失真,一類是斜率過載失真;第二類為顆粒失真。CVSD就是為了解決這對矛盾提出的方法,它的量階δ隨著輸入語音信號平均斜率大小而連續變化,使其適應信源信號的短時特性,從而可以很好地跟蹤輸入信號[4]。
CVSD工作于編碼方式時,其編解碼系統框圖如圖1所示。模擬語音信號經抽樣數字化后與預測值產生器產生的預測值進行比較。在每個時鐘周期內,若輸入語音信號≥預測值,則編碼輸出為“1”,否則編碼輸出為“0”[5]。編碼輸入三連碼檢測模塊進行三連電平的判決,通過量階調整模塊和預測值產生模塊產生動態的量階和預測值[6]。

圖1 CVSD編解碼器框
CVSD工作于譯碼方式時,其實現方式和編碼過程中預測值的產生模塊相同,只需要在預測值模塊后端加上數字低通FIR濾波器濾除前端產生的高頻分量,保證頻率范圍為300~3 400 Hz的語音信號能夠恢復,起到降噪和平滑的效果[7]。
本文設計的多路音頻編碼轉換系統主要應用于以太網承載的實時RTP語音業務的編碼轉換。系統采用FPGA+音頻編碼轉換模塊的硬件架構。優勢在于:①FPGA設計靈活性高、擴展性強;②滿足群路實時業務的并發處理、性能優越;③音頻模塊接口簡單,PCB面積小,可以根據業務需求靈活配置。
FPGA采用Xilinx公司的V5系列芯片,配合外圍電路組成。該芯片是 Xilinx公司較新推出的低功耗、高性能FPGA。它邏輯資源、塊RAM、PLL資源豐富,有高速串行收發器可以使用。FPGA主要用于實現對外千兆以太網接口,以太網協議幀的解析和封裝、和音頻編解碼轉換模塊的接口轉換功能[8]。
音頻編碼轉換模塊以 4路音頻編碼轉換芯片為核心,配合壓擴芯片、放大電路及電源組成,主要用于完成4路CVSD和PCM音頻碼流的互轉。該音頻編碼轉換系統功架構如圖2所示。

圖2 音頻編碼轉換系統架構
音頻編碼模塊主要由PCM編解碼芯片、運算放大器、壓擴芯片、CVSD編解碼芯片組成。
音頻編碼轉換模塊的原理框圖如圖3所示。編碼轉換過程涉及到 A/D、D/A轉換,數、模電源完整性設計。防止數、模信號的相互干擾,直接關系到話音質量。這里采用模擬電源單獨供電、濾波電容去噪、直流耦合等方法對模擬信號進行處理,保證了編碼轉換后的話音質量不會損失。
音頻編碼轉換的數據處理分為下行處理(CVSD轉PCM)和上行處理(PCM轉CVSD),2個處理流程基本可逆,這里分別進行介紹。
下行處理:數字CVSD串行碼流送入編碼轉換模塊后,先送入CVSD編解碼芯片轉換成模擬信號;之后經過第一級運放進行增益控制;接著送入壓擴芯片進行語音擴張,再經過第二級運放進行增益控制;最后送入PCM編解碼芯片的編碼輸入引腳,將模擬信號編碼成數字PCM信號輸出,完成CVSD數字信號到PCM數字信號的轉換。
上行處理:數字PCM串行碼流送入編碼轉換模塊后,先送入PCM編解碼芯片轉換為模擬信號;之后經過第一級運放進行增益控制;接著送入壓擴芯片進行語音壓縮,再經過第二級壓放進行增益控制;最后送入CVSD編解碼芯片的編碼輸入引腳,將模擬信號編碼為CVSD數字信號輸出,完成PCM數字信號到CVSD數字信號的轉換。
各級芯片之間都采用電容進行隔直處理。
FPGA對外采用標準的千兆以太網SGMII接口,由千兆以太網承載IP,IP承載UDP,UDP承載標準的RTP業務包。FPGA邏輯主要用于實現千兆以太網接入,對上下行以太網數據幀頭的解析,以及對需要進行編碼轉換的業務數據進行分組包至比特流、比特流至分組包的轉換。完整的RTP業務包幀格式如所圖4示。
FPGA邏輯主要由6個功能模塊組成,分別是:千兆以太網MAC、以太網幀解析模塊、話音業務通道分離模塊、編碼轉換接口模塊、輪詢合路模塊和以太網幀封裝模塊,其中千兆以太網 MAC采用Xilinx公司提供軟核實現,可以實現從物理層到鏈路層功能。
簡單介紹FPGA處理流程:SGMII接口輸入的數據經過千兆以太網 IP Core恢復成標準的以太網MAC幀;接著數據包送入以太網幀解析模塊通過判斷MAC和VLAN組合,對業務數據類型進行判讀,從中提取屬于RTP業務的數據包;RTP業務數據包送入通道分離模塊,根據通道編號將數據包分離到多個通道,分別送入對應的編碼轉換接口模塊。編碼轉換接口模塊負責完成和音頻編碼轉換模塊的接口,分組到比特流及比特流到分組的轉換,數據包的緩存功能。每個經編碼轉換后的數據合并到1路后送入以太網幀封裝模塊封裝成以太網幀后經過千兆以太網 IP Core送出。FPGA程序邏輯框圖如圖5所示。

圖3 音頻編解碼模塊原理框

圖4 以太網承載RTP業務幀格式

圖5 FPGA程序邏輯框
FPGA工程使用 Xilinx公司最新的開發平臺ISE12.1進行開發,使用ModelSim 6.4進行了程序功能時序仿真,采用Verilog HDL語言進行編程[9]。本設計難點,編碼轉換接口模塊的仿真。在仿真程序設計時,考慮各個可能出現的情況,遍歷所有分支,進行最大容量的數據測試仿真。
為了充分驗證設備編碼轉換功能和性能,這里搭建了專門的測試平臺。測試平臺采用計算機從話筒實時采集實時話音數據轉化成數字PCM信號,經千兆以太網承載,通過光電轉換模塊,送入話音編碼轉換系統進行PCM至CVSD的編碼轉換,轉換后的數據送到CVSD音頻播放板放音。設計同時支持通過CVSD音頻播放板采集實時話音數據并轉換成數字 CVSD信號,送入話音編碼轉換系統進行CVSD至 PCM 的編碼轉換,最后送到計算機播放PCM語音。測試系統框圖如6所示。
為了測試語音信號通過設備編碼轉換后的音質,
采用Digital Speech Level Analyser II設備進行音質Mosfer測試,測試結果,PCM 4.3分,CVSD 3.8分(總分5分)。以上測試結果顯示,語音經過本設備編解碼轉換后音質理想,設備功能完備、性能優良,設計可行。

圖6 編碼轉換測試系統
CVSD和PCM都是目前常用的2種模擬語音數字化編碼技術,各自都有廣泛的應用領域,應用中常需要進行編碼方式的互相轉換。本文基于常用的編碼轉換芯片,設計出一種基于FPGA+編碼轉換模塊架構的群路PCM和CVSD編碼轉換系統。經測試表明,本文設計的系統性能優良、應用靈活,可以廣泛的應用于無線、有線語音通信系統,具有廣闊的應用前景。
[1] 潘佳懿,李茜,胡愛群.A律壓擴特性對大信號疊加小信號的影響[J].信息安全與通信保密,2009(08):67-69.
[2] 王可,袁東風. 用ADSP2105實現ADPCM-PCM編碼轉換[J].通信技術,2001(06):51-53.
[3] 薛紅榮,王雪芳. FPGA完成CVSD與PCM編碼轉換[J]. 計算機與網絡,2008(16):43-45.
[4] CHONG K U, HWANG S L. A Study of the Comparative Performance of Adaptive Delta Modulation Systems[J]. IEEE Transactions On Communications,1980, 28(01):96-102.
[5] 黃富貴,朱志國,孫波. 語音編碼調制的CVSD算法及實現[J]. 聲學與電子工程,2005(04):19-22.
[6] 陳普躍,潘克修. 基于FPGA的32Kbit/s CVSD語音編解碼器的實現[J]. 器件與電路,2005(09):30-32.
[7] 候燦靖,達新宇.地空數話電臺語音單元的設計及實現[J]. 通信技術,2006(增刊):203-205.
[8] 錢敏,曹云鵬,章敏,等. 基于FPGA/HDL的紅外遙控接收信號解碼器設計[J]. 通信技術,2009,42(08):219-221.
[9] 徐欣. 基于FPGA的嵌入式系統設計[M]. 北京:機械工業出版社,2004.