版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科畢業(yè)設(shè)計(論文)摘 要頻譜分析儀用來分析信號各頻率上的信號強度。在信號分析處理中常用頻譜分析方法,將信號在頻域上進(jìn)行處理、 分析以及顯示。早期頻譜分析儀主要由分離元件構(gòu)成,不僅設(shè)計復(fù)雜,價格昂貴,體積較大,而且頻率分辨率不高。后來以傅立葉變換為基礎(chǔ)的現(xiàn)代頻譜分析儀的出現(xiàn),實現(xiàn)在頻譜分析的數(shù)字化,隨著大規(guī)模集成電路的發(fā)展,特別是dsp 專用數(shù)字信號處理器的出現(xiàn),使數(shù)字信號處理的速度得到了大幅度的提高。在數(shù)字信號處理中fft算法占有重要的地位,本文提出了用nios ii實現(xiàn)fft的一種設(shè)計思想,采用了軟件與硬件相結(jié)合的方法,使其結(jié)構(gòu)更加的靈活。本文給出了總體實現(xiàn)框圖:重點設(shè)計實現(xiàn)了fft算法,
2、采用了硬件加速,從而提高了運算速度,降低了運算復(fù)雜度。本設(shè)計具有頻譜的顯示及按鍵控制功能,人機界面友好,操作使用方便的特點。關(guān)鍵詞 fft算法快速傅里葉變換;fpga;nios ii;vhdl語言abstractthe spectrum analyzer uses for in analytical signal various frequencies the signal strength. in signal analysis processing commonly used spectral analysis method,carries on processing, the analy
3、sis as well as the demonstration the signal in the frequency range. early time spectrum analyzer mainly by separative element constitution, not only designs complex, the price is expensive, the volume is big, moreover the frequency resolution is not high. afterward take the fourier transformation as
4、 the foundation modern spectrum analyzers appearance, realized in the spectral analysis digitization, along with large scale integrated circuits development, specially the dsp special-purpose digital signal processors appearance, enabled the digital signal processing the speed to have the large scal
5、e enhancement. the fft algorithm held the important status in the digital signal processing, this article proposed ii realized the fft one kind of design concept with nios, this design method simplified the design hardware architecture, enhanced the design flexibility, facilitated the promotion. thi
6、s article gave the overall to realize the diagram: the key design has realized the fft algorithm, has used the hardware acceleration, thus raised the operating speed, reduced the operation order of complexity. this design has the frequency spectrum demonstration and the pressed key control function,
7、 the man-machine contact surface is friendly, operation easy to operate characteristic. key word: fft algorithm fast fournier transformation fpga nios ii vhdl language 目錄摘 要iabstractii第1章 緒言111選題意義112 國內(nèi)外信號發(fā)生器的發(fā)展與現(xiàn)狀。2121國內(nèi)發(fā)展與現(xiàn)狀2122國外發(fā)展與現(xiàn)狀213 前景展望314本章小結(jié)3第2章 算法依據(jù)421離散傅立葉變換算法42. 2快速傅立葉變換52.2.1 fft算法基本
8、思想62.2.2 按時間抽取基-2fft算法723本章小節(jié)9第3章 硬件設(shè)計及niosii軟核的配置1031 系統(tǒng)硬件電路的設(shè)計1032 nios ii 軟核的相關(guān)配置1333 本章小結(jié)15第4章 系統(tǒng)軟件的設(shè)計1641位運算1642 蝶形運算1943 fft運算2144本章小結(jié)21第5章 數(shù)據(jù)的運算及分析2251旋轉(zhuǎn)因子復(fù)數(shù)乘法器的相關(guān)數(shù)據(jù)分析2252 fft相關(guān)的數(shù)值分析及計算2353 本章小結(jié)24結(jié)論25參考文獻(xiàn)26致謝27附錄1 28附錄2 3132 第1章 緒言11選題意義頻譜分析儀對于信號分析來說是不可少的。它是利用頻率域?qū)π盘栠M(jìn)行分析、研究,同時也應(yīng)用于諸多領(lǐng)域,如通訊發(fā)射機以及
9、干擾信號的測量,頻譜的監(jiān)測,器件的特性分析等等,各行各業(yè)、各個部門對頻譜分析儀應(yīng)用的側(cè)重點也不盡相同.過去這些算法是通過軟件來實現(xiàn)的,缺點就是速度慢,延時大,效率低。后來隨著大規(guī)模集成電路的發(fā)展,出現(xiàn)了 dsp 專用數(shù)字信號處理器,使數(shù)字信號處理實現(xiàn)了質(zhì)的飛躍。這種dsp 分兩種處理器,一種為通用型,一種是專用型。通用 dsp 的靈活性好,功能強大,但處理速度比不上專用 dsp。 nios ii 系列軟核處理器是altera的第二代fpga嵌入式處理器,其性能超過200dmips,在 altera fpga中實現(xiàn)僅需 35美分。特別是,nios ii系列支持使用專用指令。專用指令是用戶增加的硬
10、件模塊,它增加了算術(shù)邏輯單元(alu)。用戶能為系統(tǒng)中使用的每個 nios ii 處理器創(chuàng)建多達(dá) 256 個專用指令,這使得設(shè)計者能夠細(xì)致地調(diào)整系統(tǒng)硬件以滿足性能目標(biāo)。 在 fpga中使用軟核處理器(如 nios ii)比硬核的優(yōu)勢在于,硬核實現(xiàn)沒有靈活性,通常無法使用最新的技術(shù)。隨著系統(tǒng)日益先進(jìn),而基于 nios ii 處理器的方案是基于hdl源碼構(gòu)建的,能夠修改以滿足新的系統(tǒng)需求,其優(yōu)勢越來越明顯。將處理器實現(xiàn)為hdl的 ip核,開發(fā)者能夠完全定制 cpu和外設(shè),獲得恰好滿足需求的處理器。 另外,在 altera提供的nios ii ide里面,可以輕松實現(xiàn)c語言到 hdl語言的轉(zhuǎn)換,在硬
11、件上實現(xiàn)程序的功能,據(jù)測試,硬件加速可以提高 50 倍的運算速度。 本設(shè)計是基于nios ii的數(shù)字頻譜分析儀,硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,價格低廉。具有一定得使用和參考價值。12 國內(nèi)外信號發(fā)生器的發(fā)展與現(xiàn)狀。121國內(nèi)發(fā)展與現(xiàn)狀安泰信電子有限公司的頻譜分析儀共兩大系列及at5000和at6000系列主要用于電壓、功率、周期、波形、邊帶和頻率的譜波失真,雙音交調(diào)失真和雜波探測,對遙控器、對講機、測量發(fā)射接收機、無繩電話測量進(jìn)行分析??捎糜谟芯€電視catv及通訊機檢測; gsm、cdma, 3g手機檢修;電磁兼容測試(emc);信號偵聽等功能。還可廣泛用應(yīng)于教學(xué)、科研。at503
12、0頻譜分析儀能真正看到電信號 (如射頻脈沖信號 )用傅利葉級數(shù)展開出來的圖像 ,教學(xué)上更容易理解,科研上更清楚。 at5000系列數(shù)字頻譜分析儀頻率范圍1ghz(0.151050mhz)有粗調(diào)和細(xì)調(diào)調(diào)節(jié)中心頻率,數(shù)字列鍵盤和飛棱鍵外加頻率、span、rbw、頻標(biāo)等引出控制鍵更方便用戶的快速測試,本儀器采用7彩色tft液精顯示器同步顯示各種參數(shù),并攜帶與pc連接的各種接口更方便數(shù)據(jù)采集。本儀器攜帶usb、rs232、lan等外部數(shù)據(jù)接口,更能體現(xiàn)遠(yuǎn)程的控制能力。 at6000系列頻譜分析儀可測頻率范圍1ghz(0.151050mhz)有50mhz步進(jìn)和細(xì)調(diào)調(diào)節(jié)中心頻率,加上1mhz1ghz掃頻寬
13、度選擇,組成簡易的頻域測量。at6011裝有跟蹤發(fā)生器。本儀器適用于產(chǎn)品開發(fā)時的先期測試,在交第三方正式測試之前,一組近場探頭az530適用于初樣機電路板和原樣機階段,對電纜和印制板等處的發(fā)射“熱點”測試和電磁兼容性水平評估。122國外發(fā)展與現(xiàn)狀美國安捷倫科技公司的頻譜分析儀-psa系列頻譜分析儀hpe4440a產(chǎn)品說明與介紹agilente4440a是psa系列現(xiàn)代高性能頻譜分析儀中的一種儀器,具有適應(yīng)2g/3g應(yīng)用的通用單鍵功率測量能力和各種測量專用件。psa系列把這些專用件和強大的測量性能相結(jié)合,能滿足航天/防務(wù)、無線通信和其它行業(yè)通用和高度專用的信號分析需要。psa系列為頻譜分析提供全
14、新的平臺,它具有非常先進(jìn)的總體性能,在精度、動態(tài)范圍、靈敏度、分辨率和速度方面得到重大改進(jìn)。agilente4440a是psa系列中的3hz-26ghz型。能提供高性能的頻譜分析。13 前景展望頻譜分析儀是對無線電信號進(jìn)行測量的必備手段,是從事電子產(chǎn)品研發(fā)、生產(chǎn)、檢驗的常用工具。因此,應(yīng)用十分廣泛,被稱為工程師的射頻萬用表。(1)、傳統(tǒng)頻譜分析儀傳統(tǒng)的頻譜分析儀的前端電路是一定帶寬內(nèi)可調(diào)諧的接收機,輸入信號經(jīng)變頻器變頻后由低通濾器輸出,濾波輸出作為垂直分量,頻率作為水平分量,在示波器屏幕上繪出坐標(biāo)圖,就是輸入信號的頻譜圖。傳統(tǒng)的頻譜分析儀也有明顯的缺點,它只能測量頻率的幅度,缺少相位信息,因此
15、屬于標(biāo)量儀器而不是矢量儀器。(2)、現(xiàn)代頻譜分析儀基于快速傅里葉變換(fft)的現(xiàn)代頻譜分析儀,通過傅里葉運算將被測信號分解成分立的頻率分量,達(dá)到與傳統(tǒng)頻譜分析儀同樣的結(jié)果,。這種新型的頻譜分析儀采用數(shù)字方法直接由模擬/數(shù)字轉(zhuǎn)換器(adc)對輸入信號取樣,再經(jīng)fft處理后獲得頻譜分布圖。在這種頻譜分析儀中,為獲得良好的儀器線性度和高分辨率,對信號進(jìn)行數(shù)據(jù)采集時adc的取樣率最少等于輸入信號最高頻率的兩倍。(3)、隨著超大規(guī)模集成電路工藝技術(shù)的發(fā)展,以超深亞微米工藝和ip核復(fù)用技術(shù)為支撐的系統(tǒng)芯片技術(shù)(soc)是國際超大規(guī)模集成電路發(fā)展的趨勢和二十一世紀(jì)集成電路技術(shù)的主流。14本章小結(jié)在本章節(jié)中
16、主要介紹了頻譜分析儀的用途,現(xiàn)狀及發(fā)展趨勢及其實現(xiàn)方法,通過本章的介紹,可對頻譜分析儀有大致的了解。第2章 算法依據(jù) 離散傅里葉變換不僅具有明確的物理意義,相對于dtft他更便于用計算機處理。但是,直至上個世紀(jì)六十年代,由于數(shù)字計算機的處理速度較低以及離散傅里葉變換的計算量較大,離散傅里葉變換長期得不到真正的應(yīng)用,快速離散傅里葉變換算法的提出,才得以顯現(xiàn)出離散傅里葉變換的強大功能,并被廣泛地應(yīng)用于各種數(shù)字信號處理系統(tǒng)中。近年來,計算機的處理速率有了驚人的發(fā)展,同時在數(shù)字信號處理領(lǐng)域出現(xiàn)了許多新的方法,但在許多應(yīng)用中始終無法替代離散傅里葉變換及其快速算法。 21離散傅立葉變換算法根據(jù)信號的連續(xù)性
17、、離散性、周期性、非周期性,傅立葉變換可以分為四種不同的形式即連續(xù)時間非周期信號的傅立葉變換、連續(xù)時間周期信號的傅立葉變換、離散時間非周期信號的傅立葉變換、離散時間周期信號。四種傅立葉變換對前三種由于至少在時域或頻域是離散的,都不適于在計算機上運行。然而、現(xiàn)實世界中的聲音圖像等各種信號大都為模擬信號,要用計算機對這些信號進(jìn)行數(shù)字信號處理,這些信號必須通過采樣量化編碼變成有限長的數(shù)字信號序列。對于有限長序列,可以得出另外一種傅立葉表示,稱為離散傅立葉變換(dft)。離散傅立葉變換本身是一個序列,而不是一個連續(xù)變量的函數(shù),它相應(yīng)于對信號的傅立葉變換進(jìn)行頻率的等間隔取樣的樣本。因為存在著計算dft的
18、高效算法,作為序列的傅立葉表示,dft除了在理論上十分重要外,在實現(xiàn)各種數(shù)字信號處理算法中還起著核心作用。離散傅里葉變換描述分析有限長序列,其本質(zhì)是建立了以時間為自變量的信號與以頻率為自變量的頻譜函數(shù)之間的變換關(guān)系,換言之,離散傅里葉變換定義了時域與頻域之間的一種變換或者說是映射。對于dft時間和頻率變量都取離散值。下面討論一下有限長序列的離散傅立葉變換。對于一個長度為n的有限長序列x(n),亦即只在n=0到(n-1)個點上為非零值,其余皆為零,我們可以把它看成周期為n的周期序列中的一個周期.即當(dāng), 當(dāng)為其它值, 。 其中 (2-1)從而有限長序列的傅立葉變換定義為正變換: (2-2)反變換:
19、 (2-3)其中, 由此可見,離散傅立葉變換開辟了頻域離散化的道路,使數(shù)字信號處理也可以在頻域上采用數(shù)字運算方法進(jìn)行,它可以作為一種數(shù)學(xué)工具來描述離散信號的時域和頻域表示的關(guān)系,大大增加了數(shù)字信號處理的靈活性,特別是它的多種快速算法,使信號的實時處理和設(shè)備的簡化得以實現(xiàn),所以離散傅立葉變換不僅在理論上有重要意義,而且在各種數(shù)字信號處理中起著核心的作用。2.2快速傅立葉變換對于式(2.1)dft的直接計算法。x(n)若為復(fù)數(shù)的話,則計算dft每一個值就需要n次復(fù)數(shù)乘法和(n-1)次復(fù)數(shù)加法。因此計算全部的n個值總共需要次復(fù)數(shù)乘法和n(n-1)次復(fù)數(shù)加法。而每一個復(fù)數(shù)乘法需要4次實數(shù)乘法和2次實數(shù)
20、加法。所以,對于每一個k值,直接計算x(k)就需要4次實數(shù)乘法和2n(2n-1)次實數(shù)加法。除了這些運算量外,通用計算機或?qū)S糜布碜鰀ft數(shù)字計算還需要存儲和讀取個復(fù)數(shù)輸入序列值x(n)以及復(fù)系數(shù)值的設(shè)備。由于計算的總次數(shù)以及所需的時間大致上正比于,顯然當(dāng)值很大時直接計算dft所需要的算術(shù)運算的次數(shù)就非常大??梢姡x散傅里葉變換算法實現(xiàn)了頻域離散化,在數(shù)字信號處理中起著極其重要的作用,它可以直接用來分析信號的頻譜、計算濾波器頻率響應(yīng)、以及實現(xiàn)信號通過線性系統(tǒng)的卷積運算。但對于n點dft運算總共需要4次實數(shù)乘法和2n(2n-1)次實數(shù)加法,這樣龐大的運算量使得dft的實際應(yīng)用特別是實時處理難以
21、實現(xiàn),直到1965年庫利和圖基首次提出了計算dft的一種快速算法,人們開始認(rèn)識到dft運算的一些內(nèi)在規(guī)律,發(fā)展和完善了一套高效的運算方法,dft的運算在實際中才得到廣泛的應(yīng)用。繼cooleytukey算法以后,sandetukey等快速算法相繼出現(xiàn),很快形成了一套高效運算方法,這就是現(xiàn)在的通用快速傅里葉變換,簡稱為fft。這種方法使復(fù)數(shù)乘法的次數(shù)從次減少到了次。如n=1024時運算量從1048576次減少到5120次,運算效率提高了204.8倍,為dft乃至數(shù)字信號處理技術(shù)的實際應(yīng)用特別是實時處理創(chuàng)造了良好的條件,大大地推動了數(shù)字信號處理技術(shù)的發(fā)展。所以實際工程中用到的都是dft的快速算法:快
22、速傅里葉變換(fft)。2.2.1 fft算法基本思想fft算法的基本思想:可以將一個長度為n的序列的離散傅里葉變換逐次分解為較短的離散傅里葉變換來計算,這些短序列的dft可重新組合成原序列的dft,而總的運算次數(shù)卻比直接的dft運算少得多,從而達(dá)到提高速度的目的??焖俑盗⑷~變換就是利用的特性,逐步地將n點序列分解成較短的序列,計算短序列的dft,然后組合成原序列的dft,使運算量顯著減少。這種分解基本上可分為兩類,一類是將時間序列x(n)進(jìn)行逐次分解,稱為按時間抽取算法(decimation in time);另一類將傅立葉變換序列x(k)進(jìn)行分解,稱為按頻率抽取算法(decimation
23、in frenquency)。本文主要介紹t按時間抽取基-2fft算法。2.2.2 按時間抽取基-2fft算法我們已經(jīng)知道fft算法主要是利用的性質(zhì),通過把序列逐漸分解為短序列實現(xiàn)運算量的減少。的以下三種性質(zhì)在fft運算中得到了應(yīng)用:性質(zhì)1:的周期性 性質(zhì)2:的對稱性 性質(zhì)3:的可約性 ,由于目前fft比較普遍使用的算法還是基二算法,本節(jié)將討論基二的按時間抽取算法。基二算法中,序列x(n)的長度n為2的整數(shù)次冪,即n=,其中m為正整數(shù)。最初通過將x(n)分解為奇數(shù)項序列和偶數(shù)項序列的形式使fft運算分為兩組。設(shè): (2.4)設(shè)為的dft,為的dft,利用的性質(zhì)可得x(n)的dft運算為: (2
24、-5)由此可見,一個n點dft分解為兩個n/2點的dft,從而實現(xiàn)了運算量的減少,再經(jīng)過逐次分解最終分解為2點的dft,實現(xiàn)了fft運算。fft運算的核心是蝶形運算。通過順序計算全部蝶形實現(xiàn)fft算法的實現(xiàn)。下面給出時的按時間抽取fft流圖。圖2.1 n=8的時間抽取fft算法流圖對于序列的長度的fft,共有m級蝶形,每級由n/2個蝶形運算組成,每個蝶形包括一次復(fù)乘、二次復(fù)加,則m級運算的運算量為復(fù)數(shù)乘法: 復(fù)數(shù)加法:由此可見,fft算法與直接dft算法相比運算量大為減少,如n=1024時,dft所需的復(fù)數(shù)乘法運算次數(shù)為:=1048576次,而fft所需的復(fù)數(shù)乘法運算次數(shù)僅為次。可見時dft算
25、法的運算量是fft算法的運算量的倍。從而可以看出fft算法的優(yōu)越性,且當(dāng)點數(shù)n越大越能突出fft算法的優(yōu)越性。23本章小節(jié) 本章從理論上結(jié)fft進(jìn)行分析介紹,主要介紹了fft相對于dft的優(yōu)越性,fft運算提高了運算速度,從理論上指出其提高速度的原理。第3章 硬件設(shè)計及niosii軟核的配置由于系統(tǒng)采用的是altera公司niosii軟核處理器,該處理器具有完全可定制特性、高性能、較低成本、易用性、適應(yīng)性等優(yōu)勢。使用niosii處理器,將不會局限于預(yù)先制造處理器技術(shù),而是根據(jù)用戶標(biāo)準(zhǔn)定制處理器,按照需要選擇合適外設(shè)、存儲器和接口。此外,還可以輕松集成用戶專有功能,使設(shè)計具有獨特競爭優(yōu)勢。nio
26、sii處理器軟件開發(fā)是建立在ansl c基礎(chǔ)上。niosii ide是nios系列嵌入式處理器主要軟件開發(fā)工具。用戶可以在niosii ide中完成所有軟件開發(fā)任務(wù),如編輯、編譯、下載、調(diào)試和閃存編程。niosii嵌入式系統(tǒng)一個重要問題就是軟件代碼量大小,這關(guān)系到存放代碼存儲器件容量大小,因此控制和減小程序代碼量是降低系統(tǒng)成本重要方法,必須首先從處理器啟動順序開始研究。系統(tǒng)相關(guān)硬件方面的設(shè)計主要包括了硬件平臺的搭建及niosii軟核與軟核相關(guān)的外設(shè)配置。31系統(tǒng)硬件電路的設(shè)計系統(tǒng)的硬件主要包括了用于處理和控制運算的主要芯片fpga;用于進(jìn)行數(shù)據(jù)存儲及程序存儲的存儲單元sdrom和nor fla
27、sh;ad轉(zhuǎn)換電路用于模數(shù)轉(zhuǎn)換;前置濾波電路用于抗混疊濾波;頻譜顯示模塊lcd電路;控制模塊鍵盤電路組成。各個部分都能夠通過nios ii處是器有機的結(jié)合在一起,例如存儲單元sdrom和nor flash,在nios ii中已經(jīng)為其制定好了控制模塊,可以通過quartus ii 對其進(jìn)行相關(guān)的設(shè)計即可使用,同樣也可以定制一個adc控制器將其封裝成nios ii的自定義ip,通過avalon總線進(jìn)行調(diào)用,也可以通過i/o口直接對adc805控制。系統(tǒng)的總體框圖如圖3.1所示。niosii處理器sdramnorflash抗混疊濾波器adc轉(zhuǎn)換器lcd頻譜顯示信號輸入鍵盤控制圖3.1系統(tǒng)總體框圖1、
28、niosii處理器硬件平臺在本系統(tǒng)中niosii處理器的構(gòu)建采用的是altera公司的cyclone ii系列的fpga ep2c8,ep2c8具有20萬邏輯門完全可以構(gòu)成系統(tǒng)所須要的nios ii軟核。sdram采用的是hy57v641620芯片,該芯片具有64m的存儲容量,flash采用的是28f640芯片該芯片具有8m的存儲容量。完全滿足系統(tǒng)所須的程序及數(shù)據(jù)存儲。2、lcd液晶顯示電路lcd液晶顯示主要用于人機交換及頻譜的顯示,在本系統(tǒng)中l(wèi)cd顯示器采用的是128*64點陣液晶顯示器。支持三種接口方式,我們采用是并行時序方式,接口簡單,使用方便。對于lcd而言,需要清楚的了解驅(qū)動控制ic
29、的顯存與lcd上的對應(yīng)關(guān)系,lcd的顯存中存在8(page)*8+1行,即65行,s0-s131,即132列,而液晶叧有64*128個點。因此顯存上的一些數(shù)據(jù)是不能顯示的。途過實驗測試得知,最后一行(page8中的d0)和最后三列(adc為正常時,s129、s130、s131;adc為反向時,s0、s1、s2)是不能顯示的,而顯存上其他數(shù)據(jù)不lcd上的點一一對應(yīng)。lcd與fpga的連接圖如圖3.3所示。圖3.3 lcd12864電路3、adc轉(zhuǎn)換器的選擇系統(tǒng)中adc轉(zhuǎn)換器用的ti公司的12位ad轉(zhuǎn)換器ads805,具有20mhz的動態(tài)范圍,其引腳兼容ads804與ads803。ads805的內(nèi)
30、部框圖如圖3.2所示。圖3.2 ads805的內(nèi)部結(jié)構(gòu)圖抗混疊濾波及adc轉(zhuǎn)換電路見附錄。32 nios ii 軟核的相關(guān)配置1、cpu的構(gòu)建用鼠標(biāo)點擊左側(cè)邊框的紅圈處nios ii processor,如下圖示 點擊后,將出現(xiàn)下圖,返一步我們來選擇軟核的類型。這里給我們提供了三種類型,nios ii/e占用資源最少600-800les,功能也最簡單,速度最慢。nios ii/s占資源比前者多一些,功能也多了,速度也快一些nios ii/f占資源最多,功能也最多,速度就快。在這里,由于fft須要進(jìn)行快速的運算,因此選擇nios ii/f,功能和速度都可以得到滿足。下面的reset vector
31、是復(fù)位后啟動時的memory類型和偏移量, exception vector是異常情況時的memory類型和偏移量?,F(xiàn)在還不能配置,需要sdram和flash設(shè)置好以后才能修改這里。 2、調(diào)試接口的配置在系統(tǒng)測試和調(diào)試方面,需要nios ii處理器能夠向電腦發(fā)送數(shù)據(jù),方便用戶驗證測試,和程序的調(diào)試,故在選擇jtag時需要更高級別的調(diào)試功能。 3、存儲器的配置系統(tǒng)板為了節(jié)省i/o引腳,將flash和sdram的數(shù)據(jù)線和地址線復(fù)用了,因此在配置軟核時也加入一個三態(tài)總線橋,實現(xiàn)數(shù)據(jù)正確讀取。 4、lcd12864的配置lcd12864對應(yīng)的3根控制線與8根數(shù)據(jù)通過 配制gpio引腳來實現(xiàn)對lcd的讀
32、寫控制,根據(jù)lcd的讀寫時序的對其各個控制及數(shù)據(jù)引腳進(jìn)行方向設(shè)置。其控制引腳的配置如下圖所示。為了對信號的正確穩(wěn)定地采集,必須再加上一個緩沖存儲器。fifo是一種先進(jìn)先出的存儲器,亦可以在信號采集和信號處理之間實現(xiàn)速度匹配。本系統(tǒng)用vhdl語言設(shè)計了一個可控分頻器,用來當(dāng)fifo的寫時鐘,從而控制adc的采樣頻率。33 本章小結(jié) 本章從硬件的選型,到原理圖進(jìn)行了祥細(xì)的說明,同時對nios ii軟核的配置進(jìn)行了介紹,實現(xiàn)整體硬件電路平臺的搭建,后來軟件程序的設(shè)計提供了硬件基礎(chǔ)。第4章 系統(tǒng)軟件的設(shè)計系統(tǒng)的核心是fft變換,而fft變換的的數(shù)據(jù)來源于ads805模數(shù)轉(zhuǎn)換的結(jié)果,系統(tǒng)通過對adc的控
33、制來實驗采樣頻率的控制。通過按鍵實現(xiàn)對整個系統(tǒng)的控制作用,通過點陣液晶lcd12864來顯示頻譜及功率等信息。系統(tǒng)的整體流程圖如圖4.1所示。開始初始化按鍵中斷采樣頻率控制取數(shù)fft變換數(shù)據(jù)變換lcd頻譜顯示yn圖4.1 整體流程圖41位運算由于輸入序列按時間序位的奇偶抽取,故輸入序列是混序的,為此需要先進(jìn)行混序處理。1.原位運算從fft的流圖可以看出,蝶形結(jié)兩個輸入節(jié)點只參與本蝶形運算單元的運算,輸出也是兩個節(jié)點,并且計算完后兩個輸入節(jié)點就不再起作用。由于這一特點,我們在計算機編程時可以將蝶形單元的輸出仍放在輸入數(shù)組中,這一特點稱為“原位運算”。利用這一特點編程可節(jié)省存儲空間,只用n個復(fù)數(shù)存
34、儲單元。為滿足原位運算,輸入或輸出必有一個是倒位序。2.位倒序關(guān)于fft運算的混序與順序處理(位倒序處理) 由于輸入序列按時間序位的奇偶抽取,故輸入序列是混序的,為此需要先進(jìn)行混序處理?;煨蛞?guī)律: x(n)按n位置進(jìn)行碼位(二進(jìn)制)倒置規(guī)律輸入,而非自然排序,即得到混序排列。所以稱為位倒序處理。位倒序?qū)崿F(xiàn):(1)dsp實現(xiàn)采用位倒序?qū)ぶ罚?)通用計算機實現(xiàn)可以有兩個方法:一是嚴(yán)格按照位倒序含義進(jìn)行;二是倒進(jìn)位的加n/2。倒位序 倒位序自然序00000000100410010102201011063011001141001015510101136110表4.1自然序與倒位序?qū)?yīng)表位倒序主要是通過
35、位運算實現(xiàn)的,首先根據(jù)所提供的數(shù)值求出所要進(jìn)行fft運算的最大位數(shù)n,并存儲n個二進(jìn)制數(shù)用于位倒序運算。再將給定的數(shù)進(jìn)行位倒序,其過程:首先進(jìn)行循環(huán)最值為n判斷,為真則用按位與運算判斷相應(yīng)位是否為1,若為1則進(jìn)行倒序。位倒序的程序流程圖4.3所示。求fft運算的最大位數(shù)n存儲n個二進(jìn)制數(shù)判斷出相應(yīng)位是否為將二進(jìn)制數(shù)組中的數(shù)據(jù)倒序并累加記錄取數(shù)nyny圖4.3 位倒序的程序流程位倒序的程序如下: while(bit_temp&samplenumber)!=samplenumber) /計算fft運算的最大位數(shù) bit_temp=0x0001; bit_temp=bit_tempbit_max;
36、bit_mapbit_max=bit_temp; /存儲二進(jìn)制相應(yīng)位數(shù) bit_max+; for(i=0;isamplenumber;i+) bit_sum=0; /倒序后的數(shù)據(jù) for(k=0;kbit_max;k+) if(i&bit_mapk)!=0) /二進(jìn)制相應(yīng)位是否為 1 bit_sum+=bit_mapbit_max-k-2; /計算倒位序 databit_sum=data_tempi;42 蝶形運算蝶形運算由一個復(fù)數(shù)乘法器,和兩個復(fù)數(shù)加法器構(gòu)成構(gòu)成蝶形運算單元的核心是復(fù)數(shù)乘法器,在本系統(tǒng)中復(fù)數(shù)乘法器是通過dsp builder制定的。利用dsp builder生成復(fù)數(shù)乘法模塊
37、使用dsp builder在fpga上進(jìn)行dsp模塊的設(shè)計,可實現(xiàn)高速dsp處理。但是,在實際應(yīng)用中,除了要求dsp高速外,由于dsp處理的算法往往比較復(fù) 雜,如果單純使用dsp builder來實現(xiàn)純硬件的dsp模塊,會耗費過多的硬件資源,因此有時也無法完成許多算法復(fù)雜的模型。而nios則是一個建 立在fpga上的嵌入式微處理器軟核,它有一個重要的特性是具有自定制指令。在dsp算法中會反復(fù)出現(xiàn)一些運算(如復(fù)數(shù)乘法器、整數(shù)乘法器、浮點乘法器 等),而在通用的cpu中都沒有專門用于復(fù)數(shù)乘法計算和浮點乘法計算的相關(guān)指令。在系統(tǒng)設(shè)計中,利用ma-tlab、dsp builder或者vhdl設(shè)計并生成
38、復(fù)數(shù)乘法器、整數(shù)乘法器、浮點乘法器等硬件模塊。在quartus環(huán)境中對上述文件做一些修正后,在sopc builder窗口中將它們定制為相應(yīng)的指令,并可設(shè)定或修改執(zhí)行該指令的時鐘周期。在進(jìn)行dsp算法運算時,可通過匯編或c語言,甚至c+語言來運用 這些自定義指令進(jìn)行嵌入式程序設(shè)計。根據(jù)復(fù)數(shù)運算,設(shè)2個復(fù)數(shù)為a+bj和c+dj,則乘法表述為:在matlabsimulink下建立如圖4.3所示的復(fù)數(shù)乘法模型,圖中的dataal、databl和resultl是dsp builder中sopclibrary中custom ins-truction中的模塊,分別對應(yīng)nios內(nèi)部alu的2個輸入信號dat
39、aa和datab,以及alu的輸出信號result。 datareal、dataimag、datbreal、da-thlmag是一個總線位轉(zhuǎn)換模塊;busconeatenation是總線復(fù)合模塊。 dataa tocomplex和datab to complex是一個實數(shù)轉(zhuǎn)復(fù)數(shù)的模塊,com-plex product是復(fù)數(shù)乘法模塊,real result是復(fù)數(shù)解出實部和虛部的模塊。圖4.4 復(fù)數(shù)乘法模型該模型完成了1個16位的復(fù)數(shù)乘法。利用nios32的32位數(shù)據(jù)位寬,把32位分成2部分,分別放入復(fù)數(shù)的實部和虛部,實部、虛部的位寬 都是16位,正好構(gòu)成1個32位數(shù),兩個16位復(fù)數(shù)進(jìn)行運算后,把
40、結(jié)果設(shè)為16位復(fù)數(shù),也用32位表示。模塊的核心部件為complex product復(fù)數(shù)乘法模塊,它的功能是完成在這個設(shè)計中,復(fù)數(shù)乘法的運算。該模型中所有的模塊都由dsp builder 元件庫中調(diào)用,使用十分方便,并且能夠生成vhdl代碼。設(shè)此模型的文件名為co-mplexmdl。并 點擊signalcompiler,對complexmdl進(jìn)行轉(zhuǎn)換,在轉(zhuǎn)換窗口中分別作如下選擇:器件選擇cyclone;綜合器選擇quart- us;“sopc info”的generate sopc builder ptf file項要選擇打勾。分別單擊轉(zhuǎn)換按鈕1-convert和綜合按鈕2-synthesis即
41、可將其轉(zhuǎn)換成標(biāo)準(zhǔn)的vhdl語言。該模塊完成的功能是:復(fù)數(shù)乘法器生成后通過quartus ii 將其制成復(fù)數(shù)乘法器指令。以供nios ii軟核調(diào)用進(jìn)行fft運算。43 fft運算fft運算的程序流程圖如圖4.5所示。圖4.5 fft運算的程序流程圖44本章小結(jié) 本章主要介紹了fft的實現(xiàn)方法,用編程語言c語言的方法闡述了fft的原理,并祥細(xì)介紹了fft的核心蝶形運算及復(fù)數(shù)乘法器的dsp bulder的實現(xiàn)方法。第5章 數(shù)據(jù)的運算及分析51旋轉(zhuǎn)因子復(fù)數(shù)乘法器的相關(guān)數(shù)據(jù)分析實時信號處理硬件的實現(xiàn)通常需要高效的乘法器單元,因此乘法器的設(shè)計在數(shù)字信號處理中占有很重要的地位。蝶形運算由一個復(fù)數(shù)加法器、一個
42、復(fù)數(shù)減法器和一個旋轉(zhuǎn)因子的復(fù)數(shù)乘法器組成,可見在fft中設(shè)計一個高效的乘法器可以提高fft的計算速度,提高運算效率,所以本文采用的乘法器算法是由dsp bulder設(shè)計生成vhdl語言實現(xiàn)旋轉(zhuǎn)因子復(fù)數(shù)乘法器。將所得到的vhdl語言在quartus ii 7.2 中進(jìn)行仿真給出激勵,可得到仿真波形。輸入值為,旋轉(zhuǎn)因子時的仿真波形如下圖所示:圖5.1旋轉(zhuǎn)因子復(fù)數(shù)乘法器仿真圖從理論上所計算的結(jié)果應(yīng)為:圖5.1,在waveform editor中加入輸入激勵后得到的仿真波形,其中clk是時鐘信號,x_in和y_in分別是輸入數(shù)據(jù)的實部與虛部,這里輸入為,所以所加輸入激勵為x_in=50、 y_in=4
43、5。c_in、cas_in、css_in仿真得到的輸出分別為r_out=16、 i_out=28,這和前面理論上算得的輸出結(jié)果是完全相符的,從而證明了dsp bulder設(shè)計的旋轉(zhuǎn)因子復(fù)數(shù)乘法器的正確性。fft變換可以將時域信號變成頻域信號,便于分析信號特征,而且,fft結(jié)果可以將頻譜提取出來。采樣得到的數(shù)字信號就可以做fft變換,n個采樣點,經(jīng)過fft后,就可以得到n個點的fft結(jié)果。52 fft相關(guān)的數(shù)值分析及計算假設(shè)采樣頻率為fs,信號頻率f,采樣點數(shù)為n。那么fft之后結(jié)果就是一個為n點的復(fù)數(shù)。每一個點就對應(yīng)著一個頻率點。這個點的模值,就是該頻率值下的幅度特性。具體跟原始信號的幅度有什
44、么關(guān)系呢?假設(shè)原始信號的峰值為a,那么fft結(jié)果的每個點(除了第一個點直流分量之外)的模值就是a的n/2倍。而第一個點就是直流分量,它的模值就是直流分量的n倍。而每個點的相位呢,就是在該頻率下的信號的相位。第一個點表示直流分量(即0hz),而最后一個點n的再下一個(實際上這個點是不存在的,這里是假設(shè)的第n+1個點,也可以看做是將第一個點分做兩半分,另一半移到最后)則表示采樣頻率fs,這中間被n-1個點平均分成n等份,每個點的頻率依次增加。例如某點n所表示的頻率為:fn=(n-1)*fs/n。 由上面的公式可以看出,fn所能分辨到頻率為為fs/n,如果采樣頻率fs為1024hz,采樣點數(shù)為102
45、4點,則可以分辨到1hz。1024hz的采樣率采樣1024點,剛好是1秒,也就是說,采樣1秒時間的信號并做fft,則結(jié)果可以分析到1hz,如果采樣2秒時間的信號并做fft,則結(jié)果可以分析到0.5hz。如果要提高頻率分辨力,則必須增加采樣點數(shù),也即采樣時間。頻率分辨率和采樣時間是倒數(shù)關(guān)系。假設(shè)fft之后某點n用復(fù)數(shù)a+bi表示,那么這個復(fù)數(shù)的模就是an=根號a*a+b*b,相位就是pn=atan2(b,a)。根據(jù)以上的結(jié)果,就可以計算出n點(n1,且n=n/2)對應(yīng)的信號的表達(dá)式為: an/(n/2)*cos(2*pi*fn*t+pn),即2*an/n*cos(2*pi*fn*t+pn)。對于n
46、=1點的信號,是直流分量,幅度即為a1/n。 由于fft結(jié)果的對稱性,通常我們只使用前半部分的結(jié)果,即小于采樣頻率一半的結(jié)果。圖5.2 fft結(jié)果圖要提高頻率分辨率,就需要增加采樣點數(shù),這在一些實際的應(yīng)用中是不現(xiàn)實的,需要在較短的時間內(nèi)完成分析。解決這個問題的方法有頻率細(xì)分法,比較簡單的方法是采樣比較短時間的信號,然后在后面補充一定數(shù)量的0,使其長度達(dá)到需要的點數(shù),再做fft,這在一定程度上能夠提高頻率分辨力。53 本章小結(jié) 本章主要是通過一系列的仿真數(shù)據(jù)對fft進(jìn)行分析,從理論分析到實際得到的數(shù)據(jù)來驗證fft的正確性,這章介紹的內(nèi)容有dsp bulder 所生成的復(fù)數(shù)乘法器指令的時序圖和ma
47、tlab仿真的fft數(shù)據(jù)波形圖,并都做了相應(yīng)的理論分析,經(jīng)計算,理論值與實際得到的值基本相同。結(jié)論畢業(yè)設(shè)計是本科學(xué)習(xí)階段一次非常難得的理論與實際相結(jié)合的機會,通過這次比較完整的給排水系統(tǒng)設(shè)計,我擺脫了單純的理論知識學(xué)習(xí)狀態(tài),和實際設(shè)計的結(jié)合鍛煉了我的綜合運用所學(xué)的專業(yè)基礎(chǔ)知識,解決實際工程問題的能力,同時也提高我查閱文獻(xiàn)資料、設(shè)計手冊、設(shè)計規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗得到了豐富,并且意志品質(zhì)力,抗壓能力及耐力也都得到了不同程度的提升。這正是我們進(jìn)行畢業(yè)設(shè)計的目的所在。niosii嵌入式處理器是fpga
48、生產(chǎn)廠商althera推出的軟核cpu,它是一種面向用戶的、可靈活定制的通用risc嵌入式cpu。用戶可以在 nios指令系統(tǒng)中增加用戶自定義指令,以增強對強實時軟件算法的處理能力,可以把一個復(fù)雜的標(biāo)準(zhǔn)指令序列簡化為一條用硬件實現(xiàn)的單個指令。在需要 使用大量fft算法的場合,可以根據(jù)用戶的需要,定制專門的fft處理器硬件和定制一些諸如復(fù)數(shù)乘法或復(fù)數(shù)加法等傳統(tǒng)運算指令,同時也可以自定義外設(shè)將其做為avalon總線上的一個設(shè)備cpu以外設(shè)的形式調(diào)用這個設(shè)備。在此設(shè)計的項目中利用niosii的用戶自定義指令功能,達(dá)到了 fft運算的軟硬件協(xié)同設(shè)計,實現(xiàn)了快速fft的變換。由于軟件直接控制硬件,所以編
49、譯過后的軟件調(diào)試工作,基本上都是軟硬件協(xié)同完成的。因此速度快,占用資源少,容易擴展。同時也起到了硬件加速的作用。參考文獻(xiàn)1 電子技術(shù)基礎(chǔ). 模擬部分/康華光主編;北京:高等教育出版社,2006.1 2 陳后金.數(shù)字信號處理.北京:高等教育出版社,2004.7 3 卡曼(kamen.e.w).應(yīng)用 web 和 matlab 的信號與系統(tǒng)基礎(chǔ)(第二版).北京:電子工業(yè)出版社,2002.54 潘松,黃繼業(yè).eda技術(shù)實用教程(第一版).北京:科學(xué)出版社,2002, 10-155 王建校.sopc 設(shè)計基礎(chǔ)與實踐.西安:西安電子科技大學(xué)出版社,2006.4 6 altera可編程邏輯器件應(yīng)用技術(shù)/子楓
50、等編著.北京:科學(xué)出版社, 2004 7 何鋒.vhdl語言中信號設(shè)置的不同方式及注意事項. 半導(dǎo)體技術(shù), 2002,(03):173-1768 程佩青.數(shù)字信號處理教程(第二版).北京:清華大學(xué)出版社,2001: 87-919 黃正瑾,徐堅等著.cpld系統(tǒng)設(shè)計技術(shù)入門與應(yīng)用(第一版).成都:電子工業(yè)出版社,2002: 203-20910 a.v.奧本海姆,r.w.謝弗著.離散時間信號處理(discrete-time signal processing).黃建國,劉樹棠譯.第一版.北京:科學(xué)出版社,2000, 489-49411 李國麗.eda與數(shù)字系統(tǒng)設(shè)計. 機械工業(yè)出版社.2004,25
51、-12512 翁木云.fpga設(shè)計與應(yīng)用.西安電子科技大學(xué).2003, 12-12813 陳意軍,王迎旭.cpld在頻率測控系統(tǒng)中的應(yīng)用 半導(dǎo)體技術(shù) 第26卷第12期.2001年14 林明權(quán).vhdl數(shù)字控制系統(tǒng)設(shè)計范例.電子工業(yè)出版社.2003,224-24115 altera corporationaltera digital library 2002,12-20 致謝經(jīng)過半年的忙碌和工作,本次畢業(yè)設(shè)計最終完成。作為一個本科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。 在這里首先要感謝我的導(dǎo)師張桐老師。在我做畢業(yè)設(shè)計的每個階段,從查閱資料到設(shè)計方案的確定和定稿的完成張老師都給予了我悉心的指導(dǎo)。其次要感謝我的同學(xué)對我無私的幫助。在本次設(shè)計中,如果沒有老師和同學(xué)的幫助,我的畢業(yè)設(shè)計是不可能順利完成的,另外,我還要感謝那些曾給我授過課的每一位老師,是你們教會我專業(yè)知識。在此,我再說一次謝謝! 附錄1 原理圖1、 電源及接口電路2、濾波及adc轉(zhuǎn)換電路3、存儲器電路附錄2 程序/*fft.c文件*/#include #include #include #define pi 3.1415926#define samplenumber 128void i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路工程機械加盟合同
- 服裝行業(yè)合伙協(xié)議范本
- 政府專項貸款合同模板
- 共同經(jīng)營電子產(chǎn)品商店協(xié)議書范本
- 賬戶監(jiān)管協(xié)議書范例
- 標(biāo)準(zhǔn)范本:2024年購銷合同協(xié)議書
- 2024年商品買賣合同范例
- 現(xiàn)代室內(nèi)裝潢設(shè)計合同范本
- 個人住房裝修合同2024年
- 陜西省漢中市普通高中十校聯(lián)盟2024年秋季學(xué)期高一年級期中考試語文試題
- DB11/T 147-2015-檢查井蓋結(jié)構(gòu)、安全技術(shù)規(guī)范
- 室內(nèi)移動腳手架施工方案及流程
- DB32-T 4111-2021 預(yù)應(yīng)力混凝土實心方樁基礎(chǔ)技術(shù)規(guī)程
- 慢性腎臟病5期
- 鐵血將軍、建軍元勛-葉挺 (1)講解
- 2024年上海奉賢區(qū)高三年級上冊期末高考與等級考一模歷史試卷含答案
- 法律盡職調(diào)查服務(wù)方案
- 國企職務(wù)犯罪預(yù)防
- 《大學(xué)生與誠信》課件
- 國內(nèi)電控柴油機技術(shù)發(fā)展概況
- 《女性假兩性畸形》課件
評論
0/150
提交評論