網(wǎng)格編碼MATLAB程序_第1頁
網(wǎng)格編碼MATLAB程序_第2頁
網(wǎng)格編碼MATLAB程序_第3頁
網(wǎng)格編碼MATLAB程序_第4頁
網(wǎng)格編碼MATLAB程序_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、TCM格狀編碼調(diào)制格狀編碼調(diào)制是為解決衛(wèi)星通信中信道噪聲對接收的影響及帶寬的限制而產(chǎn)生的,其將信道編碼與調(diào)制很好的結(jié)合起來,并且能發(fā)揮各自的優(yōu)點,這種方法在不增加帶寬和相同的信息速率下可獲得36dB的功率增益。其中信道編碼主要使用卷積碼,為了適應(yīng)卷積碼則應(yīng)用了多進制移相鍵控調(diào)制(亦可用多進制QAM),并且根據(jù)Ungerboack提出的規(guī)律:對經(jīng)過編碼的調(diào)制系統(tǒng)來說,其信道信號數(shù)目只要是未經(jīng)編碼的調(diào)制系統(tǒng)的兩倍,便可得到足夠的編碼增益,對于每符號傳送k比特的系統(tǒng),應(yīng)選擇有m=2k+1點的擴張信號星座形式傳送信息,對于信號集合劃分規(guī)則等不作太多的闡述,本實驗選擇k=2,則m=8,即使用8QPSK調(diào)

2、制器,為此,TCM結(jié)構(gòu)圖如下:其中為了得到足夠大的編碼增益,未編碼比特為k=1,對這樣的系統(tǒng)卷積碼編碼器的結(jié)構(gòu)為:對于卷積碼的編碼可用以下程序?qū)崿F(xiàn):k=1;g=1 0 1;0 0 1; int=input('xulie')m=size(int,1);y=zeros(1,m)for n=1:m y(:,n)=int(n,1)end;z=cnv_encd(g,k,y);并且在卷積碼編碼過程中,添零數(shù)為k1*(L-1)=2,(注:L=3),再對序列進行圖示的映射,可通過以下程序?qū)崿F(xiàn):tyu=length(z)/2;s=zeros(1,3*tyu);for i=1:m s(:,3*i-

3、2)=int(i,2)ends(:,3*m+1)=0;s(:,3*(m+1)+1)=0;for j=1:tyu s(:,3*j-1)=z(2*j-1)end;for k2=1:tyu s(:,3*k2)=z(2*k2)end;uu=reshape(s,3,tyu);kk=uu';(注意:對添零后卷積編碼的處理),將編碼處理后的信號進行調(diào)制,相位調(diào)制實現(xiàn)比較容易,對于通過信道后的解調(diào),有兩種實現(xiàn)途徑:接收信號通過相關(guān)器后,將接收到的信號矢量映射到M個可能發(fā)送的信號矢量上去,并且選出對應(yīng)于最大映射的矢量;亦可計算接收信號矢量的相位,并從M個可能發(fā)送的信號矢量中選出相位最接近的信號。本實驗就

4、是通過第二個途徑實現(xiàn)的。其具體程序如下:n1=gngauss(sgma); n2=gngauss(sgma);for i=1:tyu f(i)=bin2deci(kk(i,:); u=cos(2*pi*fc*t+2*pi*f(i)/8); if (f(i)>=3)&(f(i)<7) R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=pi+atan(H(i)/R(i) elseif f(i)<3 R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i

5、)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=atan(H(i)/R(i) else R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=2*pi+atan(H(i)/R(i) end;end;cc=zeros(tyu,8);dd=zeros(tyu,8);for i=1:tyu for j=0:7 cc(i,j+1)=2*pi*j/8-T(i) dd=abs(cc) end; if dd(i,1)=min(dd(i,:) mm(i)=0; elseif dd(i,2)

6、=min(dd(i,:) mm(i)=1; elseif dd(i,3)=min(dd(i,:) mm(i)=2; elseif dd(i,4)=min(dd(i,:) mm(i)=3; elseif dd(i,5)=min(dd(i,:) mm(i)=4; elseif dd(i,6)=min(dd(i,:) mm(i)=5; elseif dd(i,7)=min(dd(i,:) mm(i)=6; else dd(i,8)=min(dd(i,:) mm(i)=7; end;end;out=reshape(mm,tyu,1)對于解碼則是編碼的逆過程,在此將解調(diào)后的信號經(jīng)反映射,變換為卷積碼的碼

7、序列,應(yīng)用viterbi實現(xiàn)解碼:k1=size(out,1);輸出行數(shù)z=zeros(3,k1) for i=1:k1 m1=deci2bin(out(i,1),3) z(:,i)=m1'end;hh=reshape(z,1,3*k1)ty=zeros(k1-2,2);for i=1:k1-2 ty(i,2)=hh(:,3*i-2);end;for j=1:k1 hh(:,2*j-1)=;end;ww,tt,ee= VITERBI (g,k,hh)for i=1:k1-2 ty(i,1)=ww(i);end;ip=reshape(int,1,2*m);op=reshape(ty,1,

8、2*m);當(dāng)然在此基礎(chǔ)上可進行誤碼率的分析,最簡單的方法是將以上ip,op對應(yīng)元素比較,若不相等,計數(shù)器加1,可以使用以下程序如下:numoferr=0;for w=1:2*m if ip(w)=op(w) numoferr=numoferr+1; end;end;對此程序的一點說明:此程序可實現(xiàn)誤碼的估計,為了從真正意義上對其優(yōu)點的認(rèn)識,可仿真8QPSK的誤碼性能,可調(diào)用以下程序:function pb=smld(snr_in_dB)N=input(number);Eb=1;snr=10(snr_in_dB/10);sgma=sqrt(1/(2*snr);s000=1 0;s001=sqrt

9、(2)/2 sqrt(2)/2;s011=0 1;s010=-sqrt(2)/2 sqrt(2)/2;s110=-1 0;s111=-sqrt(2)/2 -sqrt(2)/2;s101=0 -1;s100=sqrt(2)/2 -sqrt(2)/2;for i=1:N, temp=rand; if (temp<0.125), dsource1(i)=0; dsource2(i)=0; dsource3(i)=0; elseif (temp<0.25), dsource1(i)=0; dsource2(i)=0; dsource3(i)=1 elseif (temp<0.375)

10、, dsource1(i)=0; dsource2(i)=1; dsource3(i)=0; elseif (temp<0.5), dsource1(i)=0; dsource2(i)=1; dsource3(i)=1; elseif (temp<0.625), dsource1(i)=1; dsource2(i)=0; dsource3(i)=0; elseif (temp<0.75), dsource1(i)=1; dsource2(i)=0; dsource3(i)=1; elseif (temp<0.875), dsource1(i)=1; dsource2(i

11、)=1; dsource3(i)=0; else dsource1(i)=1; dsource2(i)=1; dsource3(i)=1; end;end;numoferr=0;for i=1:N, n(1)=gngauss(sgma); n(2)=gngauss(sgma); if (dsource1(i)=0)&(dsource2(i)=0)&dsource3(i)=0), r=s000+n; elseif (dsource1(i)=0)&(dsource2(i)=0)&(dsource3(i)=1), r=s001+n; elseif(dsource1(i

12、)=0)&(dsource2(i)=1)&(dsource3(i)=0), r=s010+n; elseif(dsource1(i)=0)&(dsource2(i)=1)&(dsource3(i)=1), r=s011+n; elseif(dsource1(i)=1)&(dsource2(i)=0)&(dsource3(i)=0), r=s100+n; elseif(dsource1(i)=1)&(dsource2(i)=0)&(dsource3(i)=1), r=s101+n; elseif(dsource1(i)=1)&

13、;(dsource2(i)=1)&(dsource3(i)=0), r=s110+n; else(dsource1(i)=1)&(dsource2(i)=1)&(dsource3(i)=1), r=s111+n; end; c000=dot(r,s000); c001=dot(r,s001); c010=dot(r,s010); c011=dot(r,s011); c100=dot(r,s100); c101=dot(r,s101); c110=dot(r,s110); c111=dot(r,s111); c_max=max(c000 c001 c010 c011 c1

14、00 c101 c110 c111); if (c000=c_max), decis1=0;decis2=0;decis3=0; elseif (c001=c_max), decis1=0;decis2=0;decis3=1; elseif (c010=c_max), decis1=0;decis2=1;decis3=0; elseif (c011=c_max) decis1=0;decis2=1;decis3=1; elseif (c100=c_max) decis1=1;decis2=0;decis3=0; elseif (c101=c_max) decis1=1;decis2=0;dec

15、is3=1; elseif (c110=c_max) decis1=1;decis2=1;decis3=0; else decis1=1;decis2=1;decis3=1; end; if (decis1=dsource1(i), numoferr=numoferr+1; end; if (decis2=dsource2(i), numoferr=numoferr+1; end; if (decis3=dsource3(i), numoferr=numoferr+1; end; end; pb=numoferr/(3*N);對TCM的仿真調(diào)用程序:function p=smld2(snr_i

16、n_dB)N=input('number');Es=3;snr=10(snr_in_dB/10);sgma=sqrt(1/(2*snr);k=1;g=1 0 1;0 0 1; for i=1:N, temp=rand; if (temp<0.25), dsource1(i)=0; dsource2(i)=0; elseif (temp<0.5) dsource1(i)=0; dsource2(i)=1; elseif (temp<0.75) dsource1(i)=1; dsource2(i)=0; else dsource1(i)=1; dsource2(i

17、)=1; end;end;int=zeros(1,2*N);for o=1:N, int(1,2*o-1)=dsource2(o);end;for b=1:N, int(1,2*b)=dsource1(b);end;rrr=reshape(int,2,N);eee=rrr'm=size(eee,1);y=zeros(1,m)for n=1:m y(:,n)=eee(n,1)end;z=cnv_encd(g,k,y);tyu=length(z)/2;s=zeros(1,3*tyu);for i=1:m s(:,3*i-2)=eee(i,2)ends(:,3*N+1)=0;s(:,3*(N

18、+1)+1)=0;for j=1:tyu s(:,3*j-1)=z(2*j-1);end;for k2=1:tyu s(:,3*k2)=z(2*k2);end;uu=reshape(s,3,tyu);kk=uu'n1=gngauss(sgma);n2=gngauss(sgma)for i=1:tyu f(i)=bin2deci(kk(i,:); if (f(i)>=3)&(f(i)<7) R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=pi+atan(H(i)/R(

19、i); elseif f(i)<3 R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=atan(H(i)/R(i); else R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1; H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2; T(i)=2*pi+atan(H(i)/R(i); end;end;cc=zeros(tyu,8);dd=zeros(tyu,8);for i=1:tyu for j=0:7 cc(i,j+1)=2*pi*j/8-T(i);

20、dd=abs(cc); end; if dd(i,1)=min(dd(i,:) mm(i)=0; elseif dd(i,2)=min(dd(i,:) mm(i)=1; elseif dd(i,3)=min(dd(i,:) mm(i)=2; elseif dd(i,4)=min(dd(i,:) mm(i)=3; elseif dd(i,5)=min(dd(i,:) mm(i)=4; elseif dd(i,6)=min(dd(i,:) mm(i)=5; elseif dd(i,7)=min(dd(i,:) mm(i)=6; else dd(i,8)=min(dd(i,:) mm(i)=7; end;end;out=

溫馨提示

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

最新文檔

評論

0/150

提交評論