基于DSP的通用語音編譯碼器設計與實現
2.2 控制器程序設計
控制器工作有兩個狀態,即本地控制工作狀態和通信傳輸工作狀態。本地控制狀態就是實現對編譯碼器的控制與管理,而通信工作狀態僅僅完成DSP與PC機之間的信息傳輸,這里只說明DSP、控制器和PC機之間的程序設計。由于DSP的HINT引腳和單片機的INT0引腳相連接,HINT中斷有效觸發的是單片機的INT0中斷,所以PC機的上位機軟件要響應DSP的中斷只能在控制器與PC機的控制協議中完成,DSP在發送完成一個數據后無法采用中斷的方式告訴上位機。為解決這個問題,上位機采用查詢的方式,即在控制器中設置一個標志位send_end,初始化為0,當DSP發送完一個字節數據后置該標志位為1,上位機每發送完一個數據,通過控制器觸發一次DSPINT中斷,并讀回send_end的值判斷,若為1則傳送下一個字節,否則等待控制器將當前數據發送完成。
2.3 上位機軟件設計
上位機軟件采用學生容易掌握的VB語言實現,其主界面如圖4所示。本文引用地址:http://www.104case.com/article/149450.htm
主界面主要完成系統初始化,并顯示系統需要檢測和控制的內容。初始化正常后,上位機程序即可通過控制器向DSP的指令地址發送控制命令,DSP查詢此地址的命令字,并根據命令字進入相應的服務程序(MIC語音、線路語音或數據通信。DSP在初始化中默認的是MIC語音處理),如果要進行線路語音處理則在控制界面上選擇“線路輸入語音”控制命令,這時控制子界面將用戶選擇的命令通過控制器送DSP,DSP查詢到并判斷是線路輸入語音命令后即執行線路輸入語音子程序,這時如果將數據輸出端口與數據輸入端口、對應的同步信號連接好的話,從耳機可聽到經過語音編碼和譯碼后的電腦播放的音樂,從聽到的音樂比較編譯碼后的語音質量。如果在命令控制界面選擇“計算機數據通信”控制命令,即可進行計算機數據通信實驗。
3 實際測試
3.1 語音信號編譯碼測試
首先將PC機的線路輸出用信號線連接到編譯碼器的LINE輸入,啟動編譯碼實驗系統,然后由PC機播放MP3音樂,測試得到的8 kHz幀同步和64 kHz位同步時鐘的波形如圖5所示。
圖6是在64 kHz位同步時鐘情況下編碼后的音樂數據波形,在譯碼器輸出端用耳機可以聽到MOS分在4 dB以上的音樂。
低通濾波器相關文章:低通濾波器原理
評論