基于ADPCM的數(shù)字語音存儲與回放系統(tǒng)設(shè)計方案(二)
4 程序設(shè)計
本文引用地址:http://m.butianyuan.cn/article/174639.htm系統(tǒng)軟件部分由單片機的C51語言和FPGA的Ver-ilogHDL語言組成。其中,單片機主要完成用戶輸入輸出處理和系統(tǒng)的控制,F(xiàn)PGA主要完成需要嚴(yán)格時序控制(如數(shù)據(jù)采集、頻譜顯示)以及大規(guī)模數(shù)據(jù)計算(如FFT、ADPCM 編碼)等。整個系統(tǒng)的設(shè)計中模塊化思想貫穿始終,采用菜單鍵選擇所用功能,系統(tǒng)流程圖如圖10 所示。
5方案測試與結(jié)果
5.1 測試儀器
測試儀器包括直流穩(wěn)壓穩(wěn)流電源,型號為SG1733SB3A;60M 數(shù)字存儲示波器,型號為TektronixTDS1002;秒表。
5.2 方案測試與結(jié)果
5.2.1 語音存儲與回放效果測試
(1)一名組員面對麥克風(fēng)以不同大小的聲音說話,錄下一段語音,記錄回放語音的效果,結(jié)果見表1.
(2)由耳機輸入不同音量的立體聲音樂,錄下一段語音,記錄回放語音的效果,結(jié)果見表2.
5.2.2 語音存儲時間測試
(1)由耳機不間斷地輸入立體聲音樂,啟用錄音模式,待系統(tǒng)顯示存儲器存滿后,回放語音,用秒表記錄語音回放最長時間,結(jié)果見表3.
(2)一名組員面對麥克風(fēng)不間斷地說話,啟用錄音模式,待系統(tǒng)顯示存儲器存滿后,回放語音,用秒表記錄語音回放最長時間,結(jié)果見表4.
5.2.3 語音頻譜分析及顯示測試
由耳機或麥克風(fēng)輸入一段語音信號,由揚聲器直接播放出來,同時在示波器上實時顯示頻譜。測試結(jié)果為當(dāng)播放的聲音變化時,可觀察到頻譜有相應(yīng)的明顯變化。
由于不能明確知道語音信號的實時頻率和幅度信息,故只對頻譜進行了定性測試。
6總結(jié)
該系統(tǒng)設(shè)計方案實現(xiàn)了語音存儲及回放,最長存儲時間達(dá)2 min,回放語音效果清晰良好,并能在示波器上實時顯示語音頻譜。采用ADPCM 編碼在保證回放音質(zhì)的情況下,極大地提高了存儲器的利用率,并通過對語音信號采用分幀加窗的方法實現(xiàn)了短時頻譜分析。
另外,系統(tǒng)采取了一系列抗干擾措施以減小噪聲,如數(shù)字地與模擬地分開走線,在一點匯合;電源處采用一個10 μF和0.1 μF的電容并聯(lián)去耦;時鐘走線盡量短等。但系統(tǒng)在語音回放時仍存在一定的噪聲,尤其當(dāng)輸入語音音量較小時,噪聲更為明顯,這是本方案需要完善的地方。(作者:李濤,曾攀 ,肖功海)
評論