資源描述:
《北郵ASIC實(shí)驗(yàn)報(bào)告(3,1,8)卷積碼編碼器》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、......北京郵電大學(xué)ASIC原理課程實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告設(shè)計(jì)要求:(3,1,8)卷積碼編碼器學(xué)院:電子工程學(xué)院專業(yè):電子信息科學(xué)與技術(shù)班級(jí):學(xué)號(hào):姓名:2013年6月20日學(xué)習(xí)好幫手......一、設(shè)計(jì)要求運(yùn)用verilog語(yǔ)言編寫一個(gè)(3,1,8)卷積碼編碼器,并對(duì)其進(jìn)行仿真。二、卷積碼編碼器原理卷積碼擁有良好的糾錯(cuò)性能,是一種被廣泛應(yīng)用于移動(dòng)通信的信道編碼系統(tǒng)。一個(gè)(n,k,m)卷積碼編碼器由k個(gè)輸入,具有m階存儲(chǔ)的n個(gè)輸出的線形時(shí)序電路實(shí)現(xiàn)。通常,n和k是較小的整數(shù),且k<n,但m比較大。當(dāng)k=1時(shí),信息序列不再分成小塊,以便可以連續(xù)處理。卷積
2、碼(n,k,m)表示碼率R=k/n,編碼器級(jí)數(shù)m=s-1,其中s是碼約束長(zhǎng)度。反向CDMA信道使用(3,1,8)卷積碼,碼率R=1/3,約束長(zhǎng)度為9,由于k=1,n=3,m=8,則該卷積編碼器包含單個(gè)輸入端,一個(gè)8級(jí)移位寄存器,三個(gè)模2加法器和一個(gè)3向編碼器輸出的連續(xù)轉(zhuǎn)向器。編碼器每輸入一位信息比特將產(chǎn)生三位編碼輸出。這些編碼符號(hào)中,第一個(gè)輸出符號(hào)G0是生成序列g(shù)1⑴編碼產(chǎn)生的符號(hào),第二個(gè)輸出符號(hào)G1是由生成序列g(shù)1⑵編碼產(chǎn)生的符號(hào),最后一個(gè)輸出符號(hào)G2是由生成序列g(shù)1⑶編碼產(chǎn)生的符號(hào),如下圖所示。該電路由一個(gè)八位寄存器、三個(gè)碼生成邏輯、一個(gè)時(shí)隙
3、發(fā)生器和一個(gè)四選一復(fù)用器構(gòu)成。mux的輸入為G0、G1和G2,碼選擇信號(hào)C[1:0]和clk1由時(shí)隙發(fā)生器產(chǎn)生,輸出信號(hào)即為整個(gè)電路的輸出Yout。卷積編碼器的初始狀態(tài)用rst異步清零信號(hào)置為0,rst=0時(shí),電路清零。卷積編碼器的初始狀態(tài)全為0,初始狀態(tài)之后輸出的第一個(gè)編碼符號(hào)由生成序列g(shù)1⑴編碼產(chǎn)生。這里,三個(gè)生成序列分別為g1⑴=(101101111),g1⑵=(110110011),g1⑶=(111001001)。學(xué)習(xí)好幫手......即三個(gè)生成多項(xiàng)式分別為:C0=1+X+X2+X3+X5+X6+X8(557)C1=1+X+X4+X5+X
4、7+X8(663)C2=1+X3+X6+X7+X8(711)三、實(shí)驗(yàn)設(shè)計(jì)與實(shí)現(xiàn)根據(jù)以上實(shí)驗(yàn)要求,我們首先設(shè)想了分為幾個(gè)模塊,然后將各個(gè)模塊進(jìn)行整合實(shí)現(xiàn)編碼器的功能,根據(jù)我們的設(shè)想編寫相應(yīng)的verilog程序,進(jìn)行調(diào)試、實(shí)現(xiàn)。以下是實(shí)驗(yàn)的具體過(guò)程。1.卷積碼模塊設(shè)計(jì)(1)3分頻器(fenping)。它的功能是產(chǎn)生clk時(shí)鐘三分之一頻率的時(shí)鐘信號(hào),命名為clk1,同時(shí)產(chǎn)生選擇信號(hào)sel[1:0]。(2)4-1多路選擇器(mux_4_1)。根據(jù)sel[1:0]輸入的選擇信號(hào),選擇4路(in0,in1,in2,in3)輸入的1路來(lái)輸出(out)。后來(lái),根
5、據(jù)老師的指導(dǎo),將卷積的運(yùn)算邏輯組裝在這個(gè)模塊里。(3)8位移位寄存器(wyjc_8)。用于記錄輸入的信息。每經(jīng)過(guò)一個(gè)時(shí)鐘上升沿(clk1)向前移位一次。2.verilog程序編寫各個(gè)模塊相應(yīng)的代碼和注釋如下所示。(1)3分頻器modulefenping(clear,clk,clk1,count);inputclk,clear;outputclk1,count;wireclk,clear;regclk1;reg[2:0]count;always@(posedgeclkorposedgeclear)beginif(clear==1)count[2:0
6、]<=3’b010;else學(xué)習(xí)好幫手......begin//通過(guò)循環(huán)移位實(shí)現(xiàn)3分頻count[0]<=count[2];count[1]<=count[0];count[2]<=count[1];clk1<=count[1];end;endendmodule(2)4—1多路選擇器modulemux_4_1(clk1,clk,sel,in,kin,out);input[1:0]sel;inputclk,in,clk1;input[7:0]kin;outputout;wire[1:0]sel;regout;reg[8:0]k;always@(po
7、sedgeclk)//依次計(jì)算c0,c1,c2begincase(sel)defaultout<=0;2’b00:out<=(k[0]+k[1])+(k[2]+k[3])+(k[5]+k[6]+k[8]);2’b01:out<=k[0]+k[1]+k[4]+k[5]+k[7]+k[8];2’b10:out<=k[0]+k[3]+k[6])+k[7]+k[8];endcaseendalways@(posedgeclk1)//采樣部分begink[7:0]<=kin[7:0];k[8]<=in;endendmodule(3)8位移位寄存器學(xué)習(xí)好幫手.
8、.....modulewyjc_8(clear,clk,in,out);Inputclear,clk,in;output[7:0]out