




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
§6.4BCH和RS碼的仿真實例【例6-14】考慮例6-2中有限域各個元素的MATLAB仿真問題。如表6-4所示,用于表示有限域中元素的方法有冪形式和向量形式(即多項式形式中的系數),此外也經常將向量形式折算成對應的十進制整數來表示,稱為整數形式。表6-4GF(8)元素的三種表示下列代碼可以生成并顯示中元素的冪形式、向量形式和整數形式。prim_poly=[1101];%用素多項式x^3+x+1生成GF(8)gf8_elements=[-inf0123456]';%生成GF(8)中的元素(冪形式的指數)[polyformat,expformat]=gftuple(gf8_elements,prim_poly);integerformat=bi2de(polyformat);disp('GF(8)中的元素(冪形式中的指數):');disp(expformat);disp('GF(8)中的元素(向量形式):');disp(polyformat);disp('GF(8)中的元素(整數形式):');disp(integerformat);程序運行結果如下圖:
p=2;%有限域GF(2)g2=[11111];%多項式x^4+x^3+x^2+x+1x1=[01];%x^1[quot1,remd1]=gfdeconv(x1,g2,p);x2=[001];%x^2[quot2,remd2]=gfdeconv(x2,g2,p);x3=[0001];%x^3[quot3,remd3]=gfdeconv(x3,g2,p);x4=[00001];%x^4[quot4,remd4]=gfdeconv(x4,g2,p);x5=[000001];%x^5[quot5,remd5]=gfdeconv(x5,g2,p);disp('元素X^1的多項式形式為:’);disp(remd1);disp('元素X^2的多項式形式為:’);disp(remd2);disp('元素X^3的多項式形式為:’);disp(remd3);disp('元素X^4的多項式形式為:’);disp(remd4);disp('元素X^5的多項式形式為:’);disp(remd5);程序運行結果如下圖:【例6-16】考慮例6-5中最小多項式的仿真問題。用于產生共軛類的最小多項式的代碼如下。m=4;%GF(2^m)=GF(16)prim_poly=[11001];%GF(16)的生成多項式gf_elements=[1248]';%生成冪形式的元素alpha^{1,2,4,8}[polyformat,expformat]=gftuple(gf_elements,prim_poly);integerformat=bi2de(polyformat);apoly=gf([integerformat(1)1],m);%x+alphabpoly=gf([integerformat(2)1],m);%x+alpha^2cpoly=gf([integerformat(3)1],m);%x+alpha^4dpoly=gf([integerformat(4)1],m);%x+alpha^8epoly=conv(apoly,bpoly);fpoly=conv(cpoly,dpoly);min_poly=conv(epoly,fpoly);disp('元素alpha的最小多項式為:’);disp(min_poly.x);【例6-17】考慮例6-7中生成多項式的仿真問題。采用上題生成最小多項式的方法,可以得到產生該BCH碼生成多項式的代碼如下:m=4;%GF(p^m)=GF(16)prim_poly=[11001];%GF(16)的生成多項式%-----------------------------------------------------------------------gf_elements=[1248]';%生成冪形式的元素alpha^{1,2,4,8}[polyformat,expformat]=gftuple(gf_elements,prim_poly);integerformat=bi2de(polyformat);apoly=gf([integerformat(1)1],m);%x+alphabpoly=gf([integerformat(2)1],m);%x+alpha^2cpoly=gf([integerformat(3)1],m);%x+alpha^4dpoly=gf([integerformat(4)1],m);%x+alpha^8epoly=conv(apoly,bpoly);fpoly=conv(cpoly,dpoly);min_poly_alpha=conv(epoly,fpoly);%元素alpha的最小多項式%-----------------------------------------------------------------------gf_elements=[36129]';%生成冪形式的元素alpha^{3,6,12,9}[polyformat,expformat]=gftuple(gf_elements,prim_poly);integerformat=bi2de(polyformat);apoly=gf([integerformat(1)1],m);%x+alpha^3bpoly=gf([integerformat(2)1],m);%x+alpha^6cpoly=gf([integerformat(3)1],m);%x+alpha^12dpoly=gf([integerformat(4)1],m);%x+alpha^9epoly=conv(apoly,bpoly);fpoly=conv(cpoly,dpoly);min_poly_beta=conv(epoly,fpoly);%元素alpha^3的最小多項式%-----------------------------------------------------------------------gf_elements=[510]';%生成冪形式的元素alpha^{5,10}[polyformat,expformat]=gftuple(gf_elements,prim_poly);integerformat=bi2de(polyformat);apoly=gf([integerformat(1)1],m);%x+alpha^5bpoly=gf([integerformat(2)1],m);%x+alpha^10min_poly_gamma=conv(apoly,bpoly);%元素alpha^5的最小多項式%-----------------------------------------------------------------------gf_elements=[7141311]';%生成冪形式的元素alpha^{7,14,13,11}[polyformat,expformat]=gftuple(gf_elements,prim_poly);integerformat=bi2de(polyformat);apoly=gf([integerformat(1)1],m);%x+alpha^7bpoly=gf([integerformat(2)1],m);%x+alpha^14cpoly=gf([integerformat(3)1],m);%x+alpha^13dpoly=gf([integerformat(4)1],m);%x+alpha^11epoly=conv(apoly,bpoly);fpoly=conv(cpoly,dpoly);min_poly_delta=conv(epoly,fpoly);%元素alpha^7的最小多項式%-----------------------------------------------------------------------a_x=conv(min_poly_alpha,min_poly_beta);b_x=conv(min_poly_gamma,min_poly_delta);g_x=conv(a_x,b_x);%生成多項式disp('生成多項式的系數為:');disp(g_x.x);程序運行結果如下圖:【例6-18】考慮例6-9中BCH碼譯碼問題的MATLAB仿真,代碼如下:n=15;%碼字向量長度k=7;%消息向量長度[genpoly,t]=bchgenpoly(n,k);%genpoly是生成多項式,t是可糾正錯誤個數y=gf([000000000001001]);%接收向量X^3+1[decoded,cnumerr,ccode]=bchdec(y,n,k);%譯碼disp('糾錯后的消息向量:');disp(decoded.x);disp('錯誤個數:');disp(cnumerr);disp('糾錯后的碼字向量:');disp(ccode.x);程序運行結果如下圖:【例6-19】考慮例6-10中RS碼生成多項式的仿真問題。生成該碼生成多項式的代碼如下:m=4;%GF(p^m)=GF(16)prim_poly=[11001];%GF(16)的生成多項式%-----------------------------------------------------------------------gf_elements=[123456]';%生成冪形式的元素alpha^{1,2,3,4,5,6}[polyformat,expformat]=gftuple(gf_elements,prim_poly);integerformat=bi2de(polyformat);poly1=gf([integerformat(1)1],m);%x+alpha^1poly2=gf([integerformat(2)1],m);%x+alpha^2poly3=gf([integerformat(3)1],m);%x+alpha^3poly4=gf([integerformat(4)1],m);%x+alpha^4poly5=gf([integerformat(5)1],m);%x+alpha^5poly6=gf([integerformat(6)1],m);%x+alpha^6apoly=conv(poly1,poly2);bpoly=conv(poly3,poly4);cpoly=conv(poly5,poly6);dpoly=conv(apoly,bpoly);g_x_dec=conv(dpoly,cpoly);g_x_poly=double(de2bi(g_x_dec.x));[polyformat,g_x_exp]=gftuple(g_x_poly,prim_poly);disp('生成多項式的系數(冪形式的指數,升冪排列)為:');disp(g_x_exp');程序運行結果如下圖:【例6-20】考慮例6-11中RS碼生成多項式和碼字多項式的仿真問題,代碼如下:m=3;%GF(2^m)=GF(8)prim_poly=[1101];%GF(8)的生成多項式%-----------------------------------------------------------------------gf_elements=[1234]';%生成冪形式的元素alpha^{1,2,3,4}[polyformat,expformat]=gftuple(gf_elements,prim_poly);integerformat=bi2de(polyformat);poly1=gf([1integerformat(1)],m);%x+alpha^1poly2=gf([1integerformat(2)],m);%x+alpha^2poly3=gf([1integerformat(3)],m);%x+alpha^3poly4=gf([1integerformat(4)],m);%x+alpha^4apoly=conv(poly1,poly2);bpoly=conv(poly3,poly4);g_x_dec=conv(apoly,bpoly);%生成多項式的系數(整數形式)g_x_poly=double(de2bi(g_x_dec.x));[polyformat,g_x_exp]=gftuple(g_x_poly,prim_poly);disp('生成多項式(降冪排列)的系數(冪形式的指數)為:');disp(g_x_exp');%-----------------------------------------------------------------------gf_elements=[531-inf-inf-inf-inf]';%移位消息多項式的系數(冪形式)[polyformat,expformat]=gftuple(gf_elements,prim_poly);m_x=bi2de(polyformat)';%移位消息多項式的系數(整數形式)[quot,p_x]=deconv(m_x,g_x_dec);%除以生成多項式c_x=[m_x(1:3)p_x(4:7)];%碼字多項式的系數(整數形式)c_x_polyformat=double(de2bi(c_x.x,3));[polyformat,c_x_expformat]=gftuple(c_x_polyformat,prim_poly);disp('碼字多項式(降冪排列)的系數(冪形式的指數)為:');disp(c_x_expformat');程序運行結果如下圖:【例6-21】考慮例6-12中RS碼譯碼過程中伴隨式的仿真問題,代碼如下:p=2;m=3;%GF(p^m)=GF(8)g=[1101];%GF(8)生成多項式r_x_expformat=[5,-Inf,1,6,4,2,0]’;%接收多項式(降冪排列)的冪形式系數[r_x_polyformat,expformat]=gftuple(r_x_expformat,m,p);r_x_integerformat=gf(bi2de(r_x_polyformat)',m);%接收多項式(降冪排列)的整數形式系數X_expformat=[6,5,4,3,2,1,0]';%X^{6,5,4,3,2,1,0}[X_polyformat,X_expformat]=gftuple(X_expformat,m,p);X_integerformat=gf(bi2de(X_polyformat),m);s1_integerformat=r_x_integerformat*X_integerformat;s1_polyformat=double(de2bi(s1_integerformat.x));[s1_polyformat,s1_expformat]=gftuple(s1_polyformat,m,p);disp('伴隨式s1為:');disp(s1_expformat);%伴隨式s1(冪形式的指數)只需要將變量X_expformat的值依次換為[12,10,8,6,4,2,0]'、[18,15,12,9,6,3,0]'、[24,20,16,12,8,4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省三元縣2025屆數學七下期末調研試題含解析
- 重視市場反饋優化產品改進計劃
- 汽車維修行業安全保障總結計劃
- 加強班級安全教育的措施計劃
- 打造班級特色活動品牌計劃
- 高危活動的安保方案設計計劃
- 班級互動小游戲的設計與意義計劃
- 2024年四川省國防科工辦下屬事業單位真題
- 腳本語言與編譯語言的比較試題及答案
- 2024年內江市東興區城鎮公益性崗位招聘真題
- 2025年遼寧省盤錦市中考數學二模試卷
- 貴州國企招聘2025貴州省水利投資(集團)有限責任公司招聘84人筆試參考題庫附帶答案詳解
- 【8生 會考】2022-2024年安徽省初中(八年級)中考初二會考生物試卷(3年真題)
- 2025年網絡與信息安全專業考試試卷及答案
- 《俗世奇人》閱讀考級試題含答案
- 本科畢業生實習總結模版
- 2025年高考英語復習難題速遞之說明文閱讀理解(2025年4月)
- 2024年河北承德辰飛供電服務有限公司招聘真題
- 小小科學家《物理》模擬試卷A(附答案)
- 體能科學訓練方法智慧樹知到期末考試答案2024年
- 四川民歌智慧樹知到期末考試答案2024年
評論
0/150
提交評論