語(yǔ)音隱藏通信系統(tǒng)的設(shè)計(jì)_第1頁(yè)
語(yǔ)音隱藏通信系統(tǒng)的設(shè)計(jì)_第2頁(yè)
語(yǔ)音隱藏通信系統(tǒng)的設(shè)計(jì)_第3頁(yè)
語(yǔ)音隱藏通信系統(tǒng)的設(shè)計(jì)_第4頁(yè)
語(yǔ)音隱藏通信系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 編號(hào): 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)題 目: 語(yǔ)音隱藏通信系統(tǒng)的設(shè)計(jì) 學(xué) 院: 信息與通信學(xué)院 專(zhuān) 業(yè): 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 職 稱(chēng): 題目類(lèi)型: 理論研究 實(shí)驗(yàn)研究 工程設(shè)計(jì) 工程技術(shù)研究 軟件開(kāi)發(fā)2015 年 6月 8 日第 1 頁(yè) 共 4 頁(yè)桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 摘 要信息隱藏作為保障信息安全的新技術(shù),吸引了國(guó)內(nèi)外眾多學(xué)者的關(guān)注,已經(jīng)成為信息安全領(lǐng)域的研究熱點(diǎn)。信息隱藏是集多學(xué)科理論與技術(shù)于一身的新興技術(shù)領(lǐng)域,其最大的優(yōu)勢(shì)便是:除通信雙方之外的任何第三方都不知道被隱藏消息存在這個(gè)事實(shí),使得需要保護(hù)的消息由“看不懂”變?yōu)椤翱床灰?jiàn)

2、”。隨著數(shù)字化和網(wǎng)絡(luò)化的發(fā)展,其應(yīng)用價(jià)值會(huì)顯示得越發(fā)突出。實(shí)現(xiàn)實(shí)時(shí)采集,傳輸與播放語(yǔ)音,具有語(yǔ)音通信質(zhì)量好,不需要對(duì)原始語(yǔ)音實(shí)現(xiàn)盲提取等優(yōu)點(diǎn),為語(yǔ)音信息隱藏技術(shù)搭建一個(gè)實(shí)驗(yàn)平臺(tái)。本系統(tǒng)采用STM32系列單片機(jī)最小核心板作為主控制器,首先從PC機(jī)輸出音樂(lè),采用STM32單片機(jī)自帶的ADC進(jìn)行AD轉(zhuǎn)換,對(duì)音樂(lè)信號(hào)進(jìn)行采樣,在單片機(jī)內(nèi),將隱藏的信息嵌入音頻信號(hào)中。變化后的數(shù)據(jù),經(jīng)nRF24L01無(wú)線(xiàn)模塊發(fā)出。在接收端對(duì)嵌入信息進(jìn)行提取后,分兩路輸出,一路進(jìn)行DA轉(zhuǎn)換并通過(guò)數(shù)字功放和濾波電路后輸出;另一路提出嵌入的數(shù)據(jù),通過(guò)串口輸出到PC端。在保證語(yǔ)音質(zhì)量的條件下實(shí)現(xiàn)實(shí)時(shí)語(yǔ)音信息隱藏保密通信的功能。文

3、章概述了基于STM32微處理器,結(jié)合nRF24L01無(wú)線(xiàn)通信模塊的語(yǔ)音隱藏傳輸系統(tǒng)的設(shè)計(jì)相關(guān)原理,硬件設(shè)計(jì)、軟件編寫(xiě)流程圖以及軟硬件的調(diào)試和誤差分析。同時(shí),還介紹了整個(gè)無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)思路和簡(jiǎn)明的通信協(xié)議。關(guān)鍵詞:信息隱藏;STM32單片機(jī);nRF24L01無(wú)線(xiàn)模塊;隱藏信息的嵌入和提取第 2 頁(yè) 共 4 頁(yè)桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 AbstractInformation hiding information security as new technology, attracted the attention of many scholars at home and a

4、broad, it has become a hot field of information security. Information hiding is a new set of multi-disciplinary technical field theory and technology in one of its biggest advantages is that: any third party except the communicating parties do not know the existence of this fact is hidden message ma

5、kes the message look in need of protection from " do not know "to" invisible. " As digital technology and network development, its value will be displayed have become more prominent. Real-time collection, transmission and playback of voice, with good quality voice communication,

6、without the original voice of blind extraction, etc., to build an experimental platform for voice information hiding.The system uses a minimum core board STM32 MCU as the master controller, the first output from the PC music, that comes with using the STM32 microcontroller ADC AD conversion of the m

7、usic signal is sampled in the microcontroller, the hidden information embedded in the audio signal . Data after the change, the issue nRF24L01 wireless module. After receiving the end of the embedded information extraction, two routes output, one carried out through the DA converter and a digital am

8、plifier and filter circuit output; the other way proposed to embed data output to the PC via the serial port. Under conditions to ensure the voice quality to achieve real-time voice communications confidential information hidden features.The article outlines the STM32 microprocessor-based design pri

9、nciples combined nRF24L01 related wireless communication module hidden voice transmission systems, hardware design, software development, hardware and software flow chart and debugging and error analysis. It also explains the entire wireless data transmission system design and concise communication

10、protocols.Keywords: information hiding; STM32 microcontroller; nRF24L01 wireless module; embedding and extracting information hidden第 4 頁(yè) 共 4 頁(yè)桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 目 錄引言11 系統(tǒng)設(shè)計(jì)要求21.1 系統(tǒng)功能21.2  總體方案22 設(shè)計(jì)論證32.1 音樂(lè)信號(hào)模數(shù)間轉(zhuǎn)換論證32.2 微處理器(MCU)選擇論證32.3 語(yǔ)音中信息隱藏的方法43 系統(tǒng)硬件設(shè)計(jì)43.1 微處理器(MCU)模塊43.1.1 STM32F103x

11、x簡(jiǎn)介43.1.2 模數(shù)間轉(zhuǎn)換53.2 采樣量化的基本原理63.3 nRF24L01無(wú)線(xiàn)傳輸模塊介紹73.3.1 nRF24L01無(wú)線(xiàn)傳輸模塊引腳圖73.3.2 nRF24L01無(wú)線(xiàn)傳輸模塊及其用法73.3.3 nRF24L01無(wú)線(xiàn)通信協(xié)議83.4 串口模塊設(shè)計(jì)93.5 PAM8403數(shù)字功放板及濾波電路94 系統(tǒng)軟件設(shè)計(jì)104.1 系統(tǒng)軟件主流程114.2 系統(tǒng)功能實(shí)現(xiàn)124.2.1 模數(shù)轉(zhuǎn)換124.2.2 單片機(jī)內(nèi)嵌入隱秘信息124.2.3 無(wú)線(xiàn)發(fā)射數(shù)據(jù)124.2.4 無(wú)線(xiàn)接收數(shù)據(jù)134.2.5 提取嵌入的隱秘信息144.2.6 數(shù)模轉(zhuǎn)換144.3 數(shù)據(jù)隱藏及變化過(guò)程分析145 系統(tǒng)調(diào)試和

12、參數(shù)測(cè)試155.1 調(diào)試使用儀器155.2 調(diào)試過(guò)程和誤差分析155.2.1 硬件調(diào)試155.2.2 AD和DA調(diào)試155.2.3 系統(tǒng)聯(lián)合調(diào)試155.2.4 語(yǔ)音隱藏系統(tǒng)的有效性和安全性分析165.3 參數(shù)測(cè)試175.3.1 測(cè)試指標(biāo)和方法185.3.2 測(cè)試注意事項(xiàng)236 結(jié)論236.1 系統(tǒng)完成情況236.2 系統(tǒng)的特色236.3 設(shè)計(jì)過(guò)程中遇到的問(wèn)題和解決方法236.3.1 方案問(wèn)題236.3.2 硬件問(wèn)題246.3.3 軟件問(wèn)題246.4 感悟25謝 辭26參考文獻(xiàn)27附 錄28第 29 頁(yè) 共 28 頁(yè)桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 引言 信息隱藏技術(shù)是利用多媒體信息中存

13、在的冗余及人類(lèi)感知系統(tǒng)的特性,在不影響原始多媒體的感知質(zhì)量的前提下,把額外的信息隱藏到原始載體中的一種技術(shù)。信息隱藏技術(shù)按載體信息的類(lèi)型分為語(yǔ)音和音頻信息隱藏、圖像和音頻信息隱藏等。利用實(shí)時(shí)語(yǔ)音傳遞隱秘信息,將隱秘信息嵌入到語(yǔ)音幀中,在隱蔽通信中受到越來(lái)越多的關(guān)注,具有應(yīng)用范圍廣,整體效果良好的特點(diǎn)?,F(xiàn)如今,無(wú)線(xiàn)通信技術(shù)正處于飛速發(fā)展的過(guò)程當(dāng)中,在許多領(lǐng)域內(nèi)扮演著非常重要的角色。人們希望設(shè)計(jì)出來(lái)的通信設(shè)備具有體積小、攜帶方便,而且同樣具有強(qiáng)大的功能的特點(diǎn),比較無(wú)線(xiàn)傳輸方式與有線(xiàn)傳輸可以知道,使用無(wú)線(xiàn)傳輸有很多優(yōu)點(diǎn):無(wú)需立桿架線(xiàn),而且覆蓋范圍廣,系統(tǒng)組網(wǎng)靈活并具有彈性,適用于復(fù)雜的場(chǎng)合;語(yǔ)音信號(hào)

14、的質(zhì)量很高,傳輸過(guò)程中的產(chǎn)生誤碼率很低,而且既安全也有保密性;通信過(guò)程中發(fā)生問(wèn)題時(shí)能花費(fèi)很少時(shí)間解決問(wèn)題,從而恢復(fù)正常運(yùn)行。在未來(lái),短距離無(wú)線(xiàn)傳輸將向著更高傳輸率、精度更高的方向發(fā)展,而且傳輸協(xié)議也會(huì)進(jìn)一步簡(jiǎn)單,成本降低,給我們的生活帶來(lái)方便。本課題對(duì)系統(tǒng)的硬件部分和軟件部分作出了較為詳細(xì)的介紹。首先要弄清楚各個(gè)功能模塊的特點(diǎn)和功能,采用模塊化的思想方法使操作不至于太復(fù)雜。最后對(duì)系統(tǒng)的硬件和軟件部分進(jìn)行調(diào)試,在調(diào)試的時(shí)候應(yīng)該注意一些容易出錯(cuò)的地方,程序采用C語(yǔ)言編程并用keil軟件調(diào)試。在本次畢業(yè)設(shè)計(jì)中,設(shè)計(jì)一個(gè)可以嵌入隱藏?cái)?shù)據(jù),而且可以提取出來(lái)的語(yǔ)音隱藏通信系統(tǒng)。系統(tǒng)主要運(yùn)用STM32作為核

15、心處理芯片,因?yàn)樘幚硪纛l信號(hào)需要高位的微處理器,而且STM32集成的AD和DA很好地完成了音頻信號(hào)模數(shù)間的相互轉(zhuǎn)換,為數(shù)據(jù)的無(wú)線(xiàn)傳輸建立基礎(chǔ)。無(wú)線(xiàn)傳輸采用一對(duì)nRF24L01實(shí)現(xiàn),nRF24L01傳輸距離遠(yuǎn)、數(shù)據(jù)量大,是一款性?xún)r(jià)比很高的無(wú)線(xiàn)傳輸芯片。USB/串口轉(zhuǎn)換電路中使用的常見(jiàn)轉(zhuǎn)換芯片是CH340G,實(shí)現(xiàn)USB接口對(duì)最小核心板的供電和USB信號(hào)與串口信號(hào)轉(zhuǎn)換。這些器件低成本,性能高,可以達(dá)到較高的設(shè)計(jì)標(biāo)準(zhǔn),還很好完成了本科畢業(yè)設(shè)計(jì)的任務(wù)要求。 1 系統(tǒng)設(shè)計(jì)要求1.1 系統(tǒng)功能 1、單片機(jī)內(nèi)采集音樂(lè)信號(hào); 2、對(duì)信號(hào)進(jìn)行AD或DA處理,滿(mǎn)足發(fā)送或接收數(shù)據(jù)要求; 3、單片機(jī)將數(shù)據(jù)進(jìn)行處理,將串

16、口接收到的的隱藏?cái)?shù)據(jù)嵌入到音頻信號(hào)最低有效位中; 4、完成無(wú)線(xiàn)傳輸、提取隱藏?cái)?shù)據(jù)、DA輸出并放大; 5、還原音樂(lè)。1.2  總體方案 圖1.1 發(fā)射模塊圖1.2 接收模塊圖1.1和圖1.2是發(fā)送系統(tǒng)和接收系統(tǒng)的總體框圖,由圖可知,本系統(tǒng)硬件部分由兩塊最小核心板、兩個(gè)無(wú)線(xiàn)通信傳輸模塊、USB/串口轉(zhuǎn)換電路、一個(gè)接收系統(tǒng)的數(shù)字功放和濾波電路組成。本設(shè)計(jì)主要是運(yùn)用STM32作為核心處理芯片,因?yàn)樘幚砺曇粜盘?hào)需要高位的微處理器,而且STM32集成的AD和DA很好的完成了聲音信號(hào)模數(shù)間轉(zhuǎn)換,為數(shù)據(jù)的無(wú)線(xiàn)傳輸建立基礎(chǔ)。USB/串口模塊電路可以完成接收PC端從串口調(diào)試助手傳輸過(guò)來(lái)的隱藏信

17、息,和對(duì)單片機(jī)的供電。無(wú)線(xiàn)傳輸部分使用一對(duì)nRF24L01通信模塊來(lái)實(shí)現(xiàn),傳輸數(shù)據(jù)量大而且價(jià)格不高,既簡(jiǎn)單又實(shí)用。濾波電路作用是盡可能減小高頻信號(hào)的影響。這些器件成本低、性能高,可以達(dá)到較高的設(shè)計(jì)標(biāo)準(zhǔn)。 2 設(shè)計(jì)論證2.1 音樂(lè)信號(hào)模數(shù)間轉(zhuǎn)換論證聲音信號(hào)無(wú)線(xiàn)傳輸之前需要把模擬信號(hào)轉(zhuǎn)為數(shù)字信號(hào),即AD,然后才能以數(shù)據(jù)包形式發(fā)送出去;當(dāng)收到信號(hào)后,只有高低電平,因此需要把數(shù)字信號(hào)轉(zhuǎn)為模擬信號(hào),即DA,把數(shù)據(jù)還原成模擬信號(hào),因此數(shù)模轉(zhuǎn)換的準(zhǔn)確度是聲音信號(hào)模數(shù)轉(zhuǎn)換處理芯片的選擇標(biāo)準(zhǔn)。下面進(jìn)行幾個(gè)模數(shù)間轉(zhuǎn)換可選方案的分析: 可選方案一:使用芯片ADC0809方案;可選方案二:使用MAX187+TLV56

18、16芯片組成AD和DA方案;可選方案三:采用單片機(jī)STM32集成AD和DA模塊。比較三個(gè)方案,方案一采用8位的ADC00809,雖然成本低,但只是8位精度,對(duì)于音樂(lè)信號(hào)處理誤差太大,會(huì)使音樂(lè)信號(hào)嚴(yán)重失真,因此也不符合。方案二是采用12位的AD芯片MAX187和12位的DA芯片TLV5616組成模數(shù),這些芯片轉(zhuǎn)換速率適中,外圍電路簡(jiǎn)單,同MCU連接引腳少,而且成本也不高,適合本課題。方案三是采用單片機(jī)STM32集成的ADC和DAC是12位轉(zhuǎn)換精度,由于轉(zhuǎn)換模塊集成在芯片中,電路簡(jiǎn)單,而且能節(jié)約成本,所以此方案最適合。本課題將采用STM32集成的功能實(shí)現(xiàn)音樂(lè)信號(hào)的模數(shù)間轉(zhuǎn)換。2.2 微處理器(MC

19、U)選擇論證本設(shè)計(jì)中使用的MCU系統(tǒng)作為控制的基本要求為:1、帶有硬件并行時(shí)序以滿(mǎn)足STM32單片機(jī)對(duì)nRF24L01模塊作為無(wú)線(xiàn)發(fā)送接收對(duì)完成兩芯片之間數(shù)據(jù)的高速且大量的發(fā)送和接收,STM32滿(mǎn)足這個(gè)條件;2、帶有硬件串行口,如I2C、SPI等,用以控制其它器件,完成各個(gè)功能;3、有很高的指令執(zhí)行速度和運(yùn)算能力,保證能對(duì)聲音信號(hào)進(jìn)行快速處理,達(dá)到聲音信號(hào)模數(shù)間轉(zhuǎn)換對(duì)頻率的要求;4、可以方便進(jìn)行在線(xiàn)調(diào)試,方便程序下載到硬件后綜合調(diào)試。微處理器(MCU)設(shè)計(jì)可選方案有:方案一:使用AT89C52單片機(jī),AT89C52單片機(jī)是8位單片機(jī);方案二:使用STM32系列單片機(jī),STM32單片機(jī)是32位單

20、片機(jī)。比較這兩方案,51系列單片機(jī)作為經(jīng)典的單片機(jī)系統(tǒng)處理器,具有8位微處理器51系列單片機(jī)作為低成本以及大家比較熟悉單片機(jī)系統(tǒng),AT89C52的40個(gè)引腳是有三個(gè)P口的,每個(gè)P口有8管腳,其它作為功能引腳。它不僅編程簡(jiǎn)單而且成本也低,應(yīng)當(dāng)是課題的首選,但是8位低位處理器芯片,對(duì)聲音信號(hào)AD采集和DA轉(zhuǎn)換速率達(dá)不到要求,因此不能采用。STM32是一個(gè)通用微控制器產(chǎn)品系列,內(nèi)核是使用ARM 32位的CM3微處理器。STM32系列單片機(jī)有多款系列產(chǎn)品,設(shè)計(jì)靈活多樣而且配置豐富,滿(mǎn)足不同用戶(hù)的的不同要求,能給用戶(hù)提供經(jīng)濟(jì)又實(shí)用的選擇。STM32按處理性能不同通常可分成幾個(gè)不同的系列: STM32F1

21、01“基本型”, STM32F103“增強(qiáng)型”和另外“超值型”等。打個(gè)比方,基本型STM32單片機(jī)的時(shí)鐘頻率為36MHz,用相同的價(jià)格情況下能購(gòu)買(mǎi)到性?xún)r(jià)比更高的同類(lèi)型產(chǎn)品,因此深受購(gòu)買(mǎi)者的喜愛(ài)和選擇;增強(qiáng)型系列是同類(lèi)微控制中性能最高的,當(dāng)其時(shí)鐘頻率72MHz時(shí),從閃存運(yùn)行代碼,STM32功耗只有36mA,是32位市場(chǎng)上功耗最低的產(chǎn)品1。而且它還集成了12位的AD和DA轉(zhuǎn)換模塊,不需要獨(dú)立設(shè)計(jì)數(shù)模間轉(zhuǎn)換電路,因此十分符合本課題低成本,高性能設(shè)計(jì)要求。所以MCU模塊采用STM32芯片實(shí)現(xiàn)。2.3 語(yǔ)音中信息隱藏的方法 由于人類(lèi)聽(tīng)覺(jué)系統(tǒng)(HAS)較為靈敏,對(duì)隨機(jī)噪聲敏感,也會(huì)對(duì)信號(hào)同步的要求更高。因

22、此,設(shè)計(jì)和實(shí)現(xiàn)基于語(yǔ)音的信息隱藏系統(tǒng)與其他載體相比而言遇到不小的挑戰(zhàn)性。本次設(shè)計(jì)采用最不重要位法(LSB),即將信息隱藏在音頻信號(hào)最低位而且不易引起他人注意,以此達(dá)到傳送隱秘信息的目的。LSB法信息嵌入和提取的速度快、容易實(shí)現(xiàn)且隱藏容量大,但其穩(wěn)健性較差,濾波、噪聲干擾等都會(huì)出現(xiàn)破壞秘密信息。本文介紹采用的隱秘方法隱秘性比較高,嵌入和提取速度快,誤碼率也比較低。3 系統(tǒng)硬件設(shè)計(jì)3.1 微處理器(MCU)模塊本設(shè)計(jì)采用STM32單片機(jī),STM32是一款低性能高成本的處理器,芯片集成了模數(shù)轉(zhuǎn)換功能完全適合對(duì)聲音信號(hào)的ADC和DAC處理,具有眾多接口與其它芯片相連,完成系統(tǒng)所需功能。3.1.1 ST

23、M32F103xx簡(jiǎn)介 微處理器芯片是整個(gè)無(wú)線(xiàn)傳輸系統(tǒng)的核心,無(wú)論是在數(shù)據(jù)處理方面還是在對(duì)外接模塊的控制方面,處理器的工作性能良好與否直接決定著整個(gè)系統(tǒng)的性能。STM32F103xx增強(qiáng)型系列使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率是72MHz,內(nèi)置高速存儲(chǔ)器,具有豐富的增強(qiáng)型I/O端口和兩條外設(shè)總線(xiàn)APB1和APB2上可以接許多種外設(shè)。STM32F103xx系列集成了多種功能,都有12位的ADC、3個(gè)通用16位定時(shí)器和一個(gè)高級(jí)定時(shí)器,還含有足夠的通信接口,通信接口有以下所列:多達(dá)2個(gè)I2C、2個(gè)SPI同步串行接口(18兆位/秒)、3個(gè)USART異步串行接口、1個(gè)

24、USB全速接口和1個(gè)CAN(2.0B)接口。STM32F103xx是STM32增強(qiáng)型系列。該系列工作溫度范圍:-40°105°。供電電壓可以低至2.0V,供電范圍是2.0V-3.6V。當(dāng)單片機(jī)工作在省電模式和睡眠模式下,消耗的功率很低,再?gòu)慕?jīng)濟(jì)成本上考慮,用戶(hù)需要這樣的低耗能單片機(jī)。 STM32F103xx增強(qiáng)型微處理器具有配置豐富且種類(lèi)多的外設(shè),能夠在多個(gè)領(lǐng)域中運(yùn)用:(1) 醫(yī)療和手持設(shè)備;(2) 電腦外圍設(shè)備和GPS監(jiān)控平臺(tái);(3) 工業(yè)中應(yīng)用:電力控制設(shè)備中的變頻器(VFD)、新型工業(yè)控制裝置的可編程控制器、掃描儀和打印機(jī);(4) 警告系統(tǒng)和具有采暖、通風(fēng)和空氣調(diào)節(jié)功

25、能的空調(diào)系統(tǒng)等。本次設(shè)計(jì)所采用主控微控制器是意法半導(dǎo)體公司(ST)推出的STM32F103增強(qiáng)型系列的兩塊最小核心板。3.1.2 模數(shù)間轉(zhuǎn)換本課題模數(shù)間轉(zhuǎn)換采用了STM32F103xx增強(qiáng)型產(chǎn)品集成AD和DA功能,STM32擁有2個(gè)ADC,轉(zhuǎn)換原理是是12位逐次逼近型A/D轉(zhuǎn)換屬于直接式的轉(zhuǎn)換,轉(zhuǎn)換精度高,轉(zhuǎn)換速度快,總之,精度高和低功耗是設(shè)計(jì)的主要思路。這種模擬數(shù)字轉(zhuǎn)換器有18個(gè)通道,各個(gè)通道的模數(shù)轉(zhuǎn)換的執(zhí)行模式可以單次、連續(xù)、掃描或間斷,模擬看門(mén)狗用于監(jiān)控高低電壓閥值,用于檢查電壓是否越界。ADC的轉(zhuǎn)換數(shù)據(jù)會(huì)存儲(chǔ)在16位數(shù)據(jù)寄存器ADC_DR中。ADC轉(zhuǎn)換速率可達(dá)1MHz,最快1us的轉(zhuǎn)換

26、速度(在ADCCLK=14MHz,采樣周期為1.5個(gè)ADC時(shí)鐘下得到),ADC的輸入時(shí)鐘應(yīng)當(dāng)不能超過(guò)14MHz,如果超過(guò)會(huì)導(dǎo)致ADC精度降低。ADC設(shè)置步驟如下:1、使能ADC的時(shí)鐘,STM32F103C8T6的ADC通道0在PA0上,所以,我們先使能PORTA的時(shí)鐘,然后設(shè)置PA0為模擬輸入。通道0對(duì)應(yīng)PA0。2、復(fù)位ADC1時(shí)鐘,同時(shí)設(shè)置分頻因子。開(kāi)啟ADC1時(shí)鐘后,要進(jìn)行ADC1的復(fù)位。就可以通過(guò)RCC_CFGR設(shè)置ADC1的分頻因子。3、設(shè)置ADC1的獨(dú)立工作模式和ADC1規(guī)則序列的相關(guān)信息。完成上一個(gè)步驟之后,就可以進(jìn)行ADC1的模式配置了,我們這里只有一個(gè)通道,開(kāi)啟單次轉(zhuǎn)換模式,選

27、擇不開(kāi)啟值DISABLE即可、轉(zhuǎn)換由軟件而不是外部觸發(fā)啟動(dòng)、ADC轉(zhuǎn)換數(shù)據(jù)是右對(duì)齊;然后進(jìn)行規(guī)則序列的相關(guān)信息的配置,順序進(jìn)行對(duì)應(yīng)轉(zhuǎn)換的ADC通道數(shù)目確定為1。4、使能ADC并校準(zhǔn)。使能指定的ADC1之后進(jìn)行復(fù)位校準(zhǔn),進(jìn)行AD校準(zhǔn),需要特別留意這兩個(gè)步驟,因?yàn)槭潜仨毜?。而且要記住每次校?zhǔn)之后要等待校準(zhǔn)結(jié)束。5、讀取ADC值。等待校準(zhǔn)的完成,此時(shí)ADC已經(jīng)準(zhǔn)備完畢,然后設(shè)置規(guī)則序列1里面的通道,采樣順序,以及通道的采樣周期,接著啟動(dòng)ADC轉(zhuǎn)換。在轉(zhuǎn)換結(jié)束后,微處理器就可以獲取轉(zhuǎn)換結(jié)果數(shù)據(jù)。而STM32的DAC轉(zhuǎn)換模塊屬于12位數(shù)字輸入,DAC工作在12位模式時(shí),數(shù)據(jù)對(duì)齊方式有兩種:左或右對(duì)齊。D

28、AC模塊有2個(gè)輸出通道,轉(zhuǎn)換器在兩個(gè)輸出通道中是獨(dú)立的,這兩個(gè)通道用于轉(zhuǎn)換2路數(shù)字信號(hào)成為2路模擬電壓信號(hào)并輸出。本課題采用STM32單片機(jī)里集成的DA模塊對(duì)無(wú)線(xiàn)模塊就收到的音樂(lè)數(shù)字信號(hào)進(jìn)行還原,向數(shù)字功放模塊輸入。3.2 采樣量化的基本原理從電腦音頻接口中輸出的信號(hào)是個(gè)連續(xù)量,組成部分是大量不同幅度,頻率的正弦波,因此屬于模擬信號(hào)。首先對(duì)PC端輸入單片機(jī)音頻接口后的音樂(lè)信號(hào)進(jìn)行采樣,用數(shù)字方式記錄聲音,從下面圖中知道橫坐標(biāo)用來(lái)表示時(shí)間,縱坐標(biāo)表示振幅,按照等時(shí)間間隔來(lái)抽樣,如圖3.1所示。此時(shí)得到的信號(hào)是離散的模擬信號(hào),模擬信號(hào)被采樣后,對(duì)于時(shí)間上是離散,不過(guò)幅度仍然連續(xù)。信號(hào)會(huì)經(jīng)過(guò)采樣、保

29、持、量化和編碼,模/數(shù)轉(zhuǎn)換器實(shí)現(xiàn)采樣和量化,模/數(shù)轉(zhuǎn)換器以每隔一小段時(shí)間去采樣,那么每個(gè)一小段時(shí)間都會(huì)相應(yīng)地對(duì)信號(hào)測(cè)量和量化。圖3.1 模擬信號(hào)的數(shù)字化采樣就是對(duì)模擬信號(hào)進(jìn)行測(cè)量,采集樣本,采樣的過(guò)程是每隔相同時(shí)間間隔在波形上面取對(duì)應(yīng)的振幅,完成波形的離散化,選取的時(shí)間間隔稱(chēng)為采樣周期,采樣周期的倒數(shù)就是通常說(shuō)的采樣頻率,采樣頻率越高,分辨率越高。采樣頻率與音樂(lè)頻率之間有一定的關(guān)系,AD的采樣頻率要大于2倍的音樂(lè)最高頻率,ADC采樣率越高,轉(zhuǎn)換位數(shù)越高,音質(zhì)越高。量化的過(guò)程是先將采樣得到的瞬時(shí)值將其幅度離散,用一組規(guī)定電平將瞬時(shí)抽樣值用最接近的電平值表示。 采樣過(guò)程中出現(xiàn)失真是必然會(huì)出現(xiàn)的,但

30、是可以采取措施盡可能減小失真程度。我們可以將劃分的時(shí)間間隔減小,也就是提高采樣頻率,如果能增加量化的精度,量化等級(jí)也會(huì)隨之越高,失真的程度就可以相應(yīng)減小。3.3 nRF24L01無(wú)線(xiàn)傳輸模塊介紹3.3.1 nRF24L01無(wú)線(xiàn)傳輸模塊引腳圖圖3.2 nRF24L01引腳圖圖3.3 nRF24L01與單片機(jī)接口連接3.3.2 nRF24L01無(wú)線(xiàn)傳輸模塊及其用法系統(tǒng)選擇nRF24L01無(wú)線(xiàn)傳輸模塊,我們使用的這款nRF24L01芯片是由Nordic公司開(kāi)發(fā)生產(chǎn),工作在2.42.5GHz ISM 頻段,nRF24L01是單片無(wú)線(xiàn)收發(fā)器芯片,集無(wú)線(xiàn)收發(fā)一體且使用方便因此可以在短距離無(wú)線(xiàn)數(shù)據(jù)傳輸中得到

31、廣泛應(yīng)用。nRF24L01調(diào)制方式是GFSK調(diào)制,內(nèi)置數(shù)據(jù)鏈路層協(xié)議,數(shù)據(jù)傳輸率為1或2Mbps,通過(guò)SPI接口配置nRF24L01的配置寄存器,具有125個(gè)可選的工作通道,工作電壓是1.93.6V,無(wú)線(xiàn)收發(fā)器包括: 頻率發(fā)生器、增強(qiáng)型SchockBurstTM模式控制、調(diào)制解調(diào)器、功率放大器等功能模塊2。通過(guò)SPI 接口,我們可以自由有針對(duì)性地對(duì)輸出功率,頻道和通信協(xié)議進(jìn)行設(shè)置,nRF24L01的功耗是相當(dāng)?shù)偷?,?dāng)工作于其他模式如掉電模式和待機(jī)模式的時(shí)候電流消耗更低。nRF24L01芯片可廣泛應(yīng)用于無(wú)線(xiàn)鼠標(biāo)、鍵盤(pán)、遙控裝置以及安防系統(tǒng)、出入口門(mén)禁安全管理系統(tǒng)、工業(yè)傳感器等多種領(lǐng)域,由于相關(guān)技

32、術(shù)已經(jīng)很成熟了,所以在市場(chǎng)的競(jìng)爭(zhēng)中這些產(chǎn)品具有很大的優(yōu)勢(shì)。無(wú)線(xiàn)網(wǎng)絡(luò)耗費(fèi)的成本越低越好,目前許多國(guó)內(nèi)外研究機(jī)構(gòu)在nRF24L01的組網(wǎng)技術(shù)上有比較多的研究成果,且形成了一定潮流。設(shè)計(jì)中希望確保本次設(shè)計(jì)的語(yǔ)音隱藏通信系統(tǒng)在短距離內(nèi)具有可靠性和有效性,使用一對(duì)nRF24L01模塊。 nRF24L01主要模式包括了接收模式、發(fā)送模式、待機(jī)模式和掉電模式,其中nRF24L01模塊中CE、CSN、SLK、MOSI、MISO、IRQ共六個(gè)接口和MCU連接,各引腳功能如下:1、CE 數(shù)字輸入 RX 或TX 模式選擇;2、CSN 數(shù)字輸入 片選端;3、SCK 數(shù)字輸入 SPI 時(shí)鐘;4、MOSI 數(shù)字輸入從SP

33、I 數(shù)據(jù)輸入端;5、MISO 數(shù)字輸出從SPI 數(shù)據(jù)輸出端;6、IRQ 數(shù)字輸出可屏蔽中斷腳。3.3.3 nRF24L01無(wú)線(xiàn)通信協(xié)議nRF24L01的協(xié)議特點(diǎn)是鏈路層完全集成在芯片上,通信協(xié)議可以分為2層即物理層和數(shù)據(jù)鏈路層。物理層包括GFSK調(diào)制和解調(diào)器,發(fā)送和接收濾波器等,主要完成數(shù)據(jù)的調(diào)制解調(diào)、編碼解碼、和SPI通信。nRF24L01有以下兩種數(shù)據(jù)包收發(fā)處理方式:ShockBurstTM模式和增強(qiáng)ShockBurstTM模式。ShockBurstTM模式下nRF24L01可以與成本較低的低速M(fèi)CU相連。高速信號(hào)處理是由芯片內(nèi)部的射頻協(xié)議處理的,nRF24L01提供SPI接口,數(shù)據(jù)率取決

34、于單片機(jī)本身接口速度。ShockBurst 模式通過(guò)允許與單片機(jī)低速通信而無(wú)線(xiàn)部分高速通信,減小了通信的平均消耗電流,ShockBurstTM發(fā)送模式下,可以自動(dòng)將數(shù)據(jù)打包,生成幀頭和CRC校驗(yàn)碼,在ShockBurstTM接收模式下當(dāng)接收到有效的地址和數(shù)據(jù)時(shí)IRQ通知MCU,隨后MCU可將接收到的數(shù)據(jù)從RX FIFO寄存器中讀出,減少了MCU的工作量時(shí)還減少了軟件的開(kāi)發(fā)時(shí)間2。另外,增強(qiáng)型的ShockBurstTM模式具有ShockBurstTM模式以上的功能,與以上段落介紹的ShockBurstTM模式的功能相比,增加了自動(dòng)應(yīng)答功能與自動(dòng)重發(fā)的功能,如果在接收端接收到來(lái)自發(fā)送端的數(shù)據(jù)之后,

35、發(fā)生自動(dòng)反饋應(yīng)答告知發(fā)送方,如果發(fā)送端沒(méi)有接收到反饋則重新發(fā)送數(shù)據(jù),這樣就為設(shè)計(jì)雙向鏈接的協(xié)議提供了更加便利的方法。本次設(shè)計(jì)中通信協(xié)議采取的數(shù)據(jù)包處理方式:ShockBurstTM模式。表3-1 數(shù)據(jù)幀格式幀頭地址(3-5字節(jié))數(shù)據(jù)(1-32字節(jié))CRC校驗(yàn)(0/1/2字節(jié))無(wú)線(xiàn)傳輸中選用的是ShockBurstTM模式,數(shù)據(jù)幀格式如表3-1 所示。數(shù)據(jù)幀包括以下四個(gè)部分:1、幀頭:1個(gè)字節(jié)。取值是01010101或10101010,若地址首位為“1”時(shí),那么幀頭自動(dòng)設(shè)置為10101010;相反,若地址的首位是“0”的話(huà),幀頭自動(dòng)設(shè)置為01010101。 2、地址長(zhǎng)度為3到5個(gè)字節(jié)。指的是接收

36、器的地址,用來(lái)確保接收機(jī)能檢查到數(shù)據(jù)包,并且被正確的接收機(jī)所接收。3、數(shù)據(jù)位最多占32個(gè)字節(jié),如果所傳輸數(shù)據(jù)超過(guò)32個(gè)字節(jié),應(yīng)該分多次發(fā)送。4、CRC校驗(yàn)可以選擇1或2個(gè)字節(jié)。發(fā)送端發(fā)送數(shù)據(jù)流程: nRF24L01能將來(lái)自單片機(jī)的數(shù)據(jù)在發(fā)送出去之前,按照規(guī)定的幀格式打包,即自動(dòng)生成幀頭和CRC校驗(yàn)碼,他們連同地址和負(fù)載數(shù)據(jù)組裝為完整的發(fā)送數(shù)據(jù)幀,最后無(wú)線(xiàn)發(fā)送出去。 本次設(shè)計(jì)中,數(shù)據(jù)幀頭:01010101。數(shù)據(jù)包中的地址內(nèi)容就是接收機(jī)地址,接收通道和發(fā)送通道都要配置相同的地址,否則不能通信。封包采用2個(gè)字節(jié)的CRC校驗(yàn),發(fā)送端會(huì)在發(fā)送數(shù)據(jù)之前計(jì)算出CRC校驗(yàn)碼,將校驗(yàn)碼放在所發(fā)送數(shù)據(jù)的最后部分。

37、接收方在收到了帶校驗(yàn)和的幀之后會(huì)重新計(jì)算接收到信息的CRC校驗(yàn)碼,如果校驗(yàn)和計(jì)算不正確的話(huà),那就說(shuō)明有傳輸錯(cuò)誤。本次設(shè)計(jì)中地址為5個(gè)字節(jié),數(shù)據(jù)則為20個(gè)字節(jié)。 3.4 串口模塊設(shè)計(jì)串口模塊主要功能是USB接口供電和串口通信。CH340G是USB轉(zhuǎn)串口轉(zhuǎn)接芯片。CH340G芯片內(nèi)部已經(jīng)是有USB上拉電阻的,其中要清楚的是UD+和UD-與USB總線(xiàn)直接相連。外部電路中要向XI端輸入12MHz的時(shí)鐘,以使芯片能夠正常工作,對(duì)于芯片的外部電路,XI端和XO端之間連接一個(gè)12MHz晶振, XI端和XO端都要對(duì)地連接振蕩電容。 本次設(shè)計(jì)中在發(fā)送模塊進(jìn)行了串口模塊電路的設(shè)計(jì),接收模塊中使用的是PL2303

38、USB轉(zhuǎn)串口模塊。串口芯片現(xiàn)在技術(shù)已經(jīng)很成熟了,而且便宜,因此自己設(shè)計(jì)的串口模塊也比較穩(wěn)定。圖3.4 發(fā)送端的串口模塊電路3.5 PAM8403數(shù)字功放板及濾波電路 PAM8403立體聲D類(lèi)音頻功率放大器能夠以D類(lèi)放大器的效率提供AB類(lèi)功率放大器的性能,D類(lèi)功放指的是D類(lèi)音頻功率放大器,也稱(chēng)數(shù)字功放。PAM8403采用D類(lèi)結(jié)構(gòu),能夠以高于85%的效率提供3W功率,低EMI調(diào)制方式可以省去傳統(tǒng)的D類(lèi)放大器輸出低通濾波器,因此減小了電路的空間和節(jié)約成本,在小型便攜式音響設(shè)備中得到較佳應(yīng)用。其特點(diǎn)如下:(1)無(wú)濾波,低靜態(tài)電流;(2)如果電源是5伏,負(fù)載是4歐姆,那么可以提供的輸出功率就達(dá)到3W;(

39、3)90%的效率;(4)低THD,低噪聲;(5)短路電流保護(hù);(6)熱保護(hù);(7)極少外部元件;(8)無(wú)鉛封裝。當(dāng)PAM8403工作在無(wú)濾波時(shí),必須先接通揚(yáng)聲器再接通電源,否則容易對(duì)芯片造成損壞。由于芯片中的數(shù)字音量控制具有很大的增益,所以在增大其音量時(shí)要注意不要讓輸入信號(hào)過(guò)大而使信號(hào)產(chǎn)生切割限幅,甚至還可能使芯片損壞。PAM8403內(nèi)部有兩級(jí)放大器,查閱其中文規(guī)格書(shū)可以知道,最大閉環(huán)增益是24dB。數(shù)字功放的工作方式與傳統(tǒng)模擬功放完全不同,因此克服了模擬功放固有的一些缺點(diǎn),并且具有了一些獨(dú)有的特點(diǎn)。數(shù)字功放的過(guò)載能力遠(yuǎn)遠(yuǎn)高于模擬功放。模擬功放電路分為A類(lèi)、B類(lèi)或AB類(lèi)功率放大電路,正常工作的

40、時(shí)候工作在線(xiàn)性區(qū)域;但是當(dāng)過(guò)載后,出現(xiàn)諧波失真,而且失真程度隨指數(shù)級(jí)增長(zhǎng),音質(zhì)會(huì)大大變壞。而數(shù)字功放在功率放大的時(shí)候一直處于飽和區(qū)和截止區(qū),不會(huì)導(dǎo)致音質(zhì)的失真程度迅速增加。A類(lèi)功放低效率和高損耗是其先天缺陷,B類(lèi)功放雖然效率提高很多,但實(shí)際效率僅有50%左右。D類(lèi)數(shù)字功放的效率高,體積小,符合綠色革命潮流正受著各方面的重視。 濾波電路是由兩個(gè)RC低通濾波器串聯(lián)組成,是二階低通無(wú)源濾波器,對(duì)于高頻信號(hào)的響應(yīng)截止比一階無(wú)源低通濾波器快得多,因此比一階低通無(wú)源濾波電路的濾波效果更好。電路中電容越大,濾的波截止頻率越小,實(shí)現(xiàn)允許低頻信號(hào)通過(guò),而將高頻信號(hào)衰減過(guò)濾的電路,二階RC低通無(wú)源濾波器組成如圖3

41、.8所示。圖3.5低通濾波器電路 截止角頻率rad/s,截止頻率4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件包括主控制部分和功能實(shí)現(xiàn)部分,其中主控制部分有發(fā)送和接收兩模塊單片機(jī)最小核心板;而功能部分又包括了模數(shù)和數(shù)模轉(zhuǎn)換,nRF24L01的收發(fā)以及隱藏信息嵌入并提取的程序。4.1 系統(tǒng)軟件主流程 發(fā)送系統(tǒng)和接收系統(tǒng)的軟件主流程都包含了對(duì)系統(tǒng)初始化,并完成各個(gè)功能部分的設(shè)置,在此之中發(fā)送系統(tǒng)還進(jìn)行了隱藏信息嵌入到要傳輸?shù)慕?jīng)過(guò)采樣的音頻信號(hào)數(shù)據(jù)后面,完成在接收端進(jìn)行隱藏信息提取,并還原音樂(lè)信號(hào)的功能。當(dāng)音樂(lè)不播放時(shí),發(fā)送數(shù)組b,那么就完成了不發(fā)送隱藏?cái)?shù)據(jù)。軟件主要流程包含以下工作:(1) 系統(tǒng)初始化:對(duì)單片機(jī)系統(tǒng)進(jìn)行

42、配置、設(shè)置定時(shí)器等內(nèi)部資源、初始化變量和全局參數(shù)、對(duì)單片機(jī)系統(tǒng)外圍模塊進(jìn)行初始化等;(2) 功能模塊初始化:主要有對(duì)串口初始化,對(duì)STM32單片機(jī)集成的AD以及無(wú)線(xiàn)發(fā)送nRF24L01芯片初始化,還包括了nRF24L01無(wú)線(xiàn)接收初始化,設(shè)置無(wú)線(xiàn)通信通道,以及通信的頻率和接收系統(tǒng)的單片機(jī)集成的DA。還一點(diǎn)重要的就是將串口接收到的數(shù)據(jù)信息嵌入到音頻信號(hào)當(dāng)中傳輸,在接收端進(jìn)行提取出來(lái)。 其中從PC機(jī)輸入音樂(lè)的發(fā)送模塊包括串口模塊,STM32單片機(jī)和無(wú)線(xiàn)發(fā)送模塊,軟件流程圖如圖4.1所示:圖4.1 發(fā)送系統(tǒng)流程圖 接收系統(tǒng)主要由DA、無(wú)線(xiàn)通信模塊以及串口模塊組成,其流程圖如圖4.2所示。圖4.2 接收

43、提取系統(tǒng)流程圖4.2 系統(tǒng)功能實(shí)現(xiàn)本次設(shè)計(jì)的語(yǔ)音隱藏通信系統(tǒng)有軟件和硬件兩部分,在前一章中已經(jīng)對(duì)硬件部分進(jìn)行了介紹。軟件部分所具有的功能有對(duì)采集音頻信號(hào)進(jìn)行AD處理,無(wú)線(xiàn)發(fā)送與接收,DA對(duì)接收到的信號(hào)進(jìn)行還原,以及可以在單片機(jī)內(nèi)嵌入隱藏信息到AD數(shù)據(jù)最低位的功能。4.2.1 模數(shù)轉(zhuǎn)換 因?yàn)镾TM32集成了數(shù)模轉(zhuǎn)換模塊,直接向?qū)?yīng)的特定P口輸入模擬電壓,然后運(yùn)行AD驅(qū)動(dòng),就可以現(xiàn)實(shí)對(duì)已經(jīng)采集的音頻信號(hào)進(jìn)行AD處理,并把轉(zhuǎn)換結(jié)果保存到特定的寄存器中。模/數(shù)轉(zhuǎn)換的步驟為:1、開(kāi)啟PA口時(shí)鐘,設(shè)置PA0為模擬輸入引腳;2、使能ADC1時(shí)鐘,配置分頻因子;3、設(shè)置ADC1的工作模式;4、設(shè)定ADC1規(guī)則

44、序列的相關(guān)信息;5、開(kāi)啟AD轉(zhuǎn)換器,并校準(zhǔn);6、讀取ADC值,即可以完成了對(duì)信號(hào)的AD處理。4.2.2 單片機(jī)內(nèi)嵌入隱秘信息 首先進(jìn)行串口初始化,完成串口的基本配置,打開(kāi)串口,串口可以完成數(shù)據(jù)的讀取。串口配置的一般步驟能夠總結(jié)如下:1、串口時(shí)鐘使能,GPIO時(shí)鐘使能;2、串口復(fù)位;3、 GPIO端口模式設(shè)置;4、初始化串口參數(shù);6、使能串口。在定時(shí)器TIM2中的中斷函數(shù)完成串口讀取數(shù)據(jù)嵌入到音頻信號(hào)當(dāng)中。4.2.3 無(wú)線(xiàn)發(fā)射數(shù)據(jù)完成對(duì)nRF24L01無(wú)線(xiàn)通信模塊完成初始化操作,包括設(shè)置單片機(jī)I/O端口和SPI接口的對(duì)應(yīng)寄存器,兩者能與nRF24L01通信。通過(guò)SPI接口配置使其進(jìn)入正確的工作模

45、式。先將發(fā)射系統(tǒng)的nRF24L01配置于發(fā)射模式,接著把發(fā)送端待發(fā)射的嵌入了隱藏信息在AD采樣信號(hào)后面的數(shù)據(jù)的目標(biāo)地址和數(shù)據(jù)寫(xiě)入nRF24L01緩沖區(qū),經(jīng)過(guò)短延時(shí)后發(fā)射數(shù)據(jù),發(fā)送端流程圖如圖4.3所示。圖4.3 nRF24L01發(fā)送軟件流程圖4.2.4 無(wú)線(xiàn)接收數(shù)據(jù)在接收端將nRF24L01的工作模式配置為接收模式,然后經(jīng)過(guò)130us短延時(shí)并此時(shí)變?yōu)榻邮諣顟B(tài)靜候發(fā)送數(shù)據(jù)的到達(dá)。當(dāng)無(wú)線(xiàn)模塊的接收端檢測(cè)接收到有效的地址和CRC校驗(yàn)碼的時(shí)候,接下來(lái)就將數(shù)據(jù)包會(huì)存儲(chǔ)在接收指定的堆棧中,同時(shí)狀態(tài)寄存器中的中斷標(biāo)志位RX-DR(接收數(shù)據(jù)準(zhǔn)備已經(jīng)就緒,當(dāng)收到有效數(shù)據(jù)后置一)置高,產(chǎn)生中斷置IRQ引腳變?yōu)榈碗?/p>

46、平,隨后單片機(jī)可將接收到的數(shù)據(jù)從RX FIFO寄存器中讀出來(lái)。無(wú)線(xiàn)接收端主要程序流程圖如圖4.4所示。圖4.4 無(wú)線(xiàn)接收端軟件流程圖4.2.5 提取嵌入的隱秘信息 無(wú)線(xiàn)接收到的數(shù)據(jù)存放于定義好的數(shù)據(jù)緩沖區(qū)中,提取出隱藏?cái)?shù)據(jù),并輸出到PC端。串口初始化步驟與4.2.2節(jié)所描述相同。4.2.6 數(shù)模轉(zhuǎn)換本課題中數(shù)模轉(zhuǎn)換的主要功能是將無(wú)線(xiàn)接收到的數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào),還原出無(wú)線(xiàn)傳輸之前的信號(hào),STM32也集成了DA轉(zhuǎn)換功能,因此可以直接調(diào)用其驅(qū)動(dòng),在對(duì)隱藏信息位完成了提取之后,再進(jìn)行DA轉(zhuǎn)換。DAC設(shè)置步驟如下:1、 開(kāi)啟PA端口時(shí)鐘,設(shè)定PA4引腳為模擬輸入;2、 設(shè)定使能DAC1時(shí)鐘;3、 初始化

47、DAC,設(shè)定DAC的工作模式;4、 使能DAC轉(zhuǎn)換通道;5、 設(shè)置DAC的輸出值。通過(guò)以上五個(gè)步驟就完成對(duì)接收到的數(shù)據(jù)進(jìn)行DA轉(zhuǎn)換,向數(shù)字功放輸出模擬信號(hào)。4.3 數(shù)據(jù)隱藏方式及變化過(guò)程分析 本次設(shè)計(jì)的重點(diǎn)便是語(yǔ)音中隱藏信息的方式,下面對(duì)嵌入和提取過(guò)程,進(jìn)行詳細(xì)分析,步驟如下:(1)音樂(lè)信號(hào)經(jīng)過(guò)STM32單片機(jī)AD處理,AD采樣頻率為10KHz,一個(gè)AD數(shù)據(jù)為12位,單片機(jī)將10個(gè)AD數(shù)據(jù)放入數(shù)組當(dāng)中。數(shù)組中有20個(gè)元素,兩個(gè)元素為一組,并攜帶一個(gè)AD采樣數(shù)據(jù),16位的數(shù)據(jù)中最高四位為幀頭,最低12位是音頻信號(hào)。(2)幀頭分為三種:第一次嵌入隱藏?cái)?shù)據(jù)時(shí),幀頭是1001,從第二個(gè)幀開(kāi)始隱藏信息,

48、隱藏信息嵌入到音頻信號(hào)的最低位。第二次隱藏?cái)?shù)據(jù)時(shí),幀頭是1010,從第四個(gè)幀開(kāi)始隱藏。以上兩種隱藏交叉進(jìn)行,大大提高了隱藏信息的隱秘性,不易被發(fā)現(xiàn)。除此之外無(wú)隱藏?cái)?shù)據(jù)時(shí),幀頭為1100。(3)單片機(jī)將數(shù)據(jù)串寫(xiě)入nRF24L01,注意2個(gè)數(shù)組元素包含一個(gè)AD數(shù)據(jù);(4)20Byte的數(shù)據(jù)送入發(fā)送端nRF24L01進(jìn)行打包處理,有效載荷中若含有和幀頭同樣的Bit時(shí)是沒(méi)關(guān)系的,對(duì)此接收端的處理方法是,比如,如果從一個(gè)錯(cuò)誤的幀頭開(kāi)始接收數(shù)據(jù),這一組數(shù)校驗(yàn)就不對(duì),就自動(dòng)再找下一個(gè)幀頭,再校驗(yàn)。這種情況在絕大多數(shù)情況下比較可靠;(5)發(fā)送端nRF24L01發(fā)送數(shù)據(jù);(6)在接收模式下,自動(dòng)除去幀頭和校驗(yàn)碼

49、。單片機(jī)將接收芯片的RX FIFO寄存器中的數(shù)據(jù)讀出,而后數(shù)據(jù)保存至隊(duì)列緩沖區(qū)。接收數(shù)據(jù)時(shí)自動(dòng)會(huì)對(duì)接收的數(shù)據(jù)進(jìn)行校驗(yàn)和處理,在數(shù)據(jù)包接收完的同時(shí)也完成了校驗(yàn);(7)判斷接收到的數(shù)據(jù)幀頭是否為1001或者1010,則證明嵌入了隱藏?cái)?shù)據(jù),然后對(duì)隱藏?cái)?shù)據(jù)進(jìn)行提取,并打印到串口輸出;若為1100,不作處理。(8)然后進(jìn)行DA輸出,將無(wú)線(xiàn)接收到的數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào)(DA數(shù)據(jù)仍為16位),再經(jīng)過(guò)數(shù)字功放模塊和濾波電路后,向喇叭輸出音樂(lè)。5 系統(tǒng)調(diào)試和參數(shù)測(cè)試5.1 調(diào)試使用儀器 1、電子計(jì)算機(jī) 1臺(tái) 2、數(shù)字示波器 1臺(tái) 3、函數(shù)信號(hào)發(fā)生器 1臺(tái) 4、數(shù)字萬(wàn)用表DT9205 1臺(tái)5.2 調(diào)試過(guò)程和誤差分析

50、系統(tǒng)調(diào)試采用逐個(gè)功能添加方法進(jìn)行調(diào)試,首先進(jìn)行硬件調(diào)試,保證各個(gè)硬件工作良好。隨后進(jìn)行模數(shù)之間轉(zhuǎn)換系統(tǒng)的調(diào)試,然后加入無(wú)線(xiàn)收發(fā)系統(tǒng)調(diào)試,最后對(duì)整個(gè)系統(tǒng)軟件進(jìn)行調(diào)試,重點(diǎn)通過(guò)在PC機(jī)上的串口調(diào)試軟件調(diào)試在隱藏信息嵌入和提取的正常收發(fā)。5.2.1 硬件調(diào)試 硬件調(diào)試包括電路板裝配檢查,音頻信號(hào)采集模塊信號(hào)穩(wěn)定度,AD轉(zhuǎn)換和DA還原的失真情況,無(wú)線(xiàn)收發(fā)數(shù)據(jù)的對(duì)接,串口輸入、接收數(shù)據(jù)正常,單片機(jī)系統(tǒng)工作情況等。 首先是對(duì)電路板進(jìn)行裝配檢查,參照每個(gè)模塊電路圖,確認(rèn)元件裝配正確,沒(méi)有虛焊、脫焊,連接也正確和芯片安裝沒(méi)有錯(cuò)誤等;檢查電路板是否存在斷線(xiàn)、錯(cuò)焊和短路;上電,用萬(wàn)用表測(cè)量各芯片的相關(guān)電源引腳確定

51、使用的芯片在要求的合適電壓下工作。5.2.2 AD和DA調(diào)試AD和DA調(diào)試包括AD對(duì)采集的音頻信號(hào)處理的正確性和DA對(duì)收到數(shù)據(jù)后還原聲音準(zhǔn)確度。首先把硬件連接好,向STM32單片機(jī)的PA0口輸入模擬電壓作為AD輸入,然后在接收系統(tǒng)上的DA模塊讀取AD轉(zhuǎn)換過(guò)程保存在堆棧的數(shù)據(jù),對(duì)信號(hào)完成DA還原。其步驟如下:(1) 利用信號(hào)源給PA0口固定頻率正弦波,進(jìn)行采樣測(cè)試,通過(guò)串口調(diào)試助手查看并比較AD采集結(jié)果。(2) 利用示波器觀察PA4口DA對(duì)聲音信號(hào)還原后模擬輸出,觀察波形是否為正弦波,讀取頻率和幅值。(3) 利用示波器比較PA0和PA4口波形,觀察兩信號(hào)幅值、頻率和波形等是否一致;分別改變信號(hào)源

52、電壓頻率和幅度,比較示波器顯示的兩通道波形,觀察DA轉(zhuǎn)換后PA4口的波形是否出現(xiàn)失真情況。5.2.3 系統(tǒng)聯(lián)合調(diào)試系統(tǒng)聯(lián)合調(diào)試,主要是對(duì)系統(tǒng)進(jìn)行軟件編程,包括對(duì)完整軟件系統(tǒng)的整合、系統(tǒng)參數(shù)設(shè)置、功能實(shí)現(xiàn)、系統(tǒng)軟硬件優(yōu)化等,是完整系統(tǒng)調(diào)試的主要步驟。在進(jìn)行發(fā)射和接收系統(tǒng)聯(lián)合調(diào)試前先將硬件系統(tǒng)進(jìn)行完整的連接,系統(tǒng)聯(lián)合調(diào)試的內(nèi)容和詳細(xì)過(guò)程如下:(1) 完成系統(tǒng)軟件的編寫(xiě)、編譯和下載;(2) 對(duì)系統(tǒng)硬件和軟件進(jìn)行優(yōu)化調(diào)整,使其信息完整美觀;(3) 觀察音樂(lè)信號(hào)的還原波形,是否達(dá)到預(yù)期效果;(4) 打開(kāi)兩個(gè)串口調(diào)試助手,分別對(duì)應(yīng)發(fā)送和模塊的串口,并完成對(duì)應(yīng)的通信設(shè)置,如串口號(hào),波特率等。在串口調(diào)試助手的

53、發(fā)送區(qū)輸入信息,觀察PC機(jī)上串口助手接收區(qū)是否正常接收到正確數(shù)據(jù);(5) 對(duì)軟件系統(tǒng)進(jìn)行優(yōu)化,去除無(wú)用的參數(shù)和調(diào)試信息,增加相應(yīng)的注釋?zhuān)M量使用函數(shù),模塊化系統(tǒng)流程;(6) 測(cè)試各項(xiàng)功能是否正常,修改不足,使系統(tǒng)更加完善。5.2.4 語(yǔ)音隱藏系統(tǒng)的有效性和安全性分析語(yǔ)音信息隱藏系統(tǒng)的主要性能指標(biāo)包括感知透明性、魯棒性和信息容量等。隱藏?cái)?shù)據(jù)嵌入后,接收方能否接收到,接收到的數(shù)據(jù)是否正確,這是秘密信息傳輸中最為關(guān)心的問(wèn)題。使用串口調(diào)試軟件工具,比如在發(fā)送區(qū)中,隨便輸入一個(gè)數(shù)據(jù)串:hello和一個(gè)回車(chē)符,單擊“發(fā)送”按鈕,查看接收區(qū)的數(shù)據(jù)情況。如圖5.1和圖5.2所示。圖5.1 串口發(fā)送區(qū)圖5.2

54、串口接收區(qū)感知透明性要求隱藏信息不能影響音樂(lè)的播放質(zhì)量,音樂(lè)信號(hào)失真程度不能太高。調(diào)通系統(tǒng)后播放音樂(lè),我們可以聽(tīng)得出音樂(lè)的播放效果不錯(cuò)。魯棒性用來(lái)衡量隱秘方法的安全性,用于判斷在不影響或很少影響語(yǔ)音質(zhì)量的前提下去掉隱藏信息的能力。在實(shí)際運(yùn)用中,常用隱藏信息的誤碼率來(lái)衡量隱藏信息的抗攻擊能力。信息容量也常稱(chēng)為隱藏信息帶寬,指單位長(zhǎng)度的語(yǔ)音中可以嵌入的信息量,即每秒語(yǔ)音中可以嵌入多少比特的隱藏信息。系統(tǒng)中每100us的音頻信號(hào)中能夠嵌入8比特的隱秘信息。對(duì)語(yǔ)音隱藏通信系統(tǒng)的誤碼率進(jìn)行分析,如表5-1所示。表5-1 統(tǒng)計(jì)系統(tǒng)接收隱秘信息隱秘信息錯(cuò)誤數(shù)量接收數(shù)量正確率ab39096.7%abcd690

55、93.3%abcdefgh199078.9%任何一種信息隱藏技術(shù)都有其優(yōu)點(diǎn)和缺點(diǎn),本次設(shè)計(jì)的語(yǔ)音隱藏通信系統(tǒng)實(shí)現(xiàn)了隱藏信息的發(fā)送和接收,而且采用交叉嵌入數(shù)據(jù)的方法提高了系統(tǒng)的安全性,但是在傳輸數(shù)據(jù)比較多的時(shí)候誤碼率增加。但是我們可以通過(guò)多次發(fā)送,以確定發(fā)送的正確數(shù)據(jù)。5.3 參數(shù)測(cè)試 本課題主要是完成在單片機(jī)內(nèi)將隱藏信息嵌入到音頻信號(hào)后面?zhèn)鬏數(shù)倪^(guò)程的研究。因此樣機(jī)測(cè)試的數(shù)據(jù)和指標(biāo)就是隱藏信息的正常嵌入和提取,并顯示在PC端,觀察信號(hào)的波形、幅值以及失真情況。5.3.1 測(cè)試指標(biāo)和方法由于聲音信號(hào)的波形比較復(fù)雜,不容易觀察,但所有的信號(hào)可以分解為很多正弦波信號(hào)的疊加,因此本次測(cè)試采用正弦波信號(hào),

56、代替聲音信號(hào)進(jìn)行測(cè)試。測(cè)試的方法及步驟如下:1、用信號(hào)源向采集模塊輸入正弦波信號(hào),代替聲音信號(hào);2、查看無(wú)線(xiàn)接收后,DA轉(zhuǎn)換出來(lái)的模擬信號(hào)(處理過(guò)的聲音信號(hào))。 測(cè)試結(jié)果及誤差分析:(1)當(dāng)輸入信號(hào)的頻率不變,為1KHz;改變信號(hào)幅度,幅度依次設(shè)置為500mVPP、700mVPP、800mVPP、900mVPP時(shí),觀察DA輸出端的信號(hào)。如圖5.3所示,當(dāng)輸入信號(hào)為500mVPP,頻率1KHz時(shí),DA輸出信號(hào)Vpp=254mV,f=1.818KHz。圖5.3 DA輸出信號(hào)如圖5.4所示,當(dāng)輸入信號(hào)為700mVPP,頻率1KHz時(shí),觀察DA輸出信號(hào)Vpp=308mV,f=1.000KHz。圖5.4 DA輸出信號(hào)如圖5.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論