【正文】
b0。b0。b0。reg [out_width1:0] hb_out=2739。parameter b33=1139。parameter b29=1139。parameter b25=1139。parameter b21=1139。parameter b17=1139。parameter b13=1139。parameter b9=1139。parameter b5=1139。 parameter b1=1139。 //第一次求和處理數(shù)據(jù)位寬parameter mult_width=28。c4=sum3。endelse if(sample==339。c3=2439。c1=2439。 clk_out=0。b0。always (posedge clk or negedge rst)beginif(!rst)d_in_temp=2439。b0。b0。b0。b0。input [15:0] d_in。 else cose_DR=cose_D。assign cose=cose_DR。 //正弦波產(chǎn)生模塊的相位累加器reg [31:0] ADD_B。 最后,真心的祝愿各位老師、父母和同學,健康、幸福、平安!參考文獻[1] 楊小牛,[M].北京:電子工業(yè)出版社,[2] Franca J,Mitra S .AnalogDigital Systems for Signal Processing and Conversion[C].Proceedings of the IEEE,1997。老師循循善誘的教導和縝密的思維給予了我無盡的幫助和啟迪。通過本次設計,了解用FPGA進行系統(tǒng)設計的基本流程。因此,了解該系統(tǒng)的相關理論顯得相當重要。見附件1。圖56 HB 2倍抽取模型圖57 HB抽取濾波器similink 仿真圖(a)抽取前后數(shù)據(jù)量變化(b)每個周期數(shù)據(jù)量的變化圖58 HB濾波器2倍抽取前后波形圖比較圖57中可以看出,通過該HB濾波器后能夠輸出無失真的正弦波,圖58(a)中可以看出,抽取后的數(shù)據(jù)量為抽取前的一半,從圖(b)可以看出每個周期內(nèi)采樣數(shù)據(jù)也為測試源的一半。通過對圖54(a)和(b)的對比,可以明顯的看出,在半個周期內(nèi)的采樣數(shù)據(jù)量明顯減少,為未抽取前的1/4。設需要寄存器增加的位寬為Wd,則所補位寬遵循式(416): (414)即將得到的整數(shù)系數(shù)的絕對值相加,得到的結(jié)果取2的對數(shù),然后向上取整。在matlab信號處理工具箱里,提供了幾個程序來設計。(3)確定抽取因子D的實際值:通過計算帶內(nèi)紋波,并和阻帶衰減比較,看看是否滿足實際需求(一般來說,)?!∈釥钅K梳狀濾波器模塊的時域和頻域表達式如下 (49) (410)其實就是一個差分電路,模塊輸出為當前時刻值和前一個時刻值的差。其中,D為抽取倍數(shù),N為濾波器階數(shù)。設計CIC抽取濾波器時,主要需要考慮的參數(shù)有抽取因子D,級數(shù)N,數(shù)據(jù)位寬,內(nèi)部寄存器位寬,帶內(nèi)紋波,阻帶衰減。最后在文件的最開始添加下面兩行:memory_initialization_radix=10。經(jīng)過理論分析,本設計中采用32位的相位累加器,地址線采用高10位。 核心模塊設計 DDS模塊設計由第三章的理論闡述得知,DDS由相位累加器、相位加法器、正弦波形存儲表組成。而最后一級采用FIR濾波器的目的在于精確濾波,通常FIR濾波以后不用再抽取了。這樣,在時鐘脈沖的作用下,相位累加器不斷地對頻率控制字進行線性累加。沖激響應對中心點偶對稱是線性相位的FIR濾波器的必要條件,即滿足以下式子 (341)在以上所述的4種形式的FIR濾波器中,前兩種形式的FIR濾波器滿足線性條件。假設有一個全頻信號x(n),經(jīng)過HB濾波器,2倍抽取前和抽取后的頻譜混疊圖38所示。如圖37所示,CIC工作在非常高的速率可以通過Noble恒等式得到工作在低速率的CIC濾波器[13],其中,圖(a)為3級CIC抽取濾波器,(b)是經(jīng)過整合后的CIC抽取濾波器結(jié)構(gòu),(c)是經(jīng)過Noble變換的等效CIC濾波器結(jié)構(gòu)。從圖中可以看出,當頻率不斷增大時,旁瓣電平會不斷減小??梢钥闯觯珻IC其實是FIR濾波器的一種特殊情況。高效濾波器比較常用的是以下三級結(jié)構(gòu):CIC,HB,F(xiàn)IR。圖32為加入防混疊濾波器的D取1抽取器的原理框圖,它是抽取器的最一般表示方法。為了方便數(shù)據(jù)的處理和計算,就需要降低數(shù)據(jù)量,即需要對信號進行抽取,也稱為下采樣。即使實現(xiàn)了,成本也非常昂貴。在實際應用中,只讀存儲器查找表法最具有價值,應用最廣泛,因此,本設計中采用該方法設計正弦波信號產(chǎn)生模塊。因此,DDS系統(tǒng)被廣泛地應用到數(shù)字通信系統(tǒng)中。這在某種程度上是一種理想的情況,因為一方面要保證本地振蕩器的諧波能力,另一方面還要保證晶振振蕩器的穩(wěn)定度和純度。對設計指標進行驗證,通過結(jié)果分析系統(tǒng)性能。其中,抽取濾波器的設計為本設計中的難點和重點。但是對于一個限帶信號,并不能隨意的抽取和內(nèi)插。該技術(shù)通過內(nèi)插和抽取改變數(shù)字信號的采樣速率,以達到軟件無線電系統(tǒng)中不同模塊對信號速率的不同要求,是數(shù)字下變頻和數(shù)字上變頻的重要技術(shù)[5]。因此多速率信號處理技術(shù)成為了軟件無線電硬件平臺所必須的基本功能。為了減少計算工作量、節(jié)省存儲空間,在一個信號處理系統(tǒng)中經(jīng)常需要做不同的采樣處理,以及在這些不同采樣率信號之間進行采樣率轉(zhuǎn)換。本文詳細闡述了軟件無線電中采樣率轉(zhuǎn)換系統(tǒng)的理論知識,提出了基于FPGA的采樣率轉(zhuǎn)換的整體設計方案,對兩大核心模塊:測試源模塊和多速率處理模塊進行了詳細的設計。在本方案中,測試源模塊采用直接數(shù)字頻率合成(DDS)技術(shù),以ISE軟件為平臺,設計一個頻率為2MHz、采樣率為160MHz的正弦波。在這種需求下,多速率數(shù)字信號處理技術(shù)應運而生,并逐漸發(fā)展起來。怎樣合理的設計和實現(xiàn)信號采樣率的轉(zhuǎn)換,已成為目前軟件無線電領域中研究的重點及難點。它的優(yōu)勢在于可以降低系統(tǒng)實現(xiàn)的復雜度和計算復雜度,還可以降低傳輸速率,以及減少存儲量等等。因為抽取可能產(chǎn)生混疊,內(nèi)插會產(chǎn)生鏡像,所以需要在抽取前進行抗混疊濾波,在內(nèi)插后進行抗鏡像濾波[6]。 本文主要內(nèi)容本文主要介紹了軟件無線電中采樣率轉(zhuǎn)換的FPGA實現(xiàn)的設計。第2章 方案論證 系統(tǒng)設計思想本設計中,首先需要設計一個產(chǎn)生正弦信號的模塊,用做測試源,用于實現(xiàn)采樣率的轉(zhuǎn)換。DAS器純度很高,并且還能保證優(yōu)于80dB的低雜散輸出,~20us的范圍內(nèi)具有快速切換能力。DDS系統(tǒng)有2種基本的實現(xiàn)方法[8]。 多速率處理模塊目前為止,對于多速率處理系統(tǒng),軟件無線電還沒有一種規(guī)范統(tǒng)一的做法。因此第一種方法雖然理論可行,但是沒有多大的工程價值;第二種方法適用于抽取倍數(shù)不大的情況,因為如果系統(tǒng)抽取前的抗混疊濾波任務都由CIC濾波器完成,由于CIC本身的一些特性,當抽取倍數(shù)過大的時,CIC的通帶紋波會很大,濾波效果會受到影響;第三種方法稱為“大三級結(jié)構(gòu)[9]”,它保留了CIC濾波器,但是并沒有把全部抽取濾波的任務交給CIC濾波器,而是根據(jù)一定條件下CIC的抽取極限,當抽取倍數(shù)D大于CIC的抽取極限時,就采用HB濾波器和2倍抽取器,最后再用一級FIR濾波器進行精確濾波,濾掉無用的信號。每隔D1個(D為整數(shù))對數(shù)據(jù)序列進行抽取,稱為整數(shù)倍抽取,D為抽取因子。圖32 一般抽取器系統(tǒng)的框圖其中,防混疊低通濾波器的理想頻率響應為 ,即: (31)設用來逼近的實際濾波器的單位沖激響應為,其頻率響應為。CIC放在第一級,作為大倍數(shù)抽取前的抗混疊濾波,但是如果抽取倍數(shù)過大時,設計出來的CIC的綜合指標達不到應有效果。從式(34)得知,CIC濾波器是系數(shù)全為1的FIR濾波器,因此一個4階CIC濾波器的FIR形式的實現(xiàn)原理框圖如圖33所示。單級CIC當時,主瓣電平為 (315)當時,第一旁瓣電平為 (316) 圖35 CIC幅頻響應圖 此時,當D1時 (317)它與主瓣電平(D)的比值為 (318)可見單級CIC濾波器旁瓣電平還是比較大的,因此可以得知該濾波器的阻帶衰減較差。經(jīng)過Noble變換的CIC抽取濾波器被稱為Hogenauer抽取濾波器。從圖中可以看出, 0到的區(qū)間內(nèi),只有區(qū)間是不混疊的,而在區(qū)間內(nèi)是有混疊的,因此,在這一頻段的信號經(jīng)2倍抽取后是無法恢復的,但是如果信號的頻帶全在內(nèi),是可以恢復的[15]。不論N是奇數(shù)還是偶數(shù),濾波器的相位特性均可以表示為 (342)求和R1Rn1R0Rn乘法器乘法器乘法器 FIR的FPGA實現(xiàn)結(jié)構(gòu)圖39 FIR濾波器的串行改進結(jié)構(gòu)fir濾波器的實現(xiàn)結(jié)構(gòu)有多種方法,應用最多的是串行結(jié)構(gòu),并行結(jié)構(gòu)和分布式結(jié)構(gòu)。圖311 DDS相位累加器由此可以看出,每個時鐘脈沖到來時,相位累加器就會把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。FIR要嚴格按照信號的帶寬設計。分析DDS的工作原理可以看出,無論是波形存儲表的深度還是字節(jié)內(nèi)的比特數(shù),對DDS的性能影響都很大,都是DDS的關鍵參數(shù)[14]:1)正弦波形存儲器的地址數(shù)決定了相位量化誤差,一個N位的相位累加器對應相位圓上2N個相位點,其最高分辨率為 (43)2)每個地址對應的比特數(shù)決定了幅度量化誤差,每個地址對應的比特數(shù)越多,量化誤差越小,DDS的性能越高,但ROM表占用的資源也會隨之增高。由式(44)可以看出,只要知道其中的任意三個,就可以得到另一個的值。memory_initialization_vector=。N級CIC抽取濾波器的實現(xiàn)結(jié)構(gòu)圖如圖44所示。其硬件電路實現(xiàn)結(jié)構(gòu)圖如圖45所示。實現(xiàn)結(jié)構(gòu)原理圖如圖47所示。若不滿足,則需要增加級數(shù),通過反復計算,最終確定D。主要有兩個函數(shù)fir1(n,Wn,options)和fir2(n,Wn,options),這兩個函數(shù)都可以用來設計FIR濾波器的。在本設計中,通過計算得知,Wd應取11位。因此可以看出該CIC抽取濾波器可以實現(xiàn)4倍的抽取。因此,該HB濾波器可以實現(xiàn)2倍的抽取。運行,得到仿真圖512。本文根據(jù)設計技術(shù)指標,結(jié)合相關理論的基礎上,給出了基于整數(shù)倍采樣率降低的采樣率轉(zhuǎn)換方案。最重要的是,學習并掌握了設計抽取濾波器組:CIC和HB濾波器,并且在ISE軟件中,進行了采樣率轉(zhuǎn)換的FPGA實現(xiàn)。感謝那些曾經(jīng)教過我的所有老師,是你們給了我知識的甘露,感謝你們無私的付出的。85(2):242~262[3]Muhammad Ali Siddiqi,Nabeel Samad, Faheem Sheikh. FPGAbased Implementation of Efficient Sample Rate Conversion for Software Defined Radios[C]. IEEE International Conference on Computer and Information Technology (CIT 2010),2010[4] [M].北京:清華大學出版社(第三版), [5] Vaidyanathan P Results and Open Problems in Filter Banks and Subband Coding[C].IEEE Symposium on Advances in Digital Filtering and Signal Processing,1998[6] 陶然,張惠云,[M].北京:清華大學出版社,[7] 毛群,[J].[8] Jeffrey Radio:A Modern Approach to Radio ——無線電工程的現(xiàn)代方法[M].北京:人民郵電出版社,[9] [D]..[10] Joe Software Radio Architecture [J].IEEECommunication Magazine,1995(5).[11] 趙春暉,徐貴賢,[J].信息技術(shù),2003(3). [12] 石蔚,[J]. .[13] 田耘,徐文波,[M].北京:電子工業(yè)出版社,[14] 姜宇柏,[M].北京:機械工業(yè)出版社,[15] 徐尚中,何東健,[J]..[16] 西瑞克斯(北京)[M].北京:人民郵電出版社,2009[17] Sophocles ,Signal Processing信號處理導論,清華大學出版社[M],1999.[18] Marl Cummings, Shini