基于MATLAB的聲源定位系統【實用文檔】doc_第1頁
基于MATLAB的聲源定位系統【實用文檔】doc_第2頁
基于MATLAB的聲源定位系統【實用文檔】doc_第3頁
基于MATLAB的聲源定位系統【實用文檔】doc_第4頁
基于MATLAB的聲源定位系統【實用文檔】doc_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于MATLAB的聲源定位系統【實用文檔】doc文檔可直接使用可編輯,歡迎下載

基于MATLAB的聲源定位系統摘要基于MATLAB的聲源定位系統【實用文檔】doc文檔可直接使用可編輯,歡迎下載確定一個聲源在空間中的位置是一項有廣闊應用前景的有趣研究,將來可以廣泛的應用于社會生產、生活的各個方面。聲源定位是通過測量物體發(fā)出的聲音對物體定位,與使用聲納、雷達、無線通訊的定位方法不同,前者信源是普通的聲音,是寬帶信號,而后者信源是窄帶信號。根據聲音信號特點,人們提出了不同的聲源定位算法,但由于信號質量、噪聲和混響的存在,使得現有聲源定位算法的定位精度較低。此外,已有的聲源定位方法的運算量較大,難以實時處理。關鍵詞:傳聲器陣列;聲源定位;Matlab目錄第一章緒論……………1第二章聲源定位系統的結構…………2第三章基于到達時間差的聲源定位原理……………3第四章串口通信………………………5第五章實驗電路圖設計………………8第六章總結……………16第七章參考文獻………………………17第一章緒論1。1基于傳聲器陣列的定位方法簡述在無噪聲、無混響的情況下,距離聲源很近的高性能、高方向性的單傳聲器可以獲得高質量的聲源信號。但是,這要求聲源和傳聲器之間的位置相對固定,如果聲源位置改變,就必須人為地移動傳聲器。若聲源在傳聲器的選擇方向之外,則會引入大量的噪聲,導致拾取信號的質量下降。而且,當傳聲器距離聲源很遠,或者存在一定程度的混響及干擾的情況下,也會使拾取信號的質量嚴重下降。為了解決單傳聲器系統的這些局限性,人們提出了用傳聲器陣列進行聲音處理的方法。傳聲器陣列是指由一定的幾何結構排列而成的若干個傳聲器組成的陣列。相對于單個傳聲器而言具有更多優(yōu)勢,它能以電子瞄準的方式從所需要的聲源方向提供高質量的聲音信號,同時抑制其他的聲音和環(huán)境噪聲,具有很強的空間選擇性,無須移動傳聲器就可對聲源信號自動監(jiān)測、定位和跟蹤,如果算法設計精簡得當,則系統可實現高速的實時跟蹤定位。傳聲器陣列的聲音信號處理與傳統的陣列信號處理主要有以下幾種不同:(1)傳統的陣列信號處理技術處理的信號一般為平穩(wěn)或準平穩(wěn)信號,相關函數可以通過時間相關來準確獲得,而傳聲器陣列要處理的信號通常為短時平穩(wěn)的聲音信號,用時間平均來求得準確的相關函數比較困難。(2)傳統的陣列信號處理一般采用遠場模型,而傳聲器陣列信號處理要根據不同的情況選擇遠場模型還是使用近場模型。近場模型和遠場模型最主要的區(qū)別在于是否考慮傳聲器陣列各陣元因接收信號幅度衰減的不同所帶來的影響,對于遠場模型,信源到各陣元的距離差與整個傳播距離相比非常小,可忽略不計,對于近場模型,信源到各陣元的距離差與整個傳播距離相比較大,必須考慮各陣元接收信號的幅度差。(3)在傳統的陣列信號處理中,噪聲一般為高斯噪聲(包括白、色噪聲),與信源無關,在傳聲器陣列信號處理中噪聲既有高斯噪聲,也有非高斯噪聲,這些噪聲可能和信源無關,也可能相關。由于上述陣列信號處理間的區(qū)別,給傳聲器陣列信號處理帶來了極大的挑戰(zhàn)。聲波在傳播過程中要發(fā)生幅度衰減,其幅度衰減因子與傳播距離成正比,信源到傳聲器陣列各陣元的距離是不同的,因此聲波波前到達各陣元時,幅度也是不同的。另外,當聲音信號在傳播時,由于反射、衍射等原因,使到達傳聲器的聲音信號的路徑除了直達路徑外還存在著多條其它路徑,從而產生接收信號的幅度衰減、音質變差等不利影響,這種現象稱為混響(Reverberation)?;祉懶拇嬖诋a生了很多不利影響,如所獲取的聲音質量下降、聲源定位的精度嚴重降低等。1.2MATLAB軟件的介紹MATLAB是矩陣實驗室(MatrixLaborat(yī)ory)的簡稱,它的基本數據單位是矩陣,用MATLAB解算問題要比用其他語言完成相同的事情簡捷得多,MATLAB的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用MATLAB函數集)擴展了MATLAB環(huán)境,以解決這些應用領域內特定類型的問題。本設計是關于平面聲源定位的方針與建模,根據實驗要求,我們使用了MATLAB軟件,在這次設計中我們通過NeuralNetworkToolbox(神經網絡工具箱)來解決聲源定位建模與仿真的實驗,計算聲源的距離和角度。第二章聲源定位系統的結構一個完整的聲源定位系統由硬件部分和軟件部分構成。具體結構如下所述.硬件結構完整的聲源定位系統的硬件結構如圖1.2所示:由一定數目按特定位置擺放的傳聲器陣列,信號預處理系統,同步數據采集系統和數據處理系統組成。圖1。2聲源定位系統硬件結構框圖在系統工作時,聲音信號經傳聲器轉換為電信號,然后經信號預處理系統處理后把信號調整到數據采集系統的輸入信號電壓范圍,再經過采集系統采集后傳輸到數據處理系統,由數據處理系統中的軟件系統處理后可得出聲源的位置。聲音信號分析聲源體發(fā)生振動會引起四周空氣振蕩,那種振蕩方式就是聲波。聲波借助空氣向四面八方傳播.在開闊空間的空氣中那種傳播方式像逐漸被吹大的肥皂泡,是一種球形的陣面波。除了空氣,水、金屬、木頭等也都能夠傳遞聲波,它們都是聲波的良好介質。在真空狀態(tài)中聲波就不能傳播了。聲音在不同的介質中的傳播速度不同.聲音的速度受溫度影響,溫度越高,速度越快。在15℃時,聲音在空氣中的傳播速度為340m/s,25℃時為C=331.45+0。61T(m/s)(2.1)在使用時,如果溫度變化不大,則可認為聲速是基本不變的。聲波傳輸距離首先和大氣的吸收性有關,其次是溫度、濕度、氣壓等。第三章基于到達時間差的聲源定位原理人對聲源的定位主要用到了聲音幅度這個物理量,而機器卻可以精確的測量聲音的相位.由于聲波在空氣中以一定速度傳播,到達設置于不同位置的傳聲器的相位不同,根據這些傳聲器對同一聲音采集時的相位差別,我們可以計算出同一聲音到達每對傳聲器的時間差值(又叫時延值).圖2.1是到達時間差t的示意圖。如果我們得到了某個聲源發(fā)出的聲音到達一對傳聲器的時延值,則這個聲源就處于以這對傳聲器所處的位置為焦點,到達時延所對應的聲音傳輸距離為參數的雙曲面上。使用多對傳聲器得到多個時延值,也就得到了多個雙曲面,聲源位置就處于這些雙曲面的相交點。合適的安排傳聲器的位置,可以使得雙曲面的交點只有一個,這點就是我們要的聲源位置.大多數聲源定位是基于時延的方法,提高對時延估計的準確程度是這種方法的關鍵,而要得到準確的時延估計必須要確保有高效的信號采集能力。圖2.1到達時間差t的示意圖傳聲器陣列幾何模型與分析在聲源定位的研究過程中,雙傳聲器只能確定聲源在以一定角度為頂角的雙曲面上,不能確定聲源的具體位置。所以,想要探測出聲源的位置,必須擺放兩組甚至多組傳聲器,從而組成傳聲器陣列。同時,定位的準確程度也取決于傳聲器的數量,在經過一定位置的擺放后,傳聲器的數量越多定位的精度也就越高。圖3.3就是一種由四個傳聲器組成的典型傳聲器擺放方法。圖3.3四個傳聲器的定位擺放示意圖可見,定位系統的成功與否與傳聲器的擺放有很大關系,傳聲器的數量會影響定位的精確程度。幾何定位方法本文使用4個傳聲器組成的傳聲器陣列來實現聲源定位的仿真,傳聲器的分布如圖3。3所示。其中,假定聲源S的坐標為(x0,y0),A1和A2擺放在X軸上,坐標為(-a,0)和(a,0);B1和B2擺放在Y軸上,坐標為(0,a)和(0,-a),聲源S到各傳聲器的距離分別為d1,d2,d3,d4??梢姡?個傳聲器覆蓋了整個平面空間,等距的分布在原點、X軸和Y軸上,這樣的布局方式,一方面嚴密而一致,可以充分的接收聲源信號;另一方面呈幾何對稱關系的各傳聲器的擺放,減少了很大部分的運算量,更高效的實現了對各個量之間的關系求解過程。將四個傳聲器A1,A2,B1,B2放置于原點的平面直角坐標系中,兩兩分布在X和Y上,與原點的距離為a,a可以根據實際需要取值。聲源發(fā)出的聲音信號以不同的時間傳達至各傳聲器,由于聲速c一定,所以根據傳聲器陣列所獲得的時間差可以計算出聲源至各傳聲器的距離差。將采集得到的數據以數組的形式保存,繼而進行下一步的運算與分析。但是,由于本文只涉及到用計算機實現定位仿真,所以必須預先假定聲源坐標,通過對假定坐標的運算得到聲源S到各傳聲器間的距離差,此距離差將作為“已知的測量值”進行接下來的定位仿真,其過程舉例如下:傳聲器至原點的間距a=20,聲源S坐標x0=50,y0=—200,即S=(50,—200)。聲音信號的處理對聲音信號的處理過程分為三個環(huán)節(jié),首先通過幾何方法計算聲源到各傳聲器間的距離差,然后通過已得的距離差對聲源位置進行計算,最后通過Matlab編程實現聲源定位的仿真。第四章串口通信串口是計算機上一種非常通用設備通信的協議。大多數計算機包含兩個基于RS232的串口。串口同時也是儀器儀表設備通用的通信協議;很多GPIB兼容的設備也帶有RS-232口。同時,串口通信協議也可以用于獲取遠程采集設備的數據。單片機將收集到的時間差通過發(fā)送數據線TxD和接收數據線RxD發(fā)送給PC機。單片機與PC機通過RS-232C串行接口實現通信.第五章實驗電路圖設計當超聲波接收器接收到信號時,輸出端輸出一個脈沖,通過四組接收電路產生四個脈沖,每兩個脈沖產生一個時差脈沖。產生的脈沖信號A1和A2通過2個JK觸發(fā)器,2個與門和1個或門產生出時差脈沖,脈沖的脈寬就是聲源分別到接收器A1和A2的時間差時差脈沖放大圖總原理圖產生的2個時差脈沖分別通過單片機外部中斷口INT0和INT1輸入單片機,計時器啟動工作方式0,當時差脈沖上升沿時,計數器啟動計數;當時差脈沖下降沿時,計數器停止計數。在Matlab程序編寫時,可以使用cumsum函數實現d12的運算。以此類推,可以得到聲源S到各傳聲器的距離差d23,d24,d52,d13,d62,d27。但是,由于聲源發(fā)出的聲波在傳播過程中受到外界環(huán)境中噪音、混音等多方面因素影響,所以聲源到個傳聲器的實際距離差與計算值之間有一定程度上的偏差。為了解決這個問題,在d23,d24,d52,d13,d62,d27的計算值的基礎上加上一個量“b”,b的值為一個標準差為k的數乘以一百個隨機正態(tài)分布樣本,可以用randn函數實現這一過程。圖顯示了聲源S估計值.第六章總結實現一個可仿真的聲源定位系統是本論文的目的.在算法研究比較充分的基礎上,設計系統結構,實現聲源定位。本文對傳聲器陣列聲源定位系統進行了系統的研究,主要工作如下:(1)介紹了聲源定位方法,總結歸納了基于傳聲器陣列的定位方法的優(yōu)缺點。(2)設計并實現了可仿真的聲源定位系統。詳細介紹了系統結構,給出了實驗結果。本文詳細地論述了基于傳聲器陣列的定位技術.著重介紹了基于時間差的定位方法。討論了以上定位方法的幾何模型、數據采集、算法生成和定位仿真。相對而言,基于時間差的定位方法運算量較大,但是在時間差估計有一定誤差時,也能比較精確地定位。有關傳聲器陣列定位技術的研究盡管已經取得了重要進展,但在理論和應用上還有很多難點需要深入研究解決。首先是傳聲器的擺放問題。傳聲器的間距和相對位置可以很大地影響定位的精度。此外,也可以利用傳聲器的空間關系來化簡定位的幾何表達式.由于時間所限,本文并未涉及多聲源和移動聲源的情況,但這也是聲源定位的一個難點。我們懂得了做任何事情都要認真細致,不能有絲毫的馬虎,特別是在確定聲源時,更要做到精益求精。因為稍有差錯就可能導致數據的偏差很大。我們還學會了吃苦耐勞,學會了艱苦奮斗的作風.一次實驗報告要完整的做完,單靠一個人的力量和思考是遠遠不夠的,只有小組的合作和團結才能讓實驗快速而高效的完成.我們每個組員都學到知識而且會實際操作,而不是搶時間,趕進度,草草了事收工。我們深知搞工程這一行,需要的就是細心,做事嚴謹。我們做實驗不要一成不變和墨守成規(guī),應該有改良創(chuàng)新的精神。在這次實驗中,在收獲知識的同時,還收獲了閱歷,收獲了成熟。在此過程中,我們通過查找大量資料,請教老師以及不懈的努力,在各個能力上都有提高,不僅如此,我們還學會了許多學習方法,這是以后最實用的,真是受益匪淺。第七章參考文獻[1]趙永波,張守宏?;谔卣骺臻g的線性約束最小方差波束形成器。電子與信息學報,2005,27(3):424-426[2]JohannF.Bohme,TimeDelayEstimationbyCross—covarianceMaximizationofQuadratureSampledNarrowbandSignals,Int.J.Electron。Commun.(AEU),2004[3]MichaelS。Brandstein,JohnE。AdcockandHarveyF。Silverman,Apracticaltime—delayestimatorforlacalizingspeechsourceswithamicrophonearray,ComputerSpeechandLanguage,1995[4]Handzel,A。A。,Andersson,S。B.,Gebremichael,M.,etal.ABiomimeticApparatusforSound-sourceLocalization,DecisionandControl,2003,Proceedings。42ndIEEEConferenceonVolume6,9-12Dec,2003,Page(s):5879~5884[5]JieHuang,K.Kume,A.Saji,etal,RoboticSpat(yī)ialSoundSocalizat(yī)ionandits3DSoundHumanInterface,CyberWorlds,2002,Proceedings,FirstInternationalSymposiumon6—8,Nov,2002Page(s):191~197[6]JieHuang,N.Ohnishi,N.Sugie,ABiomimeticSystemforLocalizat(yī)ionandSeparationofMultipleSoundSources,InstrumentationandMeasurement,IEEETransactionsonVolume44,Issue3,June1995Page(s):733~738[7]陸曉燕,基于傳聲器陣列實現聲源定位,[碩士學位論文],大連,大連理工大學,2003[8]嚴素清,黃冰,傳聲器陣列的聲源定位研究,電聲技術,2004,12:27~30[9]王宏禹,邱天爽,自適應噪聲抵消和時間延遲估計,大連,大連理工大學出版社,1999,8[10]周浩洋,基于傳聲器陣列的聲源定位方法研究,大連,大連理工大學,2002[11]林志斌,徐柏齡,基于傳聲器陣列的聲源定位,電聲技術,2004,5:19~23[12]邵懷宗,林靜然,彭啟琮等,基于傳聲器陣列的聲源定位研究,云南民族大學學[13]趙海鷹,聲源定位系統,[碩士學位論文],合肥,中國科學技術大學,2005[14]陳可,汪增福,基于聲壓幅度比的聲源定位,計算機仿真,2004,11:85~88目錄TOC\o”1—3”\h\z\u1前言PAGEREF_Toc76841HYPERLINK\l_Toc132512總體方案設計PAGEREF_Toc132513HYPERLINK\l_Toc39522.1方案比較PAGEREF_Toc39523HYPERLINK\l_Toc151962.1。1聲源信號產生方案PAGEREF_Toc151963HYPERLINK\l_Toc311502.1。2聲源的選擇PAGEREF_Toc3115032。1.3坐標解算方案PAGEREF_Toc1526942.2方案選擇PAGEREF_Toc300624HYPERLINK\l_Toc96533單元模塊設計PAGEREF_Toc96536HYPERLINK\l_Toc97083.1各單元模塊功能介紹及電路設計PAGEREF_Toc970863。1。1555構成的多諧振蕩器電路PAGEREF_Toc1339663。1。2電源電路設計PAGEREF_Toc218547HYPERLINK\l_Toc248783.1.3自動增益控制電路設計PAGEREF_Toc2487873.1。4有源二低通濾波電路PAGEREF_Toc1380083。1.5有源二階高通濾波電路PAGEREF_Toc164909HYPERLINK\l_Toc295083.1。6STM32F103最小系統電路PAGEREF_Toc29508103.1.7液晶顯示電路PAGEREF_Toc2413511HYPERLINK\l_Toc252063.1。8電平轉換電路PAGEREF_Toc25206123.2電路參數的計算及元器件的選擇PAGEREF_Toc22134133。2。1電源電路參數的計算PAGEREF_Toc1849513HYPERLINK\l_Toc233523。2。2555定時器外圍元件參數的計算PAGEREF_Toc23352143。2.3音源坐標位置的計算PAGEREF_Toc13372153.2.3元器件的選擇PAGEREF_Toc2114217HYPERLINK\l_Toc76233.3特殊器件的介紹PAGEREF_Toc762319HYPERLINK\l_Toc87443。3。1STM32F103單片機介紹PAGEREF_Toc874419HYPERLINK\l_Toc64223.3.2ILI9320液晶簡介PAGEREF_Toc642221HYPERLINK\l_Toc179923。3。3VCA810簡介PAGEREF_Toc17992244軟件設計PAGEREF_Toc28211264.1軟件設計開發(fā)環(huán)境介紹PAGEREF_Toc3062526HYPERLINK\l_Toc268094.1。1編程軟件開發(fā)環(huán)境介紹PAGEREF_Toc2680926HYPERLINK\l_Toc313574。1。2繪圖軟件開發(fā)環(huán)境介紹PAGEREF_Toc3135727HYPERLINK\l_Toc119024.2軟件設計流程圖PAGEREF_Toc1190228HYPERLINK\l_Toc197774.2。1主程序流程圖PAGEREF_Toc1977728HYPERLINK\l_Toc73184.2.1液晶初始化流程圖PAGEREF_Toc731829HYPERLINK\l_Toc225114。2.2ADC初始化流程圖PAGEREF_Toc2251130HYPERLINK\l_Toc259305系統調試PAGEREF_Toc25930326系統功能、指標參數PAGEREF_Toc3250336.1系統實現的功能336。2系統指標參數測試PAGEREF_Toc1067733HYPERLINK\l_Toc130936.2.1帶通濾波器的頻率響應PAGEREF_Toc1309333HYPERLINK\l_Toc38046.2。2555定時器構成的多諧振蕩器測試PAGEREF_Toc380435HYPERLINK\l_Toc219066.2.3STM32ADC電壓采集測試PAGEREF_Toc2190635HYPERLINK\l_Toc281806.2.4VCA810電路測試PAGEREF_Toc2818036HYPERLINK\l_Toc123006。3系統功能及指標參數分析PAGEREF_Toc12300387結論PAGEREF_Toc495239HYPERLINK\l_Toc191478總結與體會PAGEREF_Toc19147409謝辭PAGEREF_Toc106494210參考文獻PAGEREF_Toc1694143附錄PAGEREF_Toc1949644HYPERLINK\l_Toc6908附錄一:部分原理圖PAGEREF_Toc690844HYPERLINK\l_Toc28772附錄二:部分PCB圖PAGEREF_Toc2877245附錄三:核心代碼PAGEREF_Toc2097746HYPERLINK\l_Toc20902附錄四:實物圖PAGEREF_Toc2090251HYPERLINK\l_Toc18532附錄五:外文資料翻譯PAGEREF_Toc18532521前言隨著時代的進步,信息產業(yè)的發(fā)展也是越來越快,特別是在計算機和通訊方面的發(fā)展,給人們的生活帶來了諸多方便.隨著雷達隨著雷達偵測技術的興起,聲定位技術曾一度遭到冷凍,法軍和美軍分別于70年代80年代取消了聲測偵察。近年來,由于雷達面臨著電子干擾、反輻射導彈、低空突防和隱身技術這四大威脅,越來越容易遭受攻擊。因此,人們又開始重視被動式傳感器,重新激起對聲測技術的興趣。聲源定位作為一種傳統的偵察手段,近年來通過采用新技術,提高了性能,滿足了現代化的需要,其主要特點是:(1)不受通視條件限制.可見光、激光和無線電偵察器材需要通視目標,在偵察器材和目標之間不能有遮蔽物,而聲測系統可以偵察遮蔽物(如山,樹林等)后面的聲源.(2)隱蔽性強。聲測系統不受電磁波干擾也不會被無線電側向及定位,工作隱蔽性較強.(3)不受能見度限制.其他偵察器材受環(huán)境氣候影響較大,在惡劣氣候條件下工作時性能下降,甚至無法工作。聲測系統可以在夜間、陰天、霧天、和下雪天工作,具有全天候工作的特點.聲源定位在戰(zhàn)場之外也同樣具有廣泛的應用前景,它可用于電話會議系統、視頻會議系統、可視電話等系統中的控制攝像頭和傳聲器陣列波速方向對準正在說話的人;也可用于語音及說話人識別軟件的前端預處理,以提供高質量的聲音信號,提高語音及說話人識別軟件的識別率;亦可用于強噪聲環(huán)境下的聲音獲取、大型場所的會議記錄,以提高聲音拾取質量;還可用于助聽裝置中,更好地為耳障患者服務等。

本文所設計的基于STM32的聲源定位裝置,通過555定時器構成的多諧振蕩器,分別產生1KHZ的方波信號,然后為了便于ADC的采樣,使輸出信號在一定范圍內,我們將該方波信號分別送入自動增益控制電路中進行放大。在接收端,我們采用固定的四個坐標點,分別測量聲源與各自的相位差,主要是通過柱體極話筒接收發(fā)射來的方波信號,然后經過由NE5532形成的帶通濾波器進行濾波,最終送入ADC轉換器,然后通過相應的算法計算出聲源的具體位置。本文從硬件和軟件兩個方面入手,其中涉及到了聲學、機械能和電能之間的相互轉換、電子線路、數字信號處理、軟件設計和算法設計等多個技術方面的領域,特別是在聲音信號的坐標位置確定過程中,牽扯到了解方程組的知識,且為了降低系統的誤差,我們多設計了一個測量點求其平均值,使其成為了超定方程組,更好地達到了設計的要求。聲音是人類常用的工具,是傳遞和獲取信息中非常重要的一種.不同物體往往發(fā)出自己特有的聲音,而根據物體發(fā)出的聲音,就可以判斷出物體的方位?,F在,人類已經進入信息化時代,聲源定位技術的研究,使人們能更加有效地產生、獲取和應用處理聲音信息,這對于當今社會的發(fā)展具有十分重要的意義.2總體方案設計在無噪聲、無混響的情況下,聲源距離越近,接收到的幅值當然也就越高,這就有可能使信號輸出的幅值超出ADC采樣的范圍,從而給測量值帶來很大的誤差。本次設計由于有兩個聲源位置,因此必須要對他們所產生的信號進行很好的處理,這樣才有可能較為準確的計算出聲源的坐標。聲源定位技術具有被動探測方式、不受通訊條件干擾、全天候工作等特點,但是由于周圍復雜的環(huán)境,想要十分精確的確定某一聲源的位置,還是相對困難的.因此,必須采取一個妥善的實施方案。另外,在設計中我們必須遵循項目設計的原則,分析項目需求,從而實現最優(yōu)化.2。1方案比較2。1。1聲源信號產生方案方案一:用常用的STC89C51單片機來產生500HZ的方波,利用單片機背部定時器溢出中斷次數達到我們所設計的值時,就將相應的I/O引腳狀態(tài)取反,這樣就產生了占空比為50%的方波音源信號。方案二:用NE555構成的多諧振蕩器來產生頻率為500HZ的方波信號作為聲源信號。它的原理是用內部定時器來構成時基電路,外部通過簡單的電路配合所需要的信號,該電路搭建簡單,原理容易理解,電路中的元器件參數也比較好計算.方案比較:在方案一中,用單片機產生的方波,雖然程序設計比較簡單,但是硬件電路搭建比較麻煩,而且所利用的單片機資源太少,這樣就顯得浪費,并且性價比很低。方案二中,雖然由555產生的方波信號不是很穩(wěn)定,但是整個電路設計簡單,方便調試,555定時器價格便宜,性價比較高.因此選擇方案二。2.1.2聲源的選擇方案一:采用低音揚聲器作為聲源。揚聲器是一種把電信號轉變?yōu)槁曅盘柕膿Q能器件。將單片機產生的頻率為500Hz的信號接在揚聲器的接收端,揚聲器能發(fā)出強度比較大的聲音信號。方案二:采用無源蜂鳴器作為聲源。無源蜂鳴器在提供一定頻率的方波震蕩源時,能夠發(fā)出聲音。試驗中用無源蜂鳴器發(fā)聲時,聲音比較清晰,但聲音強度比揚聲器稍弱。方案比較:兩種器件發(fā)出的聲音都能被接收端檢測出來.方案一中,揚聲器需要消耗較大的功率,結合現代社會電子產品低功耗的要求,這樣就浪費了能源.方案二中,蜂鳴器是一種低功耗的器件,而且是我們經常使用的聲源,價格也很低廉,也能達到設計的要求。因此選擇方案二.2。1.3坐標解算方案方案一:利用雙曲線上的點到焦點距離差一定,可確定多條雙曲線,求其交點,即可解算出坐標。但算曲線存在盲區(qū),不能滿足定位精度。方案二:根據兩點到其中一點的距離差,用三角形法,求出坐標,再利用第三點到這點的距離差來校正坐標,即可解算出坐標。方案三:直接利用matlab算出坐標和四點距離差,然后分析數據,找到坐標和距離差之間的關系,直接寫關系解算,思路簡單,但是計算機分析數據量大,難以實現.方案比較:方案一中,如果聲源剛好位于距離四個接收源相等的位置,那么就無法該處的聲源坐標,存在計算的盲區(qū)。方案二中,通過方程組可以解除坐標x和y,并且還是超定方程組,可以求平均值使我們的測量更為準確.方案三中,matlab的數據分析量太大,難以實現。因此,坐標解算方案選擇方案二.2。2方案選擇通過以上分別對聲源、聲源的產生以及坐標計算算法的討論,分別綜合以上方案得到我們設計的系統框圖如圖2。1所示:電源電路部分電源電路部分555定時器組成的聲源AGC電路帶通濾波器ADC轉換STM32F103單片機液晶顯示圖2.1系統的結構框圖從本設計的基本要求出發(fā),再結合現有的實驗室條件和實際應用,本設計采取了以上的系統框圖。在該圖中,555定時器通過外圍少量元器件可以組成多諧振蕩器,AGC電路是由VCA810構成的,主要是用來將輸出信號控制在一定范圍內。帶通濾波器的通頻帶為50HZ,采用的是巴特沃斯相應的壓控電壓源電路(VCVS),該電路輸入阻抗很高,輸出阻抗很低,電路性能穩(wěn)定。此次系統采用計算相位差的方法,得到各個固定坐標與生源坐標之間的距離差,然后建立相應的方程組,解出我們所需要的聲源坐標。本次設計方案的選取是綜合考慮了成本、硬件電路繪制、軟件編寫、功能指標等的結果.3單元模塊設計每一個系統的構成都是由單元模塊電路組成的,因此模塊電路的設計是項目完成的基礎。本次設計從功能性來分,將模塊分成了幾大部分,包括電源電路部分、聲源產生部分、自動增益控制部分、STM32F103最小系統部分、帶通濾波器部分和液晶顯示部分.就本系統而言,由于涉及到很多方面的問題,例如噪聲對生源的影響和算法對最后結果誤差的影響等,因此,需要每個模塊都必須調試好,然后模塊與模塊之間的相互連接必須要兼容.在此次設計中,為了保證測試結果的準確性,我們也可以多列幾組方程夠成超定方程,然后對每個算出的坐標值求其平均值,這樣使整個設計更加完美。3.1各單元模塊功能介紹及電路設計3.1.1555構成的多諧振蕩器電路555定時器在我們平時設計中很多時候都會用到,他的結構決定了他的多功能用途,而且構成不同的需求電路時,只需要在其外圍添加很少的元器件。它可以組成施密特觸發(fā)器、單穩(wěn)態(tài)觸發(fā)器和多諧振蕩器等。如圖3.1所示,就是采用了555定時器構成的多諧振蕩器電路.J1和J2分別是接插件VCC和GND,R1、R2和C1決定了音源信號的頻率.J3是音源輸出端。圖3.1555構成的多諧振蕩器3.1。2電源電路設計電源是每個電子產品的必需,是每個電子系統設計的心臟。由于此設計需要用到+5V和-5V電壓并且要求電源本身給信號處理電路帶來的干擾要小,所以我們采用了LM7805與LM7905芯片來設計。首先,我們將220V、50Hz的市電通過環(huán)形變壓器轉化成8V的交流,然后通過整流、濾波和穩(wěn)壓的方法得到我們想要的輸出。如圖4。1所示,J1是變壓器交流輸入,通過四個二極管的整流之后,在進行C1、C2、C3、C4的濾波,然后送給三端穩(wěn)壓器,得到+5V和—5V直流電壓.由接插件J2輸出.在PCB的繪制中,C5和C6需要盡可能的靠近穩(wěn)壓芯片,這樣可以減少電路走線給系統帶來的干擾,減少紋波對聲源信號的干擾,增加系統的可靠性。圖3.2電源電路3.1。3自動增益控制電路設計自動增益控制電路的設計是為了滿足ADC采樣的需求,將音源信號穩(wěn)定在一定范圍內。本次電路所采用的是VCA810高增益調節(jié)范圍的運算放大器,具有較高的共模抑制比,并在兩個高阻抗輸入的共模輸入范圍,允許VCA810提供差分接收器的操作與增益,以地為參考的輸出信號,零差分輸入電壓,給出一個很小的直流偏移誤差0V輸出.低輸入噪聲電壓,確保良好地信噪比。如圖所示,是本次所涉及的AGC電路。其中,J8是產生的音源信號輸入端,經過50歐姆的匹配電阻R9到地,R10是用于消除在V-輸入端的偏置電流.每個電源引腳上都連接了兩個電容:一個大電容取值在2。2uF到6.8uF范圍內,用于有效的排除低頻信號對電路的干擾,而小的的電容C9與C10是用于高頻信號濾除,起到去耦作用。增益控制引腳是VCA810芯片的第三腳,在該電路中將其用接插件J9引出,方便我們調試。最后經過AGC電路的音源信號由J10輸出.圖3.3VCA810外部電路3.1.4有源二低通濾波電路如圖3。4所示,是本次設計的二階低通有源濾波電路,該電路的作用是用于將接收到的音源信號進行處理,濾除掉550HZ以上頻率的信號。由于音源信號是由555定時器產生的500HZ的方波信號,所以我們決定將低通濾波器的截止頻率設置為550HZ,通過相應參數的計算,可以得出R3、R4、C3、C4的大小。在滿足品質因素Q的情況下,為使電路較為穩(wěn)定的工作,我們選擇了R5和R6相等。在該電路中,J4是連接柱體極話筒的接插件,將接收到的音源信號傳輸給低通濾波器。為了消除高頻干擾,和VCA810一樣,我們也在NE5532的電源引腳處設計了C7和C8,J5是經過低通濾波器后的輸出測試點.圖3。4二階低通有源濾波電路3。1.5有源二階高通濾波電路濾波器的設計是每個信號處理電路都必須用到的,已經成為了信號處理的一種基本手段,本設計就是采用的是二階低通濾波器與二階高通濾波器級聯的方式實現對音源信號進行處理的.處理的基本思想和二階低通濾波器相似,由于設置了100HZ的通頻帶,而音源信號的頻率為固定的500HZ,因此將截止頻率fc設定為450HZ,通過時間常數RC可以計算出相應的阻容元件的值。有源濾波除了濾除諧波外,同時還可以動態(tài)補償無功功率,反應動作迅速,并且在濾波的同時還可以對信號進行放大.本電路中的C5、C6、R7、R8就是決定截止頻率的關鍵元器件.為了保證電路穩(wěn)定工作,增益最大不能超過2倍,因此本設計將NE5532的第6引腳和第7引腳直接連接.經過低通濾波器后的音源信號已經比較完整,但還是里面還可能存在一部分影響音源信號的低頻信號,因此還必須的通過高通濾波器.低通濾波器的輸出端接接插件J6,然后濾除低頻信號后,再將信號由J7輸出。圖3。5有源二階高通濾波電路3。1.6STM32F103最小系統電路本電路的核心部分就是STM32F103,其工作頻率為72MHZ,內置高速存儲器,包括了128K字節(jié)的閃存和20K字節(jié)的SRAM。在STM32F103的最小系統電路中,包括了晶振電路和復位電路.如圖3。6所示,C7、C8和CY1與微控制器的引腳12、13分別相連,構成了系統的時鐘電路。R10、C10按鍵一起和微控制器的復位管腳相連,組成了系統的復位電路,當按鍵按下時,微控制器就立即復位,又從新回到原始狀態(tài)開始執(zhí)行程序.復位電路與晶振電路一起保證了系統的正常有序的運行。圖3.6STM32F103最小系統電路3.1。7液晶顯示電路現在數字電路的設計都離不開有好的人機界面,因為他可以更直觀的給用戶展示系統的性能,它是和用戶最直接的對話者。本次設計顯示設備采用的是彩色圖形點陣液晶顯示器ILI9320,它具有屏幕大(320X240),分辨率高,顯示字體圓潤,顯示內容多,價格實惠等優(yōu)點。下圖為其接口電路。ILI9320的16位并行數據接口連接到STM32的PB口,STM32的IO口為16位的,剛好和ILI9320的16位并行接口完美連接。和普通的12864點陣液晶一樣,ILI9320也留有片選端(CS)、讀寫控制端(RD)、數據命令選擇端(WR)。圖3.7液晶顯示電路3.1.8電平轉換電路由于設計采用的是32位的單片機,因此在進行程序的燒寫和下載時,我們需要計算機與單片機進行通信。PC機自帶有RS—232標準串行口,而我們所使用的SSTM32F103是TTL電平,因此,我們需要自己添加一個電平轉換電路。此設計采用的是MAXIM公司生產的MAX232電平轉換芯片。它是一種單電源、低功耗的RS-232接口芯片,額定電流300uA。通過USB轉串口后,再由MAX232芯片完成RS-232與TTL電平之間的轉換,就可以與單片機進行通信了。其原理圖下圖4.7所示:圖3.8電平轉換電路3.2電路參數的計算及元器件的選擇基于STM32的音源位置測量的設計中參數的計算主要包括了三個部分:電源設計參數計算、555定時器構成多諧振蕩器參數的計算以及音源坐標求解的計算。通過這些計算之后,才能更好地更合理的選擇元器件,做到滿足性能要求的同時,將價格降到最低.3.2.1電源電路參數的計算本次設計采用的是直流+5V和-5V輸出的電源.整流二極管組成的單相橋式整流電路,將交流電壓V2變成脈動的直流電壓,在經過濾波電容C濾除紋波,輸出直流電壓V1。V1和交流電壓的有效值V2之間的關系為V1=(1。1—1.2)V2。下面重點從兩個方面來計算部分參數。一、變壓器的選取功率電源變壓器的作用是將來自電網的220V交流電壓u1變換為整流電路所需要的交流電壓u2。電源變壓器的效率為:其中:是變壓器副邊的功率,是變壓器原邊的功率.一般小型變壓器的效率如表1所示:表1小型變壓器的效率副邊功率VA<1010—3030—8080—200效率0.60。70。80.85因此,當算出了副邊功率后,就可以根據上表算出原邊。電源變壓器電壓變換公式為:其中:N1為原邊線圈扎數,N2為副邊線圈扎數。根據以上的公式運算出本設計選用功率為50W的變壓器。二、整流二極管的選取每只整流二極管承受的最大反向電壓值為:通過每只二極管的平均電流為:在該式子中,R為整流濾波電路的負載電阻。它為電容C提供放電回路,RC放電時間常數應滿足RC〉(3—5)×0.5T,其中T為50HZ交流電壓周期.通過以上的運算,本次設計采用整流二極管1N4001,其極限參數(反向擊穿電壓和額定工作電流)滿足我們設計要求。3。2。2555定時器外圍元件參數的計算用555定時器組成的多謝振蕩器如圖3.9所示,在接通電源以后,電容C2被充電,當Vc上升到時,使輸出Vo為低電平,同時放電三極管T導通,此時電容C2通過R2和T放電,Vc下降。當Vc下降到時,Vo反轉為高電平。電容C2放電所需的放電時間為(公式一)當放電結束時,T截止,Vcc將通過R1和R2向電容器C2充電,Vc由上升到所需的時間為(公式二)當Vc上升到時,電路又翻轉為低電平。如此周而復始,于是在電路的輸出端就得到一個周期性的矩形波。其振蕩頻率為:(公式三)圖3.9仿真計算555外圍元件圖通過公式一、公式二和公式三的計算,在確定音源頻率為500HZ的條件下,我們得出在C取值為100nF的時候,令R1=R2,則可以計算出R的取值為9。533KΩ。3.2。3音源坐標位置的計算設坐標紙為圖中的矩形ABCD。聲源在點O,拾音器分別位于矩形四角A、B、C、D。聲源到A點的距離為Da,到B點的距離為Db,到C點的距離為Dc,到D點的距離為Dd。分別經過時間Ta,Tb,Tc,Td后,拾音器A、B、C、D接收到信號,然后可以計算出三個時間差值t1,t2,t3,聲音傳播速度為v。通過下列算法后可計算出聲源O的坐標值(x,y):圖3.10音源坐標位置求解圖定位算法一:QUOTE(1)QUOTE(2)QUOTE(3)QUOTE(4)單片機檢測到的為四個時間點算出三個時間差,上面四個式子可用時間差表示出QUOTEQUOTE;(5)QUOTE;(6)QUOTE;(7)QUOTE;(8)解出:QUOTE;QUOTE;QUOTE;QUOTE;QUOTE;QUOTE;上式總共兩個未知數四個等式,可以根據任意三個式子解出一組解,總共會有兩組解。由于測出的結果會有誤差,所以將所得的兩組解進行平均值求解,則結果誤差會減小,準確度會進一步提高。該算法程序比較簡短,適合用單片機處理.3.2.3元器件的選擇元器件的選取在電路的設計中十分重要,有時候直接關系到你的設計是否能夠成功,而且如果是在具體參數指標上面的要求的項目或科研上,元器件的選擇正確與否直接影響到指標上不上得去。所以我們在做設計時一定要選擇好自己的功能指標所需求的元器件。本次設計就有幾個重要元器件的選取。Ⅰ音頻濾波器運放的選取:音頻運算放大器的選取中需要考慮的因素有很多,下面例舉一下重要的指標:a,增益帶寬積GBW。該參數會影響音源的清晰度,如果不計成本的話,GBE的值越大越好,前置放大器、輸入緩沖、線路放大器對此要求不高,音調電路、功放推動、DAC緩沖輸出、有源濾波器等應該重視這個參數.b,壓擺率SR。該參數會影響到聲音細節(jié)的表現,盡管音頻信號的上限只有20KHZ,但是音樂信號的頻譜極為豐富復雜,瞬時幅度/時間的變化率有時會達到一個很高的水平,從音頻應用來看,最好高于10V/us,不宜低于1V/us。c,電源抑制比PSRR。對電路的噪聲尤其是電源的噪聲,如交流哼聲的抑制。對于開關電源來說,高音的清晰度也會受到影響,如高音聽起來發(fā)毛等.從音頻應用實踐來看,按典型值計算最好高于80dB,不低于100dB為最佳。d,共模抑制比CMRR。決定了電路的抗干擾的能力,尤其是輸入回路。從音頻應用的實踐來看,按典型值計算最好高于80dB,不低于100dB為最佳。e,總諧波失真THD(+N)。這個參數越低越好,不過還是需要注意過于追求低失真的傾向。對于音頻應用,應該重視fin為1KHZ和10KHZ以及整個音頻頻帶內的這個數值的平均程度,如果在音頻頻帶內的失真,頻率曲線欺負過大就不好。如果在音頻頻帶內這個曲線比較平直而且低于0.0005%就足夠好了,我們一般得到的數據是fin為1KHZ和10KHZ的典型值。結合以上這些參數規(guī)定的范圍和本設計的音源相結合,并在考慮成本的條件之下,綜合選擇了NE5532常用的音頻放大器。Ⅱ微控制器的選?。河捎诒敬卧O計后端運算較為復雜,微控制器需要做到主要三個方面的工作:1,控制ADC進行采樣。2,將得到的數據進行處理,計算出音源坐標。3,實時顯示在液晶屏幕上。尤其是在第二方面的工作要求STM32F103的運算速度足夠的塊,才有可能保證我們采集的點不錯位,否則的話,就會帶來很大的誤差。所以選擇的微控制器必須具有下面幾個重要特點和資源.(1)很強的兼容性。STM32F103xx是一個完整的系列,其成員之間是完全地腳對腳兼容,軟件和功能上也兼容。在參考手冊中,STM32F103x4和STM32F103x6被歸為小容量產品,STM32F103x8和STM32F103xB被歸為中等容量產品,STM32F103xC、STM32F103xD和STM32F103xE被歸為大容量產品。同時,STM32F103xx增強型產品與現有的STM32F101xx基本型和STM32F102xx

USB基本型產品全兼容。(2)嵌套的向量式中斷控制器(NVIC)。STM32F103xx增強型產品內置嵌套的向量式中斷控制器,能夠處理多達43個可屏蔽中斷通道(不包括16個Cortex?—M3的中斷線)和16個優(yōu)先級.●

緊耦合的NVIC能夠達到低延遲的中斷響應處理●

中斷向量入口地址直接進入內核

緊耦合的NVIC接口

允許中斷的早期處理

處理晚到的較高優(yōu)先級中斷●

支持中斷尾部鏈接功能

自動保存處理器狀態(tài)

中斷返回時自動恢復,無需額外指令開銷

該模塊以最小的中斷延遲提供靈活的中斷管理功能.(3)強大功能的ADC模塊。STM32F103xx增強型產品內嵌2個12位的模擬/數字轉換器(ADC),每個ADC共用多達16個外部通道,可以實現單次或掃描轉換。在掃描模式下,自動進行在選定的一組模擬輸入上的轉換.ADC接口上的其它邏輯功能包括:●同步的采樣和保持●交叉的采樣和保持●單次采樣ADC可以使用DMA操作。模擬看門狗功能允許非常精準地監(jiān)視一路、多路或所有選中的通道,當被監(jiān)視的信號超出預置的閥值時,將產生中斷.由標準定時器(TIMx)和高級控制定時器(TIM1)產生的事件,可以分別內部級聯到ADC的開始觸發(fā)和注入觸發(fā),應用程序能使AD轉換與時鐘同步。支持在線下載程序,更容易上手,學習和使用起來也比較輕松方便.綜合本設計的需求和現有的條件,最終確定選取STM32F103VET6為此次設計的微控制器。3.3特殊器件的介紹3.3.1STM32F103單片機介紹STM32F103最高的工作頻率可達72MHZ,在村舒淇的0等待周期訪問時可達1.25DMips/MHZ。該芯片是TI公司推出的中等容量的微控制器,32位基于ARM核心的帶64或128K字節(jié)閃存的微控制器,具有USB、CAN、7個定時器、2個ADC和9個通信接口,每個方面都很符合本次設計的需求。下面介紹一下STM32F103幾個重要參數方面的特色:1。外部中斷/事件控制器(EXTI)外部中斷/事件控制器包含19個邊沿檢測器,用于產生中斷/事件請求。每個中斷線都可以獨立地配置它的觸發(fā)事件(上升沿或下降沿或雙邊沿),并能夠單獨地被屏蔽;有一個掛起寄存器維持所有中斷請求的狀態(tài)。EXTI可以檢測到脈沖寬度小于內部APB2的時鐘周期。多達80個通用I/O口連接到16個外部中斷線.2.時鐘和啟動系統時鐘的選擇是在啟動時進行,復位時內部8MHz的RC振蕩器被選為默認的CPU時鐘,隨后可以選擇外部的、具失效監(jiān)控的4~16MHz時鐘;當檢測到外部時鐘失效時,它將被隔離,系統將自動地切換到內部的RC振蕩器,如果使能了中斷,軟件可以接收到相應的中斷.同樣,在需要時可以采取對PLL時鐘完全的中斷管理(如當一個間接使用的外部振蕩器失效時)。

多個預分頻器用于配置AHB的頻率、高速APB(APB2)和低速APB(APB1)區(qū)域.AHB和高速APB的最高頻率是72MHz,低速APB的最高頻率為36MHz。3.自舉模式在啟動時,通過自舉引腳可以選擇三種自舉模式中的一種:a,從程序閃存存儲器自舉。b,從系統存儲器自舉。c,從內部SRAM自舉

0~40MHz。4.供電方案●

VDD

=

2。0~3.6V:VDD引腳為I/O引腳和內部調壓器供電。

VSSA,VDDA

=

2。0~3。6V:為ADC、復位模塊、RC振蕩器和PLL的模擬部分提供供電。使用ADC時,VDDA不得小于2。4V.VDDA和VSSA必須分別連接到VDD和VSS.

VBAT

1。8~3。6V:當關閉VDD時,(通過內部電源切換器)為RTC、外部32kHz振蕩器和后備寄存器供電。5.供電檢測器本產品內部集成了上電復位(POR)/掉電復位(PDR)電路,該電路始終處于工作狀態(tài),保證系統在供電超過2V時工作;當VDD低于設定的閥值(VPOR/PDR)時,置器件于復位狀態(tài),而不必使用外部復位電路.器件中還有一個可編程電壓監(jiān)測器(PVD),它監(jiān)視VDD/VDDA供電并與閥值VPVD比較,當VDD低于或高于閥值VPVD時產生中斷,中斷處理程序可以發(fā)出警告信息或將微控制器轉入安全模式。PVD功能需要通過程序開啟。6.DMA靈活的7路通用DMA可以管理存儲器到存儲器、設備到存儲器和存儲器到設備的數據傳輸;DMA控制器支持環(huán)形緩沖區(qū)的管理,避免了控制器傳輸到達緩沖區(qū)結尾時所產生的中斷.

每個通道都有專門的硬件DMA請求邏輯,同時可以由軟件觸發(fā)每個通道;傳輸的長度、傳輸的源地址和目標地址都可以通過軟件單獨設置。

DMA可以用于主要的外設:SPI、I2C、USART,通用、基本和高級控制定時器TIMx和ADC.7.引腳分配圖STM32F103有很多形式的封裝,也有不同數目的管腳類型,本次設計采用的是LQFP100引腳的芯片,其引腳分配圖如下圖3.11所示。圖3。11STM32F103引腳分配圖3.3.2ILI9320液晶簡介接口標準:ILI9320有可以用來讀寫寄存器和顯示圖表存儲器的系統接口和用來顯示動態(tài)圖形的RGB輸入接口。用戶可以選擇一種接口來顯示動態(tài)或靜態(tài)的圖像。所有的數據是存在GRAM中的,這樣可以降低數據傳輸的工作,只有必須更新的數據才被傳送。用戶還可以通過使用窗口地址功能來更新GRAM中的一部分數據.ILI9320通過使用RGB接口和VSYNC接口來傳送要顯示的數據,這樣可以避免圖像在顯示屏中移動.在RGB模式下,數據是通過控制信號ENABLE,VSYNC,HSYNC,DOTCLK和數據總線DB[15:0]來寫入GRAM中的.在VSYNC模式下,內部顯示時序與幀同步信號是同步的。這種接口模式能夠能過系統接口來顯示動態(tài)圖像.在這種情況下,有特定的條件來約束將數據寫入RAM的速度與方法。圖3.12ILI9320和單片機的連接示意圖寄存器描述:ILI9320采用的是18位總線接口結構的高性能微處理器.ILI9320所有的功能模塊在收到由外部微處理器以18、16、9、8位接口方式發(fā)的正確命令后才能工作.索引寄存器(IR)儲存著可以寫入指令與顯示數據寄存器的地址。寄存器選擇信號(RS),讀寫信號(nRD/nWR)和數據總路線(D17—0)是用來讀寫指令和數據的。ILI9320寄存器分為以后幾類:索引寄存器用來指定寄存器的地址或將要寫入RAM的地址。狀態(tài)寄存器表明了當前ILI9320內部的狀態(tài)。L[7:0]表明了當前驅動TFT面板的驅動行的位置。設置OSC位為1啟動內部晶體振蕩器,設置0停止內部晶體振蕩器。啟動后至少等待10ms來確保振蕩器穩(wěn)定,然后再設置其它功能。讀這個寄存器將會讀出設備的代碼號。B/C:0:幀/場反轉1:行反轉。EOR:EOR=1與B/C=1用來設置行反轉。SS:選擇驅動源輸出的方向。當SS=0,輸出方向是比S1到S720當SS=1,輸出方向是從S720到S1除了移動方向之外,通過設置SS和BGT位可以改變R,G,B在源驅動引腳上的配置。設置SS=0,分配R,G,B到源驅動引腳是從S1到S720。設置SS=1,分配R,G,B到源驅動引腳是從S7201到S1.當改變SS或BGR位時,RAM中的數據必須要重寫。SM:設置門驅動管腳與GS位(R60h)來為模塊選擇最佳的掃描模式。AM控制GRAM更新方向.當AM=0,地址以水平寫方向更新。當AM=1,地址以垂直寫方向更新.當通過寄存器R16和R17設置了窗口功能時,只有可以編寫的GRAM區(qū)域是根據I/D[1:0]和AM的設置來更新.I/D[1:0]控制著當更新完一個像素數據后,址計數器的自動增1或減1。ORG當開啟窗口區(qū)域時,根據ID的設置來移動起始地址.在窗口地址區(qū)域使用高速RAM寫方式寫數據時,這個功能才使能。ORG=0:起始地址不能移動。在這種情況下,在窗口區(qū)域中根據GRAM地址映射來指定一個地址開始寫操作。ORG=1:起始地址00000h根據ID設置來移動。注意:1、當ORG=1,僅有起始地址00000H能通過R20H,R21H被設置在RAM中。2、在RAM讀操作中,確保ORG=0。BGR交換寫入數據中的R和B。BGR=0:按照RGB的順序寫入像素數據.BGR=1:把RGB變?yōu)锽GR的順序寫入GRAM。TRI當TRI=1,數據是通過8-bit的接口以8-bitx3transfers的模式傳輸到內部的RAM中。它也可以以16—bit或SPI的接口方式傳輸數據,這樣配合DFMbit可以實現262K色。當不使用這些接口時,確保TRI=0。3。3.3VCA810簡介VCA810是直流耦合、寬帶、連續(xù)可變電壓控制增益放大器。它提供了差分輸入單端輸出轉換,用來改變高阻抗的增益控制輸入超過-40dB增益至+40dB的范圍內成dB/V的線性變化。從±5V電源工作將調整為VCA810的增益控制電壓在0V輸入-40DB增益在-2V輸入到+40dB。增加地面以上的控制電壓將衰減超過80dB的信號路徑.信號帶寬和壓擺率保持在整個增益的不斷調整range。This40分貝/V的增益控制精確到±1.5分貝(±0。9分貝高檔)。許在一個AGC應用的增益控制電壓為接收使用信號強度指示器(RSSI)的精度為±1.5分貝。VCA810具有以下的優(yōu)點:1、高增益調節(jié)范圍:±40分貝2、微分/單端輸出3、低輸入噪聲電壓:4、恒定帶寬與增益:達到35MHz5、較高的分貝/V的增益線性度:±0。3分貝6、增益控制帶寬:25MHz的7、低輸出直流誤差:〈±40mv8、高輸出電流:±60毫安9、低電源電流:24.8毫安VCA810SOIC封裝引腳如圖3.13所示:圖3.13VCA810引腳圖引腳1:信號的同相輸入端+Vin引腳2:信號地GND引腳3:增益控制端,電壓范圍是-2V-0V引腳4:懸空(不連接)引腳5:信號輸出端Vout引腳6:供電電源正向端+Vs引腳7:供電電源反向端—Vs引腳8:信號的反相輸入端-Vin4軟件設計4。1軟件設計開發(fā)環(huán)境介紹4.1.1編程軟件開發(fā)環(huán)境介紹圖4。1MDK軟件開發(fā)環(huán)境窗口RealViewMDK開發(fā)套件源自德國Keil公司,是ARM公司目前最新推出的針對各種嵌入式處理器的軟件開發(fā)工具.RealViewMDK集成了業(yè)內最領先的技術,包括μVision3集成開發(fā)環(huán)境與RealView編譯器。支持ARM7、ARM9和最新的Cortex—M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulat(yī)ion設備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過20%。RealViewMDK支持的Cortex-M3核是ARM公司最新推出的針對微控制器應用的內核,它提供業(yè)界領先的高性能和低成本的解決方案,未來幾年將成為MCU應用的熱點和主流。目前國內只有ARM公司的MDK和RVDS開發(fā)工具可以支持Cortex—M3芯片的應用開發(fā)。RealViewMDK無需尋求第三方編程軟件與硬件支持,通過配套的ULINK2仿真器與Flash編程工具,輕松實現CPU片內Flash、外擴Flash燒寫,并支持用戶自行添加Flash編程算法;而且能支持Flash整片刪除、扇區(qū)刪除、編程前自動刪除以及編程后自動校驗等功能,輕松方便.μVision3IDE主要特性:功能強大的源代碼編輯器;可根據開發(fā)工具配置的設備數據庫;用于創(chuàng)建和維護工程的工程管理器;集匯編、編譯和鏈接過程于一體的編譯工具;用于設置開發(fā)工具配置的對話框;真正集成高速CPU及片上外設模擬器的源碼級調試器;高級GDI接口,可用于目標硬件的軟件調試和ULINK2仿真器的連接;用于下載應用程序到FlashROM中的Flash編程器;完善的開發(fā)工具手冊、設備數據手冊和用戶向導。4.1.2繪圖軟件開發(fā)環(huán)境介紹圖4.2Altium軟件開發(fā)環(huán)境窗口Altium(前身為Protel國際有限公司)由NickMartin于1985年始創(chuàng)于塔斯馬尼亞州霍巴特,致力于開發(fā)基于PC的軟件,為印刷電路板提供輔助的設計。最初的DOS環(huán)境下的PCB設計工具在澳大利亞得到了電子業(yè)界的廣泛接受,在1986年中期,Altium通過經銷商將設計軟件包出口到美國和歐洲。隨著PCB設計軟件包的成功,Altium公司開始擴大其產品范圍,包括原理圖輸入、PCB自動布線和自動PCB器件布局軟件。80年代晚期,Altium公司意識到在開發(fā)利用MicrosoftWindows作為平臺的電子設計自動化EDA軟件方面存在商機。雖然Windows平臺在處理性能和可靠性上取得了進步,但當時很少有用于Windows平臺的EDA軟件,而當時越來越多的設計工程師使用基于Windows的操作系統。于是,在1991年Altium公司發(fā)布了世界上第一個基于Windows的PCB設計系統,AdvancedPCB。在后來幾年里,憑借各種產品附加功能和增強功能所帶來的好處,Altium建立了具有創(chuàng)新意識的EDA軟件開發(fā)商的地位。4。2軟件設計流程圖程序開始4。2.1主程序流程圖程序開始初始化STM32初始化STM32內部AD初始化TFT液晶初始化TFT液晶采集AD四個通道電壓值采集AD四個通道電壓值計算音源位計算音源位置并顯示圖4.3軟件設計流程圖程序開始運行后,首先對TSM32內部12位ADC進行初始化,緊接著對ILI9320TFT液晶進行初始化。然后STM32開始依次采集內部AD4個通道的電壓,計算出音源的位置并在TFT液晶上以X坐標和Y坐標顯示出來。4。2.1液晶初始化流程圖開始調用液晶開始調用液晶初始化程序初始化連接初始化連接到液晶的IO設置液晶顯示方向,顯示方式設置液晶顯示方向,顯示方式其他程序其他程序圖4。4液晶初始化流程圖voidLCD_Init()//初始化lcd{RCC—〉APB2ENR|=1〈〈3;//先使能外設PORTB時鐘RCC—>APB2ENR|=1<<4;//先使能外設PORTC時鐘RCC->APB2ENR|=1〈<0;//開啟輔助時鐘JTAG_Set(0x01);//開啟SWDGPIOC—>CRH&=0XFFFFF000;//PORTC6~10通用推挽輸出GPIOC->CRH|=0X00000333;GPIOC—〉CRL&=0X00FFFFFF;GPIOC-〉CRL|=0X33000000;GPIOC-〉ODR|=0X07C0;GPIOB-〉CRH=0X33333333;//PORTB通用推挽輸出GPIOB—〉CRL=0X33333333;GPIOB-〉ODR=0XFFFF;LCD_WriteReg(0x0037,0x1407);LCD_WriteReg(0x0012,0x01b8);LCD_WriteReg(0x0029,0x0048);LCD_WriteReg(0x0001,0x0100);//顯示方向LCD_WriteReg(0x0002,0x0700);LCD_WriteReg(0x0003,0x1230);LCD_WriteReg(0x0061,0x0001);LCD_WriteReg(0x0007,0x0173);}4。2。2ADC初始化流程圖開始調用液晶開始調用液晶初始化程序初始化連接初始化連接到AD的IO設置AD時鐘,工作模式等參數設置AD時鐘,工作模式等參數開啟AD開啟AD轉換圖4。5液晶初始化流程圖voidAdc_Init(void){RCC—〉APB2ENR|=1〈<2;//使能PORTA口時鐘GPIOA—>CRL&=0XFFFF0000;//PA0123anolog輸入RCC->APB2ENR|=1<<9;//ADC1時鐘使能RCC->APB2RSTR|=1〈〈9;//ADC1復位RCC—〉APB2RSTR&=~(1<<9);//復位結束RCC->CFGR&=~(3<<14);//分頻因子清零RCC—>CFGR|=2〈<14;ADC1—>CR1&=0XF0FFFF;//工作模式清零ADC1—>CR1|=0<<16;//獨立工作模式ADC1->CR1&=~(1〈〈8);//非掃描模式ADC1-〉CR2&=~(1<〈1);//單次轉換模式ADC1->CR2&=~(7<〈17);ADC1->CR2|=7〈〈17;//軟件控制轉換ADC1—>CR2|=1<〈20;//使用用外部觸發(fā)(SWSTART)!!!必須使用一個事件來觸發(fā)ADC1-〉CR2&=~(1<〈11);//右對齊ADC1—>SQR1&=~(0XF〈<20);ADC1->SQR1&=0<<20;//1個轉換在規(guī)則序列中也就是只轉換規(guī)則序列1ADC1—>SMPR2&=0XFFFFF000;//通道0,1,2,3采樣時間清空ADC1->SMPR2|=7〈<9;//通道3239.5周期,提高采樣時間可以提高精確度ADC1->SMPR2|=7<<6;//通道2239.5周期,提高采樣時間可以提高精確度ADC1-〉SMPR2|=7〈〈3;//通道1239。5周期,提高采樣時間可以提高精確度ADC1->SMPR2|=7〈〈0;//通道0239.5周期,提高采樣時間可以提高精確度ADC1-〉CR2|=1<<0;//開啟AD轉換器ADC1-〉CR2|=1<<3;//使能復位校準while(ADC1-〉CR2&1<<3);//等待校準結束ADC1-〉CR2|=1〈<2;//開啟AD校準while(ADC1->CR2&1<〈2);//等待校準結束5系統調試本次設計系統的調試包括了硬件調試與軟件調試。其中硬件調試包括了555構成的多諧振蕩器的調試、帶通濾波器電路調試和AGC電路的調試。555用作產生聲源,其頻率的的大小由外部元器件的電阻和電容決定,幅值由供電電源VCC決定.帶通濾波器電路采用的是壓控電壓源型,分別由二階低通濾波器和二階高通濾波器組合而成,在保證3dB內頻帶寬度為100HZ,帶通濾波器中心頻率為500HZ的情況下,確定低通濾波器和高通濾波器的截止頻率Wc分別為450HZ與550HZ,并且為了使電路穩(wěn)定的工作,在要求相應的品質因素Q的情況下,還需要考慮增益Av必須要小于或者等于2,因此音頻運算放大器NE5532所組成的反饋放大電路的放大倍數最多等于2,在設計中需要正確計算外圍電阻R和電容C的參數,最好是參照電子線路設計中的參數值來確定,這樣取得的效果會更好。在AGC電路中,VCA810的電壓控制端VC需要預留出來,方便我們測試,由于VCA810的增益范圍是在-40dB—+40dB,所以能滿足ADC采樣的需求電壓值,很容易就達到了采樣需求。在軟件方面的調試,首先是編寫液晶驅動程序,只有液晶成功驅動能夠進行正常顯示才能進行后續(xù)軟件調試工作。在網上收集一些關于ILI9320驅動芯片的2.8寸TFT液晶顯示程序及資料,很據時序圖和資料在原有程序的基礎上進行修改。很快液晶就能正常顯示。液晶正常顯示后就是對STM32的內部12位ADC進行驅動,以便采集4個方位上接收到的音源信號。參考STM32的例程里面的ADC程序進行修改,將例程里面的單通道采集修改成4通道采集,并將采集結果顯示在液晶上。這樣通過液晶顯示結果修改ADC程序效率較高,能夠快速發(fā)現程序的不完善地方。然后模擬采集到的音源電壓給ADC4個通道輸出4個電壓值,通過對比液晶上的顯示結果對ADC進行校準。做到這里軟件底層驅動基本上編寫完成。接下來的主要任務就是編寫算法將ADC4個通道采集到的電壓轉換成音源坐標.6系統功能、指標參數6.1系統實現的功能本設計所實現的功能是對二維平面內音源位置的確定,可用于現實生活中的定位系統,并將坐標值顯示出來,給人們一種確定的位置信息,方便他們之間的通訊和查詢等.該技術不但可以應用于日常生活中,而且還可以應用于軍事上,是一種重要的軍事偵察手段,他是聲學與電子相結合的一種技術.通過本次設計,對每個模塊的進行一次測試與調試,然后將模塊連接在一起,最終基本達到了設計的要求,完成了設計的預期目標,實現了音源定位。該設計在在前端設計時,也做了很多工作與相應的仿真,而且在選擇AGC電路時候,對VCA810的選取也做了仔細分析,這給以后的工作帶來了很大的方便。6.2系統指標參數測試6。2。1帶通濾波器的頻率響應本設計通過Proteus軟件對電路中重要參數進行了仿真測試,圖6。1和圖6。2分別展示的是二階低通濾波器與二階高通濾波器的頻率響應圖。通過該仿真圖可以看出,本次設計所選帶通濾波器的組成元器件的參數選擇是合理的,—3dB的通頻帶為450Hz—550Hz,而且波形較為陡峭,對干擾信號的衰減較強,對我們的聲源信號進行了很好的保護。圖6。1550HZ二階低通濾波器頻率響應圖6.2450HZ二階高通濾波器頻率響應6.2.2555定時器構成的多諧振蕩器測試由555定時器構成的多諧振蕩器中,有兩個關鍵的門檻電壓值分別為和,此電路中的VCC電壓值即為電源電壓。下圖是555構成的方波發(fā)生器。圖6.3雙T陷波器的仿真效果圖分析:圖中黃色的線條表示的是產生的方波信號,我們可以看出一個周期的時間為2ms,因此得到了我們所要的500HZ的方波信號,而且波形形狀較好,滿足設計要求.由于555定時器背部的比較器靈敏度較高,而且采用差分電路形勢,因此該電路受電源電壓和溫度的干擾都比較小.6.2.3STM32ADC電壓采集測試下表6.1列出了STM32ADC采集到的電壓與實際電壓值之間的對比,通過對比可以發(fā)現,STM32ADC采集到的電壓精度較高,電壓跳動小;在1。0V到3。0V的測量范圍內誤差最小,根據此調試經驗,在設計AGC電路時盡量將電壓波動范圍設置在1。0V到3。0V的范圍內。能夠滿足本設計的需要。表6.1STM32ADC電壓采集測試表測試通道測試次數實際值(V)測量值(V)測量誤差110.100.1220.0%20。500.5510.0%31.000.955。0%42.002.084。0%53.003.124.0%210。100.1110。0%20.500。5918.0%31.001.1111.0%42.001。990。5%53。003.113。7%310.100。1110.0%20。500.4510.0%31.000.964.0%42。002。147.0%53。003.196。3%410。100.0910.0%20.500.476。0%31

溫馨提示

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

評論

0/150

提交評論