通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計_第1頁
通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計_第2頁
通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計_第3頁
通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計_第4頁
通信系統(tǒng)中串行數(shù)據(jù)交織器的設(shè)計_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 設(shè)計原理1、交織器原理交織器是通信編碼中抗突發(fā)干擾的一種重要手段,將突發(fā)干擾產(chǎn)生的分布集中的誤碼分散到信息數(shù)據(jù)中,以便采用糾錯編碼的方法進行糾錯。本項目設(shè)計一個行列交織器,其框架圖圖如圖1所示,PN碼發(fā)生器模擬數(shù)據(jù)源產(chǎn)生串行數(shù)據(jù),按行寫入一m行n列的RAM中,寫滿后按列讀出。為避免數(shù)據(jù)丟失,需使用兩個這樣的RAM交替讀寫。這里統(tǒng)一m和n都選4,即兩個44 RAM。圖1 串行數(shù)據(jù)交織器整體框架圖2、 程序設(shè)計原理本實驗制作一個通信系統(tǒng)中的串行數(shù)據(jù)交織器,其設(shè)計原理圖如圖1所示。程序整體由三個子模塊構(gòu)成:100KHz分頻模塊,利用FPGA上50MHz的晶振分頻得到,作為產(chǎn)生偽隨機碼和讀寫RAM的時鐘;偽隨機碼發(fā)生器模塊,以16個數(shù)為一周期,模擬數(shù)據(jù)源產(chǎn)生串行數(shù)據(jù);讀寫RAM模塊,按行寫入一4行4列的RAM中,寫滿后按列讀出。為避免數(shù)據(jù)丟失,需使用兩個這樣的RAM交替讀寫,從而實現(xiàn)交織。電路圖如圖2所示:圖2 電路原理圖二、源程序代碼/頂層模塊module interleaver(endout,out,clk_50M);input clk_50M;output0:0 endout,out;wire clk;wire3:0 k;wire0:0 pn16;divider U1(clk,clk_50M);pn U2(clk,pn16);array U3(endout,out,clk,pn16,k);endmodule/分頻器 (50MHz-100KHz)module divider(clk,clk_50M);output clk;input clk_50M;reg clk;reg23:0 cnt;always (posedge clk_50M)beginif(cnt=249)begincnt=0;clk=clk;end elsecnt=cnt+1; /計數(shù)endendmodule /pn16(偽隨機碼發(fā)生器,以16個數(shù)為一周期)module pn(clk,pn16);inputclk;output0:0pn16;regq0;regq1;regq2;regq3;wireset1;wireSYNTHESIZED_WIRE_0;wireSYNTHESIZED_WIRE_1;assignSYNTHESIZED_WIRE_1 = 0;always(posedge clk )beginif (!set1)beginq0 = 1;endelsebeginq0 = SYNTHESIZED_WIRE_0;endendalways(posedge clk)beginbeginq1 = q0;endendalways(posedge clk)beginbeginq2 = q1;endendalways(posedge clk)beginbeginq3 = q2;endendassignSYNTHESIZED_WIRE_0 = q3 q2;assignset1 = q0 | q2 | q1 | q3 | SYNTHESIZED_WIRE_1;assignpn16 = q3;endmodule/array(使用兩個數(shù)組,作為兩個44RAM)module array(endout,out,clk,pn16,k);input clk;input0:0 pn16;output0:0 out,endout;output3:0 k;reg3:0 k,i;reg0:0 out,endout;reg array115:0;reg array215:0;reg1:0 j,flag;initialbegini=0;j=0;k=-1;flag=0;endalways(posedge clk)beginif(k=15)begink=0;endelsek=k+1;if(i=15) /用循環(huán)產(chǎn)生44數(shù)組,即44 RAMbegini=0;flag=flag;endelsei=i+1;if(j=3)j=0;elsej=j+1;if(!flag)beginarray1i=pn16; /偽隨機碼寫入array1out=array2i; /按行讀出array2中的數(shù)據(jù)給out(未交織)if(i4) /按列讀出array2中的數(shù)據(jù)給endout(交織后的) endout=array20+4*j; else if(i8)endout=array21+4*j;else if(i12)endout=array22+4*j;elseendout=array23+4*j;endelsebeginarray2i=pn16; /偽隨機碼寫入array2out=array1i; /按行讀出array1中的數(shù)據(jù)給out(未交織)if(i4) /按列讀出array1中的數(shù)據(jù)給endout(交織后的)endout=array10+4*j;else if(i8)endout=array11+4*j;else if(i12)endout=array12+4*j;elseendout=array13+4*j;endendendmodule三、仿真結(jié)果1、分屏器模塊仿真結(jié)果如圖3所示:圖3 分屏器模塊仿真結(jié)果2、偽隨機碼發(fā)生器模塊仿真結(jié)果如圖4所示:圖4 偽隨機碼發(fā)生器模塊仿真結(jié)果3、 最終仿真輸出結(jié)果如圖5、圖6所示:圖5 第一個周期圖6 最終輸出結(jié)果仿真結(jié)果分析:1、 如圖5所示,在第一個循環(huán)周期,偽隨機碼寫入array1,同時按行讀出array2到out,按列讀出array2到endout,但由于此時array2里面的單元都為0,所以在第一個周期里,輸出out(未交織)和endout(交織后)都為0。2、 如圖6所示,結(jié)果為實現(xiàn)了交織功能。未交織的out輸出為:0001 0011 0101 1110 0010 0110 1011 1100,即0 0 0 1 0 0 1 00 0 1 1 0 1 1 00 1 0 1 1 0 1 11 1 1 0 1 1 0 0交織后的endout輸出為:01 0011 0101 1110 0011 0101 1110 0010 ,即0 0 0 1 0 0 1 10 0 1 1 0 1 0 10 1 0 1 1 1 1 01 1 1 0 0 0 1 0如此可見,endout實現(xiàn)了按列讀出,即設(shè)計實現(xiàn)了交織功能。四、實驗結(jié)果利用示波器觀察交織前后的波形,如圖7所示:圖7 實驗結(jié)果五、實驗總結(jié)本實驗內(nèi)容為制作一個通信系統(tǒng)中串行數(shù)據(jù)交織器。由于對Verilog和Quartus II 軟件、ModuleSim仿真軟件的使用較熟悉,對用Verilog HDL語言來編寫程序較熟練,因此在明白實驗原理后,設(shè)計的實現(xiàn)就感覺較上一個實驗簡單。但是,此次實驗也并不是如魚得水的。實驗過程中也遇到了一些小問題。起初,對此次交織器的原理不是很清楚,對其程序?qū)崿F(xiàn)方案也不清晰。后來認真聽了老師的解說,自己課后也在圖書館查閱了相關(guān)資料。經(jīng)過自己的思考,最終明白了整個電路的原理。第二,剛開始搭建好電路進行觀察時,示波器沒有輸出正確的波形。后面把DE2板和示波器表筆換了,波形就出來了,并且同時輸出了交織前和交織后的波形,說明本次設(shè)計取得了成功。通過自己課下的努力和鉆研,最終較快較好地成功完成了實驗,這給了我極大

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論