資料介紹
1 前言
在日常生活中人們聽到的各種聲音,其信號強度都是隨時間連續(xù)變化的,我們稱這種信號為模擬信號。傳統的聲音記錄方式是將這種模擬信號直接記錄下來,例如磁 帶錄音和密紋唱片(也稱EP唱片)就是將聲音拾取處理后以磁記錄或機械刻度的方式記錄下來,此時磁帶上剩磁的變化或密紋,唱片音槽內的紋路起伏變化都是與聲音信號的變化相對應、成正比的。記錄儲存這種模擬聲音信號的載體,諸如密紋唱片、盒式磁帶等,稱為模擬音響軟件,而能夠播放和(或)記錄這些軟件的信號 處理設備,諸如電唱機、磁帶錄音機等,則稱為模擬音響設備或模擬音響系統。模擬信號在錄制、傳輸、處理和放大過程中,很容易產生失真和噪聲,使得模擬音響軟件和硬件的電聲技術指標難以大幅度提高[1]。
數字信號抗干擾能力強、無噪聲積累。在模擬通信中,為了提高信噪比,需要在信號傳輸過程中及時對衰減的傳輸信號進行放大,信號在傳輸過程中不可避免地疊加上的噪聲也被同時放大。隨著傳輸距離的增加,噪聲累積越來越多,以致使傳輸質量嚴重惡化。對于數字通信,由于數字信號的幅值為有限個離散值(通常取兩個幅值),在傳輸過程中雖然也受到噪聲的干擾,但當信噪比惡化到一定程度時,即在適當的距離采用判決再生的方法,再生成沒有噪聲干擾的和原發(fā)送端一樣的數字信號,所以可實現長距離高質量的傳輸[2]。
數字通信的信號形式和計算機所用信號一致,都是二進制代碼,因此便于與計算機聯網,也便于用計算機對數字信號進行存儲、處理和交換,可使通信網的管理、維護實現自動化、智能化。數字通信采用時分多路復用,不需要體積較大的濾波器。設備中大部分電路是數字電路,可用大規(guī)模和超大規(guī)模集成電路實現,因此體積小、功耗低。便于構成綜合數字網和綜合業(yè)務數字網。采用數字傳輸方式,可以通過程控數字交換設備進行數字交換,以實現傳輸和交換的綜合。占用信道頻帶較寬。一路模擬電話的頻帶為4kHz帶寬,一路數字電話約占64kHz,這是模擬通信目前仍有生命力的主要原因。隨著寬頻帶信道(光纜、數字微波)的大量利用(一對光纜可開通幾千路電話)以及數字信號處理技術的發(fā)展(可將一路數字電話的數碼率由64kb/s壓縮到32kb/s甚至更低的數碼率),數字電話的帶寬問題已不是主要問題了[3]。
以上介紹了數字信號具有很多優(yōu)點,克服了模擬音響技術的缺陷,數字音響技術應運而生,并從本世紀80年代起獲得了引人注目的發(fā)展。
傳統公共廣播系統(如校園、公園、商場等)同時只能播放一個節(jié)目,因此聽眾的選擇性較小;并且模擬信號在傳輸的過程中會衰減、易受干擾而增加噪聲。隨著以太網基礎設施日趨完善,數字化信號處理已經成熟。因此本文提出了以太網音箱替代傳統模擬廣播音響,利用網絡傳輸數字音頻,既可以保證音頻信號質量,還可以根據應用環(huán)境和區(qū)域進行單播、組播,使廣播內容更有針對性。本項目使用PIC32 Ethernet Starter Kit,利用PIC32 Starter Board PIM Adapter外接DA驅動底板。利用以太網通信傳輸MP3碼流和基于PIC32的高性能軟解碼MP3文件,利用SPI接口驅動DA輸出模擬信號,實現了高效、高質量、低成本的以太網音箱。
2相關技術和原理
2.1相關技術
2.1.1 MP3
MP3全稱是動態(tài)影像專家壓縮標準音頻層面3(Moving Picture Experts Group Audio Layer III)。是當今較流行的一種數字音頻編碼和有損壓縮格式,它設計用來大幅度地降低音頻數據量,而對于大多數用戶來說重放的音質與最初的不壓縮音頻相比沒 有明顯的下降。它是在1991年由位于德國埃爾朗根的研究組織Fraunhofer-Gesellschaft的一組工程師發(fā)明和標準化的。
使用PCM信號進行MP3壓縮時,以1152個PCM采樣值為單位,封裝成具有固定長度的MP3數據幀,幀是MP3文件的最小組成單位。在解碼時,利用數據幀里的信息就可以恢復出1152個PCM采樣值。這1152個采樣值被分為2個粒度組,每個粒度組包含576個采樣值。一個MP3數據幀分為5個部分:幀頭、CRC校驗值、邊信息、主數據、附加數據。
數據流的同步以及幀頭信息的讀取MP3數據流的同步以幀為單位,每一幀的幀頭都包含同步信息。這個同步信息是連續(xù)的12比特的‘1’組成。MP3音頻解碼過程中的第一步就是使解碼器與輸入數據流同步。在啟動解碼器后,可以通過搜索數據流中的12比特長的同步字來完成。在取得同步以后跟著的數據就是幀頭信息,包括采樣率、填充位、比特率等信息。
主數據的讀取在MP3編碼過程中使用了比特池技術,所以當前幀的主數據不一定全部都在當前幀中,在解碼過程中,必須結合主數據開始指針的值來確定主數據的開始位置。主數據包含的數據有縮放因子、哈夫曼數據及附加數據。這些字段在主數據中有固定的格式。
哈夫曼解碼和反量化在MP3編碼過程中,根據心理聲學模型的輸出,對離散余弦變換的輸出樣本以粒度為單位進行的量化和分配,再對量化的結果進行哈夫曼編碼。量化和編碼主要是通過循環(huán)迭代完成的,循環(huán)模塊分為三層來描述,最高層為幀循環(huán),它調用外層迭代循環(huán),而外層迭代循環(huán)又調用內層迭代循環(huán)。但在解碼過程中,哈夫曼解碼和反量化過程是分開實現的。每個粒度組的頻率線都是用不同的哈夫曼表來進行編碼的,因此在解碼過程中,需要采用不同的解碼方法。反量化頻譜過程就是基于所得到的哈夫曼解碼數據,根據逆量化全縮放公式和幀邊信息,對于不同的窗類型采用不同的公式以恢復576個頻率線的真實值。
反量化過程中得出的頻譜值不是按相同順序排列的。在編碼的MDCT過程中,對于長窗產生的頻譜值先按子帶然后按頻率排列;對于短窗,產生的頻譜值按子帶、窗、頻率的順序排列。為了提供哈夫曼編碼效率,短窗中的數據被重新排列,按照子帶、頻率、窗的順序排列。解碼時,重排序及時將短窗中的頻譜值重新排列。同樣,在編碼的MDCT過程中,為了得到更好的頻域特性,對長窗對應每個子帶進行了去混疊處理,為了得到正確的音頻信號,在解碼時必須對長窗對應的子帶進行混疊重建。
逆向離散余弦變換主要是使用逆向離散余弦變換的公式,對反量化得出的信號進行變換。逆向離散余弦變換的計算十分復雜,為了提高效率,可以對計算做一些優(yōu)化。
頻率反轉和子帶合成頻率反轉是對逆向離散余弦變換的輸出值中的奇數號子帶(0到31號子帶中的1,3,5,。..,31)中的奇數號樣本值(每個子帶中的 0到17號樣本值的1,3,5,。..,17號樣本值)進行反相處理,用來補償編碼時為提高離散余弦變換效率而進行的頻率反轉。子帶合成濾波器將32個帶寬相等的子帶中的頻域信號反變換成時域信號。子帶合成是逆向離散余弦變換后的一個通道中32個子帶的樣值,經過一系列的計算還原出32個PCM數字音頻信號的過程。子帶合成過程先將32個子帶樣值進行逆向離散余弦變換,生成64個中間值,將這64個中間值轉入到一個長為1024點的類似先進先出FIFO的緩存,再在這1024個值中抽取一半,構成一個512個值的矢量,再進行加窗運算,最后將加窗結果進行疊加生成32個時域輸出。
2.1.2 RTLL
應用程序開發(fā)人員可能考慮在他們的應用程序中使用開源的代碼組件。開源代碼的證書可能要求覆蓋特殊代碼。這個要求對開發(fā)人員的開發(fā)或擁有者很不方便。RTLL(Run-Time Library Loading),運行時庫載入技術便應用于這種情形下。利用這種技術不會將開源代碼鏈接到主應用程序。它們被另外編譯,兩者不相互聯系。開源程序庫是在運行時才會利用載入器將函數指針集合載入[4]。
在日常生活中人們聽到的各種聲音,其信號強度都是隨時間連續(xù)變化的,我們稱這種信號為模擬信號。傳統的聲音記錄方式是將這種模擬信號直接記錄下來,例如磁 帶錄音和密紋唱片(也稱EP唱片)就是將聲音拾取處理后以磁記錄或機械刻度的方式記錄下來,此時磁帶上剩磁的變化或密紋,唱片音槽內的紋路起伏變化都是與聲音信號的變化相對應、成正比的。記錄儲存這種模擬聲音信號的載體,諸如密紋唱片、盒式磁帶等,稱為模擬音響軟件,而能夠播放和(或)記錄這些軟件的信號 處理設備,諸如電唱機、磁帶錄音機等,則稱為模擬音響設備或模擬音響系統。模擬信號在錄制、傳輸、處理和放大過程中,很容易產生失真和噪聲,使得模擬音響軟件和硬件的電聲技術指標難以大幅度提高[1]。
數字信號抗干擾能力強、無噪聲積累。在模擬通信中,為了提高信噪比,需要在信號傳輸過程中及時對衰減的傳輸信號進行放大,信號在傳輸過程中不可避免地疊加上的噪聲也被同時放大。隨著傳輸距離的增加,噪聲累積越來越多,以致使傳輸質量嚴重惡化。對于數字通信,由于數字信號的幅值為有限個離散值(通常取兩個幅值),在傳輸過程中雖然也受到噪聲的干擾,但當信噪比惡化到一定程度時,即在適當的距離采用判決再生的方法,再生成沒有噪聲干擾的和原發(fā)送端一樣的數字信號,所以可實現長距離高質量的傳輸[2]。
數字通信的信號形式和計算機所用信號一致,都是二進制代碼,因此便于與計算機聯網,也便于用計算機對數字信號進行存儲、處理和交換,可使通信網的管理、維護實現自動化、智能化。數字通信采用時分多路復用,不需要體積較大的濾波器。設備中大部分電路是數字電路,可用大規(guī)模和超大規(guī)模集成電路實現,因此體積小、功耗低。便于構成綜合數字網和綜合業(yè)務數字網。采用數字傳輸方式,可以通過程控數字交換設備進行數字交換,以實現傳輸和交換的綜合。占用信道頻帶較寬。一路模擬電話的頻帶為4kHz帶寬,一路數字電話約占64kHz,這是模擬通信目前仍有生命力的主要原因。隨著寬頻帶信道(光纜、數字微波)的大量利用(一對光纜可開通幾千路電話)以及數字信號處理技術的發(fā)展(可將一路數字電話的數碼率由64kb/s壓縮到32kb/s甚至更低的數碼率),數字電話的帶寬問題已不是主要問題了[3]。
以上介紹了數字信號具有很多優(yōu)點,克服了模擬音響技術的缺陷,數字音響技術應運而生,并從本世紀80年代起獲得了引人注目的發(fā)展。
傳統公共廣播系統(如校園、公園、商場等)同時只能播放一個節(jié)目,因此聽眾的選擇性較小;并且模擬信號在傳輸的過程中會衰減、易受干擾而增加噪聲。隨著以太網基礎設施日趨完善,數字化信號處理已經成熟。因此本文提出了以太網音箱替代傳統模擬廣播音響,利用網絡傳輸數字音頻,既可以保證音頻信號質量,還可以根據應用環(huán)境和區(qū)域進行單播、組播,使廣播內容更有針對性。本項目使用PIC32 Ethernet Starter Kit,利用PIC32 Starter Board PIM Adapter外接DA驅動底板。利用以太網通信傳輸MP3碼流和基于PIC32的高性能軟解碼MP3文件,利用SPI接口驅動DA輸出模擬信號,實現了高效、高質量、低成本的以太網音箱。
2相關技術和原理
2.1相關技術
2.1.1 MP3
MP3全稱是動態(tài)影像專家壓縮標準音頻層面3(Moving Picture Experts Group Audio Layer III)。是當今較流行的一種數字音頻編碼和有損壓縮格式,它設計用來大幅度地降低音頻數據量,而對于大多數用戶來說重放的音質與最初的不壓縮音頻相比沒 有明顯的下降。它是在1991年由位于德國埃爾朗根的研究組織Fraunhofer-Gesellschaft的一組工程師發(fā)明和標準化的。
使用PCM信號進行MP3壓縮時,以1152個PCM采樣值為單位,封裝成具有固定長度的MP3數據幀,幀是MP3文件的最小組成單位。在解碼時,利用數據幀里的信息就可以恢復出1152個PCM采樣值。這1152個采樣值被分為2個粒度組,每個粒度組包含576個采樣值。一個MP3數據幀分為5個部分:幀頭、CRC校驗值、邊信息、主數據、附加數據。
數據流的同步以及幀頭信息的讀取MP3數據流的同步以幀為單位,每一幀的幀頭都包含同步信息。這個同步信息是連續(xù)的12比特的‘1’組成。MP3音頻解碼過程中的第一步就是使解碼器與輸入數據流同步。在啟動解碼器后,可以通過搜索數據流中的12比特長的同步字來完成。在取得同步以后跟著的數據就是幀頭信息,包括采樣率、填充位、比特率等信息。
主數據的讀取在MP3編碼過程中使用了比特池技術,所以當前幀的主數據不一定全部都在當前幀中,在解碼過程中,必須結合主數據開始指針的值來確定主數據的開始位置。主數據包含的數據有縮放因子、哈夫曼數據及附加數據。這些字段在主數據中有固定的格式。
哈夫曼解碼和反量化在MP3編碼過程中,根據心理聲學模型的輸出,對離散余弦變換的輸出樣本以粒度為單位進行的量化和分配,再對量化的結果進行哈夫曼編碼。量化和編碼主要是通過循環(huán)迭代完成的,循環(huán)模塊分為三層來描述,最高層為幀循環(huán),它調用外層迭代循環(huán),而外層迭代循環(huán)又調用內層迭代循環(huán)。但在解碼過程中,哈夫曼解碼和反量化過程是分開實現的。每個粒度組的頻率線都是用不同的哈夫曼表來進行編碼的,因此在解碼過程中,需要采用不同的解碼方法。反量化頻譜過程就是基于所得到的哈夫曼解碼數據,根據逆量化全縮放公式和幀邊信息,對于不同的窗類型采用不同的公式以恢復576個頻率線的真實值。
反量化過程中得出的頻譜值不是按相同順序排列的。在編碼的MDCT過程中,對于長窗產生的頻譜值先按子帶然后按頻率排列;對于短窗,產生的頻譜值按子帶、窗、頻率的順序排列。為了提供哈夫曼編碼效率,短窗中的數據被重新排列,按照子帶、頻率、窗的順序排列。解碼時,重排序及時將短窗中的頻譜值重新排列。同樣,在編碼的MDCT過程中,為了得到更好的頻域特性,對長窗對應每個子帶進行了去混疊處理,為了得到正確的音頻信號,在解碼時必須對長窗對應的子帶進行混疊重建。
逆向離散余弦變換主要是使用逆向離散余弦變換的公式,對反量化得出的信號進行變換。逆向離散余弦變換的計算十分復雜,為了提高效率,可以對計算做一些優(yōu)化。
頻率反轉和子帶合成頻率反轉是對逆向離散余弦變換的輸出值中的奇數號子帶(0到31號子帶中的1,3,5,。..,31)中的奇數號樣本值(每個子帶中的 0到17號樣本值的1,3,5,。..,17號樣本值)進行反相處理,用來補償編碼時為提高離散余弦變換效率而進行的頻率反轉。子帶合成濾波器將32個帶寬相等的子帶中的頻域信號反變換成時域信號。子帶合成是逆向離散余弦變換后的一個通道中32個子帶的樣值,經過一系列的計算還原出32個PCM數字音頻信號的過程。子帶合成過程先將32個子帶樣值進行逆向離散余弦變換,生成64個中間值,將這64個中間值轉入到一個長為1024點的類似先進先出FIFO的緩存,再在這1024個值中抽取一半,構成一個512個值的矢量,再進行加窗運算,最后將加窗結果進行疊加生成32個時域輸出。
2.1.2 RTLL
應用程序開發(fā)人員可能考慮在他們的應用程序中使用開源的代碼組件。開源代碼的證書可能要求覆蓋特殊代碼。這個要求對開發(fā)人員的開發(fā)或擁有者很不方便。RTLL(Run-Time Library Loading),運行時庫載入技術便應用于這種情形下。利用這種技術不會將開源代碼鏈接到主應用程序。它們被另外編譯,兩者不相互聯系。開源程序庫是在運行時才會利用載入器將函數指針集合載入[4]。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- RJ45以太網口EMC設計總結 85次下載
- PIC32入門指南 22次下載
- PIC32自舉程序 11次下載
- 以太網工作原理說明 23次下載
- 帶浮點單元系列的PIC32位單片機的數據手冊資料免費下載 6次下載
- Microchip下的PIC32概述
- PIC32閃存編程規(guī)范
- PIC32以太網入門工具包的中文介紹和使用的詳細概述
- 如何對PIC32系列器件使用PIC32采樣率轉換庫的詳細概述
- PIC32系列參考手冊之中斷
- PIC32系列參考手冊之帶On-The-Go(OTG)功能的高速USB
- PIC32 FRM系列器件配置的詳細中文資料概述
- PIC32功能特性及以太網工具包用戶指南
- PIC32系列中文參考手冊—第34章 控制器局域網(CAN)
- PIC32系列中文參考手冊—第35章 以太網控制器
- Profinet與以太網的區(qū)別 2132次閱讀
- 工業(yè)以太網的特點 工業(yè)以太網的關鍵技術包含哪些? 1076次閱讀
- 以太網筆記:快速以太網100Base-TX接口及編碼 8592次閱讀
- FPGA如何為以太網和千兆以太網解決低功耗問題 3825次閱讀
- Microchip PIC32 MCU的主要特性及開發(fā)應用 3562次閱讀
- 工業(yè)以太網到底有什么類型 3171次閱讀
- 工業(yè)以太網與傳統以太網絡的比較 4248次閱讀
- 工業(yè)以太網的特點_工業(yè)以太網的技術特點 6993次閱讀
- 一文詳解什么是實時以太網 1.3w次閱讀
- 以太網的CAN總線系統設計 1448次閱讀
- 汽車以太網與工業(yè)以太網物理層對比 1.4w次閱讀
- 淺談以太網與寬帶之間的區(qū)別 4.9w次閱讀
- 汽車以太網標準為什么這么重要?汽車以太網標準有什么作用? 1.5w次閱讀
- 基于PIC32的以太網與CAN總線的網橋設計 1030次閱讀
- 基于Xilinx FPGA的千兆以太網控制器的開發(fā) 3w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多