專利名稱:用dsp實現的多通路環繞聲虛擬重發實時處理裝置的制作方法
技術領域:
本實用新型屬于電學的電聲技術,具體地說是一種能夠用DSP實現的多通路環繞聲虛擬重發實時處理裝置,該裝置采用DSP處理方式實現多通路的環繞聲虛擬重發,具有有效聽音范圍寬,而且能夠形成穩定的后方聲像的效果。
目前國內的AV產品所用核心技術基本上來源于國外,而大部分產品都還沒有使用虛擬聲系統而少部分所用的揚聲器虛擬聲都是進口的虛擬聲信號處理芯片,由于在虛擬處理中用到了很多的數字信號處理技術,要求系統必須具有較強的數字信號處理運算能力。普通的單片機或者微處理器不能夠滿足這一要求。
本實用新型的另一個目的是提供一種能夠用DSP實現的多通路環繞聲虛擬重發實時處理裝置,該裝置能夠虛擬出公眾影院的多個環繞聲揚聲器的重發效果,其后方環繞聲的感覺更具有包圍感。
本實用新型的結構主要包括DSP(數字信號處理器),連接于DSP上的用于存儲程序的ROM及用于存儲計算數據的RAM。
本實用新型還可以包括有用于轉換數據格式的輸入輸出接口芯片。輸入輸出接口芯片負責將接收到的多路串行數字音頻信號轉化為DSP可以讀取的數據,以及采樣頻率、處理方式等控制和狀態信息。針對不同型號的DSP與輸入數據格式,該接口的設計也不同,或者可以省略而由DSP直接接收數字音頻信號。
DSP對接收到的音頻信號進行處理,將運算結果送回輸入輸出接口芯片,由其實現數據格式的轉換后再送給D/A變換器,或是由DSP直接將運算結果送到D/A變換器,視DSP型號與數據格式的情況而定。DSP回送給輸入輸出接口或直接輸出的數據可以是二聲道聲音信號,也可以是多聲道聲音信號。
輸入輸出接口芯片可以接收從A/D變換器或者其它設備發送的串行數字音頻信號,其格式可以是分離通道的I2S格式、左/右對齊格式,或者是TDM的I2S及左/右對齊格式等。輸入輸出接口芯片利用中斷與DSP通信,通過數據總線(并行)或者是串行通信口(串行)與DSP交換數據。輸入輸出接口芯片可以用一片或多片CPLD或者是FPGA來設計實現,視乎CPLD及FPGA的結構與容量而定。
CPLD設計的輸入接口邏輯包括串并轉換移位寄存器、緩沖寄存器、地址譯碼器、中斷發生器和邏輯控制單元;該輸入接口與DSP相接。多通路I2S格式的串行數字聲音信號進入串并轉換移位寄存器后,轉換為并行數據并存儲在輸出緩沖寄存器內。每完成一組的采樣數據轉換后,中斷發生器產生一個中斷信號發送給DSP。DSP向輸入接口發出讀數據信號,輸入接口中的地址譯碼單元對DSP發出的輸入地址進行譯碼并選通對應的輸出緩沖寄存器,將數據依次輸出到數據總線上。輸入接口具有兩個中斷輸出引腳,分別對應數字聲音信號的左右通道在不同的引腳上發出中斷信號。
所述的引腳為EINT4引腳、EINT5引腳。當接收到I2S定義的左通道的數據時,由EINT4引腳向DSP發出中斷信號;當接收到I2S定義的右通道的數據時,由EINT5引腳向DSP發出中斷信號。
CPLD設計的輸出接口邏輯包括并串轉換、緩沖寄存器、地址譯碼器、中斷發生器和邏輯控制單元;控制單元根據輸入的I2S幀同步信號產生中斷信號并發送給DSP。DSP響應中斷后向輸出接口發出寫數據信號,輸出接口的地址譯碼單元對DSP發出的地址進行譯碼,選通相應的輸入緩沖寄存器,依次接收上述的的數據,并通過并串轉換,將其轉換為I2S格式的串行數字音頻信號輸出。輸出接口具有兩個中斷輸出引腳,分別對應數字聲音信號的左右通道在不同的引腳上發出中斷信號。
所述的引腳為EINT6引腳、EINT7引腳,當需接收I2S定義的左通道信號時,由EINT6引腳向DSP發出中斷信號;當需接收I2S定義的右通道信號時,由EINT6引腳向DSP發出中斷信號。
與其它在模擬信號域的處理方案相比,本實用新型直接對數字音頻信號進行處理,避免了由A/D和D/A變換所帶來的噪聲和失真。由于在處理運算過程中采用了高精度數據格式,同時避免了數據溢出量化范圍所導致的失真。而且利用通用DSP系統,可以方便靈活的實現多種算法,對以后的算法改進和升級也帶來了極大的便利。
總之,本實用新型所實現的環繞聲虛擬重發系統比起現有的虛擬重發系統來,其有效聽音范圍要更加寬,而且能夠形成穩定的后方聲像。并且能夠虛擬出公眾影院的多個環繞聲揚聲器的重發效果,其后方環繞聲的感覺更具有包圍感。
圖3為本實用新型實施例的CPLD設計輸出接口邏輯結構圖,圖4為本實用新型實施例的總體控制流程圖,圖5為本實用新型實施例的對數據處理的控制流程圖。
使用CPLD設計的輸入接口邏輯包括串并轉換移位寄存器、緩沖寄存器、地址譯碼器、中斷發生器和邏輯控制單元,其結構如圖2所示。該輸入接口作為16位寬的異步讀寫設備與DSP相接。多通路I2S格式的串行數字聲音信號進入串并轉換移位寄存器后,轉換為并行數據并存儲在輸出緩沖寄存器內。每次可完成3個通道(左、左環繞、中置,或右、右環繞、低音)的轉換。每完成一組(3個聲道)的采樣數據轉換后,中斷發生器產生一個中斷信號發送給DSP。DSP向CPLD發出讀數據信號,CPLD中的地址譯碼單元對輸入地址進行譯碼并選通對應的輸出緩沖寄存器,將3個聲道的數據依次輸出到16位寬的數據總線上。CPLD具有兩個中斷輸出引腳,分別對應數字聲音信號的左右通道在不同的引腳上發出中斷信號。當接收到左通道的數據時,向DSP的EINT4引腳發出中斷信號;當接收到右通道的數據時,向DSP的EINT5引腳發出中斷信號。
使用CPLD設計的輸出接口邏輯包括并串轉換、緩沖寄存器、地址譯碼器、中斷發生器和邏輯控制單元。結構如圖3所示。控制單元根據輸入的I2S幀同步信號產生中斷信號并發送給DSP。DSP響應中斷后向CPLD發出寫數據信號,CPLD的地址譯碼單元對DSP發出的地址進行譯碼,選通相應的輸入緩沖寄存器,依次接收3個聲道的數據,并通過并串轉換,將其轉換為3路I2S格式的串行數字音頻信號輸出。CPLD具有兩個中斷輸出引腳,分別對應數字聲音信號的左右通道在不同的引腳上發出中斷信號。當需接收左通道信號時,向DSP的EINT6引腳發出中斷信號;當需接收右通道信號時,向DSP的EINT7引腳發出中斷信號。
DSP的控制流程采用以下結構流程分為主控制流程和處理流程兩個部分。
如圖4所示,主控制流程在上電后執行DSP的設置和運算中的參數設置。設置完成后,打開DSP的EDMA(Enhanced Direct MemoryAccess,增強直接內存存取)通道允許功能。由外部中斷觸發的EDMA隨即開始從輸入接口傳輸數據到SDRAM中。當輸入數據緩沖區滿后,通過設置標志值(一般是開關變量)來啟動處理程序。在檢測到處理完成后,利用EDMA將輸出緩沖區中的處理后的結果送到輸出接口。本控制流程中緩沖區的大小設定為每聲道128點。
如圖5所示,處理流程中對輸入緩沖區執行虛擬處理,在處理完成后將結果存入輸出緩沖區,并設置相應的標志值(同上也是開關變量)。
如圖6所示,為兩聲道數據處理子流程。當對兩聲道的數據進行處理時,在兩聲道數據補零并執行和差變換得到M、S兩個通路的數據后、需分別計算出M、S兩個通路數據的FFT變換值。處理流程中根據兩個通路的輸入數據均為實數序列的特點,首先將兩個通路的數據x1(k)和x2(k)分別作為實部和虛部構成一個復數序列x(k),然后再對該復數序列作FFT變換,并依據如下公式由結果X(k)分別導出兩個通路的FFT變換值X1(k)和X2(k)。此方法可以減少一半的FFT變換次數,更有利于處理過程的實時實現。X1(k)=12[X(k)+X*(N-k)]]]>X2(k)=-j12[X(k)-X*(N-k)]]]>處理流程中的FFT變換采用同址運算的方式實現,即每一次蝶形運算的輸出結果都存放回其輸入數據的存儲位置。在此情況下,在FFT變換運算結束后,所得到的結果數據是以位反轉順序存放的。因此,本程序中的虛擬運算系數數組∑和△也同樣采用位反轉順序來存放。這樣,FFT變換結果與虛擬運算系數數組的存放位置一一對應,可以方便的實現對應樣點的相乘操作,而不必進行地址的查找與轉換。相乘后得到的結果依然是以位反轉順序存放的。當兩通路的數組X1(k)和X2(k)都完成乘法操作后,再利用下面公式將其細合成一組復數數據X(k)并對其執行一次同址運算的IFFT變換,所得到的結果的實部與虛部就是按正常順序排放的所需要的結果。
ED Equation.3 |X(k)=X1(k)+jX2(k)}對該結果的前128點數據與上一次的保留數據相加后,將后128點數據存放入保留數據區,前128點數據做和差變換并存放至輸出緩沖區。
對左右環繞聲道Ls和Rs的處理方法與對左右聲道L和R的處理過程相同。對C聲道和LFE聲道則平均分到左右聲道,即減半后同時加到左右聲道去。在所有聲道的數據處理完成后,設置處理完成標志,以此通知數據可被輸出。
利用以上處理方法,可以將原算法中的4次FFT和IFFT減少為2次FFT和IFFT,能夠減少近一半的運算量,從而降低對硬件的性能要求。
本實用新型所列舉的實施方式,僅是能夠實現本實用新型的一種具體的方案,并不代表能夠實現本實用新型的所有技術方案,凡是能夠采取與本實用新型相同或者近似的方法,達到相同的效果的技術方案,都應該在本實用新型的保護范圍之內。
權利要求1.一種用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于該裝置包括DSP(數字信號處理器),連接于DSP上的用于存儲程序的ROM及用于存儲計算數據的RAM。
2.如權利要求1所述的用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于該裝置還可以包括有用于轉換數據格式的輸入輸出接口芯片,輸入輸出接口芯片負責將接收到的多路串行數字音頻信號轉化為DSP可以讀取的數據,以及采樣頻率、處理方式等控制和狀態信息,輸入輸出接口芯片可以用一片或多片CPLD或者是FPGA來設計實現。
3.如權利要求2所述的用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于DSP回送給輸入輸出接口的數據可以是二聲道聲音信號,也可以是多聲道聲音信號。
4.如權利要求2所述的用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于輸入輸出接口芯片可以接收從A/D變換器或者其它設備發送的串行數字音頻信號,其格式可以是分離通道的I2S格式、左/右對齊格式,或者是TDM的I2S及左/右對齊格式等;輸入輸出接口芯片利用中斷與DSP通信,通過數據總線(并行)或者是串行通信口(串行)與DSP交換數據。
5.如權利要求2所述的用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于CPLD設計的輸入接口邏輯包括串并轉換移位寄存器、緩沖寄存器、地址譯碼器、中斷發生器和邏輯控制單元;該輸入接口與DSP相接,多通路I2S格式的串行數字聲音信號進入串并轉換移位寄存器后,轉換為并行數據并存儲在輸出緩沖寄存器內,每完成一組的采樣數據轉換后,中斷發生器產生一個中斷信號發送給DSP,DSP向輸入接口發出讀數據信號,輸入接口中的地址譯碼單元對DSP發出的輸入地址進行譯碼并選通對應的輸出緩沖寄存器,將數據依次輸出到數據總線上;輸入接口具有兩個中斷輸出引腳,分別對應數字聲音信號的左右通道在不同的引腳上發出中斷信號。
6.如權利要求5所述的用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于所述的引腳為EINT4引腳、EINT5引腳;當接收到I2S定義的左通道的數據時,由EINT4引腳向DSP發出中斷信號;當接收到I2S定義的右通道的數據時,由EINT5引腳向DSP發出中斷信號。
7.如權利要求2所述的用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于CPLD設計的輸出接口邏輯包括并串轉換、緩沖寄存器、地址譯碼器、中斷發生器和邏輯控制單元;控制單元根據輸入的I2S幀同步信號產生中斷信號并發送給DSP。DSP響應中斷后向輸出接口發出寫數據信號,輸出接口的地址譯碼單元對DSP發出的地址進行譯碼,選通相應的輸入緩沖寄存器,依次接收上述的數據,并通過并串轉換,將其轉換為I2S格式的串行數字音頻信號輸出。輸出接口具有兩個中斷輸出引腳,分別對應數字聲音信號的左右通道在不同的引腳上發出中斷信號。
8.如權利要求7所述的用DSP實現的多通路環繞聲虛擬重發實時處理裝置,其特征在于所述的引腳為EINT6引腳、EINT7引腳,當需接收I2S定義的左通道信號時,由EINT6引腳向DSP發出中斷信號;當需接收I2S定義的右通道信號時,由EINT7引腳向DSP發出中斷信號。
專利摘要本實用新型是一種能夠用DSP實現的多通路環繞聲虛擬重發實時處理裝置,該裝置包括DSP(數字信號處理器),連接于DSP上的用于存儲程序的ROM及用于存儲計算數據的RAM,采用DSP處理方式實現多通路的環繞聲虛擬重發,具有有效聽音范圍寬,而且能夠形成穩定的后方聲像的效果。
文檔編號H04S7/00GK2579127SQ0228558
公開日2003年10月8日 申請日期2002年11月18日 優先權日2002年11月18日
發明者管善群, 李俊鵬, 李長濱, 何宜銘 申請人:Tcl王牌電子(深圳)有限公司