張瑞祥


摘要:隨著計算機、互聯網、集成電路的不斷發展,人們對美好生活的迫切向往,一個名為“多媒體”的行業(或稱為領域)正在不斷壯大,而數字語音通訊又是其中一個重要的角色。語音是人類交流的一種重要方式,漸漸的也變成人機交流的一種重要方式,比如打電話,網絡音頻,智能家居交互等等。隨著社會的發展,交流傳遞的信息量也在不斷增大,信道資源愈加寶貴,在這樣一個背景下,DSP語音處理以及仿真技術相應的孕育而生,但是伴隨著DSP語音處理及仿真技術的發展,這方面技術也存在一定的問題,因此在能保證音質的前提下,降低傳輸速率,減少帶寬,節約資源成為目前研究的要點。
關鍵詞:互聯網 語音 DSP 仿真
中圖分類號:TP37 文獻標識碼:A 文章編號:1007-9416(2016)05-0000-00
1 DSP的原理及發展
對于DSP的語音處理技術,硬件采用TI公司的C6000系列DSP[1],DSP是一種數字處理芯片,采用數字通信具有比模擬通信無可比擬的優勢,數字通信首先是的芯片的體積很小,這在集成電路里可謂非常重要,電子產品自問世以來一直以一種爆炸的趨勢不斷的發展,在1965年,英特爾(Intel)創始人之一戈登·摩爾(Gordon Moore)提出了摩爾定律,其內容:“當價格不變時,集成電路上可容納的元器件的數目,約每隔18-24個月便會增加一倍,性能也將提升一倍”,直至最近幾年才有所放緩,且具有處理速度快,靈敏度高,抗干擾能力強等優勢,滿足精確、高效、實時的信號處理要求。
2 DSP硬件內核剖析及設計
2.1 關于TLC320AD50數字影音處理芯片
C6000系列的DSP數據傳輸字節長為32bit,適合于帶寬網絡和數字影音的應用,相比于C2000系列,C5000系列等等在語音處理方面具有較好的表現,基于C6000的TMS320DM644x架構是一款用的比較多的數字影音處理芯片,也是一款高度集成并且強化了的系統平臺,用于開發是極好的選擇,考慮到硬件成本,本文討論另一種開發平臺,以TMS320C6XX為核心的系統處理平臺。
2.2硬件內核的具體解析與研究
本套系統的硬件搭配大致由三塊組成,一是以TMS320C6XX為核心的數字信號處理器;二是語音信號AD/DA轉換選擇TLC320AD50芯片;三為存儲器模塊具體如下:
TMS320C6XX以高達9億每秒浮點運算性能(MFLOPS)在150 MHz的時鐘速率[2],該處理器有32個32位字長度和八個高度獨立的功能單元的通用寄存器。八個功能單元提供四浮點/定點ALU,兩定點ALU,和兩個浮點/定點乘法器。1級程序緩存(L1P)是一個32 k bit的直接映射緩存和1級緩存(L1D)是一個32 k bit 2路組相聯高速緩存。2級內存/緩存(L2)包括一個512 k bit存儲空間,程序和數據空間之間的共享。二級存儲器可以配置為映射的存儲器,高速緩存,或兩者的組合。周邊包括兩個多通道緩沖串口(McBSP),兩個通用定時器,一個主機接口(HPI),和一個無縫的外部存儲器接口(EMIF)能夠連接到SDRAM、SBSRAM和異步外設,使得DSP將緩沖串口數據的存放提供強有力的硬件支持。該C6711擁有一套完整的開發工具包括:一個新的C編譯器,匯編優化器來簡化編程和調度,和Windows調試界面的可視性,源代碼執行,為后續軟件的操控與調試帶來了方便。模擬的語言信號輸入,經過運算放大器,被AD50芯片采集,轉換為數字信號并進行低頻濾波傳入到TMS320C6XX的RAM單元,TMS320C6XX將接收到的數據傳入SRAM寄存器中,如果傳出的話,也是通過AD50芯片,將數字信號轉換為模擬信號經過功率放大器輸出。這里涉及到C6XX的McBSP寄存器,共有兩個,大小都是256K。McBSP和其他設備之間的通信包含75 Mbps的167 MHz-200 MHz的CPU時鐘和50 Mbps的100 MHz的CPU時鐘。必須確保在數據表中指定的交流時間了。McBSP通信最大比特速率為67 Mbps;因此,最小CLKR / X時鐘周期是兩倍的CPU周期時間(2P),或15納秒(67 MHz)。例如,當運行部分在167MHz(P = 6 ns),用15ns作為最小CLKR / X時鐘周期(通過設置適當的CLKGDV比或外部時鐘源)。當運行部分在60MHz(P = 16.67 ns),使用2P = 33 ns(30 MHz)為最小CLKR / X時鐘周期。McBSP將MCBSP通信的最大比特率應用串行端口時,主時鐘和幀同步(與CLKR連接CLKX,FSR與FSX,clkxm = FSXM = 1,和clkrm = FSRM = 0)中的數據延遲,1或2模式(R模式端= 01B或10B)與其他設備通信的McBSP是下位機。
數字串行接口包括移位時鐘(SCLK)、幀同步信號(FS),輸出ADC通道數據(DOUT),和DAC通道數據輸入(DIN)[3]。主幀同步的間隔期間,SCLK時鐘的ADC通道的結果通過DOUT和時鐘16(15 + 1)位的數據通過DIN。在主要的通信,數據字是ADC轉換結果。在二次通信中,數據是在讀/寫位要求時,寄存器讀結果。通過DIN期間發生所有的寄存器編寫,和數據鎖存和幀同步信號在SCLK的下降沿有效。如果想要一個特定的寄存器的默認值,該寄存器在二次通信間隔期間不需要處理。no op命令(DS15–DS8都設置為0)地址偽登記(登記0),沒有寄存器編寫發生在通信。此外,每個登記可以通過回讀DOUT,在二次通信通過設置讀位(DS13)1。當該寄存器是在讀模式,沒有數據可以寫在這個周期的寄存器。DS13必須清除寫入登記。
如果讀的是不要求寫入,第二字的低八位都是零[4]。采用主從狀態(m/s)終端是由二次通信的MSB反射(DOUT,位DS15)和初級通信LSB(DOUT,位D0)而在15+1模式。當設備處于從屬模式,輸出保持在高阻抗狀態直到一個非零的值是作為一個下位機的數量控制寄存器3(位D7、D6)。 當多個AD50或AD52連接到一個單一的DSP的串行接口在主從配置,控制寄存器,程序應按以下順序在設備初始化:Control register 1, Control register 2, Control register 4, Control register 3。所有AD50或AD52設備將配置同一個全局初始化寫入寄存器1,2,和4。一旦寄存器3程序寫入(設置FS和FSD之間sclks數),每個設備將開始在指定的時隙通信。
AD50的輸入輸出端如圖1所示,反相的DAC輸出。outm輸出可裝載600?。outm功能相同和互補輸出。outm也可以單獨使用單端操作。同相的DAC輸出。輸出可裝載600?。對于TLC320AD52幀同步功能, TLC32AD52只能支持一個從機, FSD終端功能可以通過控制寄存器位D2,FSD加載到寄存器3的值必須乘以2得到的延遲sclks實際數量。DOUT、DIN、SCLK、FS和FC是串行通信信號。從ADC的數字輸出數據到DOUT。該DAC的數字輸入數據應用于DIN。同步時鐘的串行通信數據幀同步是從SCLK。從ADC或DAC信號傳輸數據,主要采用串口通信[5]。讀寫詞,控制設備的選項和電路結構,二次通信。
兩個差分模擬輸入(INP和INM或auxp和auxm)復用到∑Δ調制器的輔助通道性能類似于正常的輸入通道[6]。一個單桿的抗混疊濾波器必須連接到InP和INM(也auxp和auxm,如果使用)。如果一個RC用于單極濾波器R值不應大于1 K?。輸入放大器的增益設置通過控制寄存器4。為了產生最佳的可能,共模抑制不必要的信號性能,模擬信號被處理的差異,直到它被轉換為數字數據。信號施加到端子INM和InP應該差保護裝置規格。如果直接使用單端輸入信號,那么信號電平的6分貝就會丟失。信號源驅動的模擬輸入(INP和INM或auxp和auxm)應該有一個低源阻抗,低噪聲,性能和精度最好。
3軟件編輯及MATLAB仿真
然而聲音信號的采集光靠這些硬件的堆砌是不夠的,FIR濾波是其很好的選擇,濾波器必須將模擬信號轉換成數字信號,這個AD50已經完成,且為了保持信號的不失真,對于采樣速率也有要求,采樣頻率為信號頻率的5倍左右[7] 。數據的輸出經FIR濾波器通過DA輸出來。FIR濾波器基本結構分為四大類,分別為橫截型(卷積和公式),級聯型(實系數二階因子的乘積),頻率抽樣(離散傅里葉變換,),快速卷積(圓卷積帶替線性卷積)。編程環境可采用CCS6.0開發環境,再采樣MATLAB連接程序設計語言,進行仿真,觀看參數。例如MATLAB有自帶的數據采集函數庫,可直接對PC上的音頻信號進行采集,方便進行調試。工具箱函數buttp buttor butter在CCS開發環境中應用C語言進行編程,會生成text,cinit,bss,stack,sysmem代碼段,在開發環境中,先初始化DSP,初始化UART,初始化McBSP0和AD50,再使能MCBSP0中斷,之后便是數據采集,端點檢測結束點,其中,UART大的時鐘為1.8432MHz,并且波特率9600。MCBSP0每一幀包含一位數據,設置AD50以8k速率進行采樣。
現有一實例,一帶雜音的WAV文件,雜音集中在低頻,而高頻部分才是對我們有用的,所以對該雜音進行傅里葉變換,濾掉雜音后在對信號進行傅里葉逆變換,即還原回了原音頻信號,用FDATool工具和Filter實現濾波處理,plot()函數繪制原信號波形圖……下面圖2為MATLAB中FIR濾波器高通,帶通,帶阻的仿真波形。
4總結與展望
語音識別及仿真技術是一門新興學科,從實驗室到市場,從工業到民間,二十多年的發展使我們認識到語音及仿真技術的重要性,從最早期的通話,到現在的互聯網+人與智能之間的交互,現在國內做的好的主要有科大訊飛,尚科語音,捷通華聲等等,我們也能看到這一技術正在快速的融入我們的生活中,比如現在手機輸入法都自帶語音轉換成文字的功能,蘋果的Siri等等。隨著互聯網的更進一步發展及社會的進步,相信在不久的將來,語音處理及仿真技術使用起來將會更加得心應手,也將給人類社會帶來更多的驚喜與便捷,希望此文能給后人解去一些疑惑,提供一份有價值的參考資料,也望業內高手多多指教。
參考文獻
[1]肖瑩慧.基于DSP的語音信號采集系統研究與設計[J].信息通信,2013.
[2]牛景濤.基于DSP實現的數字語音信號處理技術研究[D].西北工業大學,2013.
[3]謝德芳.數字信號處理[M].北京:北京科學出版社,2005.
[4]張雄偉.現代語言處理技術及應用[M].北京:機械工業出版社,2006.
[5]吳家安.語音編碼技術及應用[M].北京:機械工業出版社,2006.
[6]劉幺,宋庭新.語音識別與控制應用技術[M].北京:科學出版社,2008.
[7] 張雪英.數字語音處理及MATLAB仿真[M].北京:電子工業出版社,2012.