《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于DSP的數字效果器的研究

基于DSP的數字效果器的研究

2008-10-14
作者:游林儒 李 慧 方昌始

??? 摘? 要: 提出了一種基于TMS320VC5402 DSP的音頻信號" title="音頻信號">音頻信號處理系統。介紹了該系統的總體方案和硬軟件設計,并對音頻信號的處理算法進行了論述。實際使用證明,所述的基于 DSP的硬件和軟件系統是一個很好的音頻信號采集與處理系統。?

??? 關鍵詞: 音頻信號? 音頻效果? 數字信號處理?

?

??? 在調音臺和各種音響設備上,效果器是一種不可缺少的設備。有了效果器,才有了聲音的千變萬化。高質量的效果器能達到令人滿意的效果,使人有身臨其境的感覺。現在效果器上的效果種類越來越多,有的多達幾十種。實際上從聲學原理考慮,一共只有五種基本效果:?

??? (1)延時/延遲類(包括延時、延遲、混響" title="混響">混響、殘響等),?

??? (2)壓縮類(包括噪聲門、均衡器等),?

??? (3)失真類(包括各種失真、金屬、“臟”效果器等),?

??? (4)合唱類(包括立體聲、鑲邊、八度器等),?

??? (5)濾波器(包括哇音、相位等)。?

??? 目前國內的效果器市場多被國外產品所壟斷,價格昂貴。國產的效果器又多為模擬實現,成本高、損耗大、干擾大、穩定性差,且參數不易修改。而基于DSP的數字效果器,是一種具有內置的數字接口且可進行數字音頻處理的音響系統,它能克服以上缺點,達到令人滿意的效果。?

1 系統總體方案?

??? 音頻信號處理系統如圖1所示,整個系統由單片機MCU、數字信號處理器DSP、A/D和D/A轉換器、外擴存儲器、顯示屏和鍵盤等組成。其中MCU作為主機,整個系統的初始化和控制都由它來完成。DSP作為從機,主要完成音頻信號的算法處理,實現各種效果。而LED則把通過鍵盤控制的各種效果及其參數顯示出來,以便工作人員及時調整和修改。由于DSP內部存儲器較小,不能滿足系統數據和程序存儲需要,所以需要外擴存儲器。?

?

?

??? 系統工作時,輸入的音頻信號是模擬信號,經過高精度、高速度的ADC轉換之后得到一串數字信號,分幀送入到波形輸入緩沖區RAM。然后經過DSP內部高速處理,通過各種算法實現各種效果。經過處理的音頻信號再輸入到高精度、高速度的DAC轉換器中,還原成模擬的聲音信號,經音響功率放大電路放大輸出。?

??? 為了實現音效的實時處理,加入了緩沖區。系統中各模塊是同時進行處理的,一部分信號正在ADC中進行轉換,而另一部分信號則正在DSP處理器中進行算法處理。整個系統以流水線方式進行工作,保證了對音效的實時處理。?

2 系統硬件電路的設計?

??? DSP芯片選用美國TI公司的TMS320VC5402(以下簡稱‘C5402),單片機選用PIC16F72,A/D和D/A轉換器選用24位的CS4228A,其較寬的動態范圍能夠滿足高保真的音頻系統的要求。?

2.1 ‘C5402?

??? ‘C5402是TI公司于1999年10月推出的性價比較高的定點數字信號處理器,主要特點如下:?

??? ·具有先進的多總線結構,三條16位數據存儲器總線,一條程序存儲器總線和四條地址總線;?

??? ·操作速率達100MIPS;?

??? ·40位算術邏輯單元(ALU),包括一個40位桶形移位器和兩個40位累加器;?

??? ·一個17×17乘法器和一個40位專用加法器,允許16位帶/不帶符號的乘法;?

??? ·整和維特比加速器,用于提高維特比編譯碼的速度;?

??? ·8個輔助寄存器及一個軟件棧,允許使用最先進的定點DSP、C語言編譯器;?

??? ·數據/程序尋址空間為1M×16位,內置4K×16位ROM和16K×16位RAM;?

??? ·內置可編程等待狀態發生器、鎖相環(PLL)時鐘產生器、兩個多通道" title="多通道">多通道緩沖串行口、一個8位與外部處理器通信的HPI口、兩個16位定時器以及6通道DMA控制器;?

??? ·低功耗,工作電源為3V和1.8V(內核)。?

??? DSP通過其McBSP口與CS4228A相連。McBSP串口" title="串口">串口是在TDM串口和BSP串口的基礎上發展而來的。它既可以實現時分多路通訊功能,又可以通過DSP提供的DMA功能實現不用CPU參與的自動緩存功能,從而把 DSP從繁重的串口通訊中解放出來,提高了運行的效率。McBSP串口由數據接收發送部分、時鐘及幀同步" title="幀同步">幀同步信號產生器、多通道選擇以及CPU中斷信號和DMA同步信號等組成。同以前的串口相比,McBSP串口具有相當大的靈活性。串口的接收和發送時鐘CLKR和CLKX既可由外部設備提供,又可由內部時鐘產生器提供;幀同步信號FSX和FSR的輸入、輸出極性可以進行選擇;串口的信號發送和接收部分既可單獨運行,又可合在一起配合工作;CPU中斷信號和DMA同步信號使得Mc BSP串口可由CPU控制運行,也可脫離CPU通過直接內存存取單獨運行;多通道選擇部分使得串口具備了多通道信號通訊能力。?

??? 正是由于McBSP串口所特有的靈活性,使其可以滿足T1/E1標準和AC97標準。它的多通道接收和發送能力可達128個通道,數據寬度可在8、12、16、20、24和32比特中任選,可進行A律和μ律壓縮和擴展。8比特數據傳送時可選擇從高位或低位開始傳送,幀同步信號和數據時鐘信號的極性可編程,內部時鐘和幀同步信號產生器也可由軟件編程控制。?

2.2 A/D和D/A電路?

??? CS4228A多媒體數字信號編解碼器(CODEC) 在一個壓縮的28針SSOP芯片上可提供兩個模/數轉換器和6個數/模轉換器,并分別帶有音量控制功能。CS4228A芯片具有功能較強、連接方便、控制容易的特點。該芯片與環繞聲解碼器相結合,成為DVD機、A/V功放接收器和汽車音響的理想芯片。它可支持杜比數碼AC-3、AAC、DTS、杜比邏輯環繞聲(Dolby Pro-Logic)、THX和MPEG等標準。一個靈活的串行接口允許使用Left Justified、Right Justified、I2S、或One Line Data 模式。采樣率可達100kHz,具有可連接片外靜音電路的靜音控制引腳,片內具有抗混疊和輸出平滑濾波器。 ?

??? 在本系統中,CS4228A采用主模式的工作方式。在工作過程中,LRCK管腳向DSP發出一個幀同步信號,而采樣的數據信號將接著幀同步信號后由SDOUT管腳向DSP傳送 ,從而完成采樣的全過程。經過DSP處理的數據信號由BDX0管腳向CS4228A傳送。CS4228A與DSP之間的主要接線如圖2所示。?

?

?

2.3 單片機部分?

??? 單片機主要完成兩部分的工作,一是對CS4228A的操作,通過CCLK、CDIN、CS和RST管腳實現對它的初始化和工作模式的選擇;另一就是對鍵盤和LED的控制,實現效果選擇和參數顯示。?

3 軟件設計?

??? 軟件部分包括DSP編程和單片機編程。DSP編程的主要任務是完成音頻信號的算法處理,單片機編程的重點則是管理DSP操作和應用層軟件的編寫。本系統若完全采用匯編語言進行編程,比較麻煩,而C語言以其靈活性和易移植性已經廣泛應用在開發系統中。對于更復雜的系統更是如此。本系統采用了混合編程的方法。?

??? 這里主要介紹一下音頻算法處理的實現。在進行算法研究時,先在PC機上用Matlab進行仿真,然后再移植到DSP平臺中。考慮到效率問題,可進一步進行手工匯編的調整。在各種效果實現的過程中,延時不僅是一種最基本的輸出效果,也是實現其它輸出效果的基礎,如混響效果、合唱效果、弗蘭格效果,都離不開延時。?

??? 基本的延時有兩種,其中一種是不帶反饋的,其原理如圖3所示,它只是對輸入實現一次延時,能實現回聲效果;另一種是帶反饋控制的延時,它能實現聲音的反復延時、重復播放,其原理如圖4所示。?

?

?

?

??? 還有一種特殊的延時,它的延時時間是可變的,可以在基本延時結構的基礎上加一個低頻振蕩器(LFO)來實現。一般情況下,可以用正弦波或者三角波來實現。在合唱和弗蘭格效果的實現過程中就要用到這種延時。其原理如圖5所示。?

?

?

??? 目前,基于數字化的延時設備的應用已非常有效。實際上,數字延時設備的實現非常簡單,只要有一定容量的內存,在每一個取樣間隔將先前值從存儲器的一個單元中讀出來,然后將當前的輸入值存儲在另一個存儲單元中(有時,這兩個存儲區域可能是同一個區域,所以在寫入一個值前,必須首先將其中的值讀出)即可。在下一個取樣期間,讀寫存儲區間的另一個區域,當到達存儲器底部時,又將從第一個存儲區域開始循環。編寫一個延時程序一般會使用兩個指針:一個讀指針和一個寫指針,用來記錄從存儲器讀出的地址和寫入存儲器的地址。每進行一次操作指針就會自動加一。對于第一種不帶反饋的延時,可用如下C程序實現:?

??? void delay( )?

??? {?

??? int?? i,j,k;?

??? for? (i=0;i<=delay_size;i++)?

???? ??? {? if??? (i>=delay)?

?????? ?????????? j=i-delay;? //work out the buffer position?

??????????? else j=i-delay+delay_size+1;?

??? ??? //add the delayed sample to the input sample?

??? ?????????? s=input+delay_buffer[j]*decay;?

??? ??? //store the result in the delay buffer ,and output?

?? ??????????? delay_buffer[i]=s;?

?? ??????????? output=s;?

??? ??? }?

??? }?

??? 混響也是一種比較常用且重要的效果,其實現比較復雜,要通過六個并聯的梳狀濾波器comb和一個全通濾波器allpass才能很好地實現。其實現過程如圖6所示。

?

?

4 CCS集成開發平臺的應用?

??? Code Composer Studio 簡稱CCS,是TI公司推出的為開發TMS320系列DSP軟件的集成開發環境。CCS工作在Windows操作系統下,采用圖形接口界面,提供有編輯工具和工程管理工具。CCS所集成的代碼調試工具具有各種調試功能,包括原TI公司提供的C源代碼調試器和模擬器所具有的全部功能,支持ASM編程、C語言編程以及ASM和C語言混合編程。能對TMS320系列DSP進行指令級的仿真和可視化的實時數據分析。CCS在調試和仿真時具有很強的功能:允許中斷點、剖析點及探測點三種斷點設置,分別實現程序斷點、實時分析和數據導入等功能。此外,還提供豐富的輸入/輸出庫函數和信號處理的庫函數,極大地方便了TMS320系列DSP軟件的開發過程。在程序編譯時,設定不同的編譯選項來控制優化目標,如使用-pm、-o3和內聯函數等,其效果是顯著的,計算速度可提高很多。?

??? 本文設計完成的的音頻信號處理系統實現了音頻的壓縮、失真、均衡、延時、混響等效果,各種效果可以單獨使用,也可以串接使用,都能達到預想的效果。把相同的電吉它信號分別輸入ZOOM 505(日產電吉它音效器)系統和本系統,然后在時域與頻域以及振幅與相位上對輸出波形進行比較,可以看出最后的音色效果幾乎一樣。將它用于調音臺或效果器等音頻設備,具有廣闊的市場前景。?

參考文獻?

1 TMS320VC5402 FixedPoint Signal Processor.TI Technology?Document Sprs079e, 2000.8?

2 彭振哲.使用TMS320C542構成數據采集處理系統.電子技術應用, 2000;26(9)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩a一级欧美一级 | 国产色啪午夜免费视频 | 亚洲无限码 | 亚洲最新在线 | 国产一区二区三区国产精品 | 日韩免费高清一级毛片在线 | 成年日韩免费大片黄在线观看 | 日韩在线视频免费播放 | 手机看片高清国产日韩片 | 欧美三级香港三级日本三级 | 在线观看嗯啊成人动作片 | 精品国产一二三区 | 国产精品成人观看视频免费 | 亚洲黄色在线视频 | 欧美理论在线 | 欧美黑人巨大硬xxx猛性 | 国产欧美日韩另类一区乌克兰 | 成人影院高清在线观看免费网站 | 最新欧美一级视频 | 免费看羞羞视频的网站 | 日本欧美韩国专区 | 狠狠干欧美 | 伊人网久久网 | 午夜视频精品 | 中文天堂 | 日本亚洲免费 | 最新日韩中文字幕 | 最新国产三级 | 欧美日韩乱国产 | 亚洲专区路线一路线二 | 亚洲一区二区三区首页 | 在线观看欧美亚洲 | 日韩美三级 | 美女视频ww8888网网 | 亚洲精品高清国产一久久 | 天天看黄色片 | 一级视频黄色 | 国产白丝在线观看 | 亚洲乱码一二三四区国产 | 国产精品天天看特色大片不卡 | 夜夜爽夜夜操 |