??? 摘? 要: 設計了一種可用于語音信號處理的CODEC芯片,討論了濾波器組的多級實現。設計中充分利用順序執行、左右聲道共享電路、時分復用等思想優化了電路面積。該芯片設計采用Silterra18標準CMOS工藝流片成功,通過測試完全達到了設計要求。?
????關鍵詞: 音頻CODEC;抽取濾波器;多級實現
?
??? 近年來,音頻CODEC被廣泛應用于數字電話、MP3、PDA等便攜式設備中,其核心在于模數轉換器的設計。本文設計了一種可廣泛應用于數字音頻領域的CODEC芯片,它主要包括抽取濾波器和插值濾波器組的設計,并采用過采樣技術和多級濾波結構以簡化濾波器的設計。?
1 系統結構?
??? 由于插值濾波器和抽取濾波器的實現結構非常類似,只是信號流的方向相反,通過簡單的置換關系就能得到插值濾波器的實現,所以本文只詳細介紹抽取濾波器組的實現。?
??? 抽取濾波器組的系統結構如圖1所示。該設計輸出采樣率為44.1 kHz,輸出精度16 bit。從SDM輸出的數字信號進入CIC濾波器做34倍的抽取,然后進入高通濾波去除直流分量,再進入240階FIR濾波器做4倍的抽取,最后從I2S數字音頻接口輸出。
?
?
2 系統實現?
2.1 CIC抽取濾波器?
??? 級聯積分梳狀濾波器是一種簡單的整系數濾波器,優點是可以用簡單的積分器和減法器實現較高的過采樣倍數。其系統函數為:?
?????
式中M為過采樣倍數,N為級聯CIC濾波器的個數。?
??? 通過Matlab仿真4階CIC,在實現所需要的抽取倍數的同時還能濾除帶外諧波,其實現結構如圖2所示。?
?
?
??? 由CIC濾波器的結構可知,每級必須保持一定的精度,否則會發生運算溢出。由字長公式計算得出當過采樣率為34時,字長需大于20.4,本設計中CIC濾波器字長選擇22 bit。SDM調制后的信號在CIC濾波器的阻帶截止頻率176 kHz處有60 dB的衰減,因此只需設計CIC濾波器在阻帶截止頻率176 kHz處為38 dB即可。為了保證設計冗余,選取其在176 kHz處的衰減為90 dB。圖3是CIC濾波器輸出信號的頻譜,可看出它能滿足設計要求。?
?
?
2.2 高通濾波器?
??? 因為在SDM輸出的數字信號中用0代表-1,引入的直流分量需要濾除。本設計采用求平均值去直流的方法:去直流又分為加速和不加速模式,加速模式是通過N次累加所得的和再除以N,可得到一個加速模式下的平均值,它只用約10~20 ms就能計算出一個平均值。不加速模式是實際中用到的,它先求出兩個相鄰周期的平均值,然后通過加+1或-1使相鄰周期的平均值相同,從而避免相鄰周期減去的平均值不同產生的高頻噪聲。它要大約每過500 ms~1 s為一個累加周期才能計算出一個CIC濾波器輸出數據的平均值。然后用輸入的數據減去平均值就可去掉直流。圖4為高通濾波器的實現框圖。?
?
?
2.3 FIR抽取濾波器?
??? FIR濾波器除了要完成4倍的抽取還要對CIC濾波器的衰減進行補償。當級聯級數為4,過采樣倍數為34時,CIC衰減的幅度為1.4 dB。本設計采用基于切比雪夫逼近的等波紋FIR設計方法,該方法能使濾波器在信號頻帶與理想特性的逼近誤差的峰值最小。采用matlab中提供的Remez函數,調整其中的參數a0和f0,經過多次調試可以得出一組濾波器系數,使其在0~20 kHz范圍內的幅頻特性曲線有一定的抬高。圖5為FIR濾波器補償后的整體幅頻響應。?
?
?
??? 當FIR濾波器的實現采用傳統的多相結構時,將會需要大量的乘法器和加法器。本設計采用順序執行的方式實現,利用ROM存儲濾波器系數,RAM存儲濾波器輸入數據,在MCLK的一個時鐘節拍運算一次乘累加,就可把長度為240的濾波器分為240次來運算。圖6為該濾波器實現結構圖。?
?
?
??? rom數據的讀?。河捎跒V波器的系數是對稱的,只需將120個濾波器系數存入rom中,這樣可以節省一半的存儲空間。讀取系數時,地址先依次遞增,等到最后一個系數讀出后再依次遞減,便可讀出所有的240個濾波器系數。?
??? ram數據的讀寫:在一次濾波過程中(即在一個LRCK周期中),首先往ram中寫入一個數據,接著連續60次讀出ram數據;反復4次,即往ram中寫入了4個數據,讀出了240個數據;再與讀出的rom數據相乘可得一次濾波結果。ram讀數據和rom讀數據是同步的。由此也可看出,在一個LRCK周期中寫入4個數據,經過運算送出一個數據完成了4倍的抽取。?
3 芯片實現與測試?
??? 本設計采用Silterra18標準CMOS工藝一次流片成功,其數字電路版圖如圖7所示。?
?
?
??? 數字電路面積2.04 mm2,Standard cell共12 228個,其中register為3 027個。?
??? 最后對芯片進行了THD+N、幅頻特性測試和FFT分析,其結果在設計允許的范圍之內。圖8為ADC+DAC的FFT測試波形,其信噪比也達到了設計要求。?
?
?
??? 通過數次在不同負載條件下的測試分析,該設計的音頻CODEC芯片滿足設計指標要求。?
??? 本文根據數字音頻設備的需要設計了一款CODEC芯片,它包括兩個濾波器組的設計:抽取濾波器和插值濾波器。設計中CIC濾波器的實現比較簡單,可以實現較大的抽取及插值倍數,高通濾波器采用了較為巧妙的方法去除直流分量,FIR濾波器不但補償了CIC濾波器的帶內衰減,還通過順序結構的思想設計了基于rom和ram實現FIR,共享了乘、加法單元,優化了電路面積。?
參考文獻?
[1] 飛思科技產品研發中心.MATLAB7基礎與提高.北京:電子工業出版社,2005.?
[2] 皇甫堪,陳建文,樓生強.現代數字信號處理.北京:電子工業出版社,2003.?
[3] 帕里,陳弘毅.VLSI數字信號處理系統:設計與實現.北京:機械工業出版社,2004.?
[4] (美)克勞切拉賓納著.多抽樣率數字信號處理.鄧廣增譯.北京:人民郵電出版社,1988.