基本信息
MP4全稱為
MPEG-4,是一種集音頻、視頻、收音機等於一體的多功能播放器,是嵌入式系統在消費電子領域的典型發展,語音信號是類似MP4嵌入式系統中常見的一種信號,其特徵是典型的基於時間軸上的一維數位訊號,MP4通過數位訊號處理器
DSP來完成處理傳輸和解碼MP4檔案的任務。其中主要利用數位訊號處理算法對模擬信號數位化後的數據進行處理是決定系統性能的一個關鍵問題。高質量低速率的
語音編碼技術是其中最主要的要求,它將模擬語音信號變成數位訊號以便在信道中傳輸。除了通信頻寬的要求外,嵌入式系統存儲容量的限制也要求對語音進行壓縮,以滿足巨量數據情況下進行實時或準實時微處理器處理的目的。
國內外在語音處理領域的研究焦點集中在兩個方面:
(1)在保證語音質量的前提下,降低數據率,該方法由於數據量的下降對保證語音質量不利;
(2)對傳統的語音編碼器進行全頻帶擴展,使其適應音頻的套用,但是該方法擴展頻寬必然造成數位化後數據量的增加,也不利於滿足嵌入式實時處理的要求。
處理過程
在通話過程中,跟用戶最直接打交道的是說和聽,所以語音數據處理的好壞直接影響了系統實現的成敗。語音數據處理的整個過程可以分為兩個部分:
A/D轉換
A/D轉換,即把原始聲音的模擬輸入轉化為數位化信息。
D/A轉換
編解碼
採用的
AMR語音編碼支持4.65~12.2Kb/s的8種編碼速率,其算法複雜度較高,程式代碼量較大,結構較為複雜。
編碼流程
3GPP TS26.104 V6.1.0(Release6)ANSI-C原始碼中編碼主程式為coder.c,該程式的執行流程為:
(1)處理命令提示符;
(2)打開模式控制檔案;
(3)打開語音輸入檔案及編碼輸出檔案;
(5)以幀為單位壓縮語音;
(6)將編碼後的比特流寫入編碼輸出檔案;
(7)釋放編碼器。
解碼流程
原始碼中解碼主程式為decoder.c,該程式的執行流程為:
(1)處理命令提示符;
(2)打開解碼輸入及輸出檔案;
(4)以幀為單位解碼語音將合成語音數據寫入解碼輸出檔案;
(5)釋放解碼器。
數據處理
在信號處理中,
頻域通常包含了更豐富的信息,對於不同的波形,一般均可以用
傅立葉變換分析:即將時域的波形轉化到頻域分析。MP4音頻中,由於干擾的存在,對數位化的信號,必須採取合適的算法進行濾波處理予以消除。以MP4語音信號處理為例,將快速傅立葉變換
FFT與
FIR濾波方法相結合,以提高嵌入式系統語音處效果。
MP4的典型系統結構
MP4的系統結構主要包括以下幾部分:
(1)DSP+CPU,TLV320AIC23B;
(2)耳機電路;
(3)收音電路;
(4)顯示模組;
(5)鍵盤電路;
(6)USB電路;
(7)電源電路;
(8)錄音電路;
(9)存儲系統。
系統要求
中央處理器和
DSP有較高的處理能力,而且要有一定的系統記憶體。另一方面,由於干擾的存在會影響音頻的質量。
信號輸出過程
(1)MP4歌曲檔案從記憶體中取出並讀取存儲器上的信號;
(2)到解碼晶片對信號進行解碼;
(3)通過
數模轉換器將解出來的數位訊號轉換成模擬信號;
(4)再把轉換後的模擬音頻放大;
(5)低通濾波後到耳機輸出口,輸出後就是我們所聽到的音樂了。
基於FFT的MATLAB語音仿真主要思想
FFT是在離散傅立葉變換
DFT基礎上的快速算法。利用FFT進行處理時,首先利用MATLAB命令中Wavread來獲取語音數據,然後將它給向量x(n)表示,並將該向量視為普通的數據序列,對該序列進行
FFT變換,進行時域頻譜分析,之後按照某個算法對它進行濾波。對於濾波前後波形圖可以用MATLAB直觀地畫出。另外,還可以利用MATLAB的sound命令來對語音信號進行回放,從而從聽覺上對比處理效果。
數字濾波器設計的主要目的
數字濾波器設計的主要目的是實現因果穩定的一個線性時不變系統,所設計的系統函式要有特定的幅頻特性。從濾波器的單位衝激回響或系統結構來看,數字濾波器可以分為無限長單位
衝激回響(
IIR)數字濾波器和有限長單位衝激回響(
FIR)。IIR的系統函式為有理分數,其逼近問題就是求解濾波器的係數,使得在規定的物理意義上逼近所要求的特性的問題。如果是在s平面上逼近,則得到
模擬濾波器;如果是在z平面上逼近,則得到
數字濾波器。FIR數字濾波器是單位脈衝回響函式H(n)為實數,長度為N。按頻域採樣定理,FIR數字濾波器的傳輸函式H(z)和單位脈衝回響H(n)可由它的N個頻域採樣值H(k)唯一確定。