實(shí)驗(yàn)三元組在擴(kuò)頻通信中的應(yīng)用王慧_第1頁
實(shí)驗(yàn)三元組在擴(kuò)頻通信中的應(yīng)用王慧_第2頁
實(shí)驗(yàn)三元組在擴(kuò)頻通信中的應(yīng)用王慧_第3頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)三元組擴(kuò)頻碼構(gòu)造及其在擴(kuò)頻通信中的應(yīng)用1實(shí)驗(yàn)?zāi)康臄U(kuò)頻通信不僅具有較高的傳輸速率,而且其傳輸?shù)目煽啃院桶踩阅艿玫捷^大改善。近年來,已有學(xué)者探討信號調(diào)制方式、擴(kuò)頻增益、干擾方式,以及信噪比等對擴(kuò)頻通信誤碼率的影響,并將誤碼率作為刻畫擴(kuò)頻通信的重要指標(biāo),以此解決了信道干擾、多徑信號引起的衰落,以及通信安全等重要問題。但是擴(kuò)頻通信還存在一些問題,如信號由于設(shè)備之間的串?dāng)_,使得通信系統(tǒng)的效率降低且可靠性變差,影響通信系統(tǒng)的質(zhì)雖。為了解決上述擴(kuò)頻通信中存在的問題,曾提出過許多種擴(kuò)頻碼實(shí)現(xiàn)直擴(kuò)通信,但不同的擴(kuò)頻碼序列性能差異較為顯著,所以尋找適合擴(kuò)頻通信的擴(kuò)頻碼成為熱點(diǎn)。常用的擴(kuò)頻碼有線性反饋移位寄存

2、器序列、混沌序列和同余序列,均屬于偽隨機(jī)序列。傳統(tǒng)的擴(kuò)頻序列是m序列和gold序列,均屬于線性反饋移位寄存器序列。雖然理論簡單且完善,但是其具有周期性且數(shù)雖有限,不能滿足大規(guī)模通信系統(tǒng)的要求。由于Logistic、Chebyshev等混沌序列的初值敏感性和強(qiáng)隨機(jī)性,也適用于擴(kuò)頻通信。然而由于計(jì)算機(jī)的計(jì)算精度限制,在實(shí)際計(jì)算中需截取一定長度,會(huì)導(dǎo)致混沌序列出現(xiàn)周期性。同余序列也是經(jīng)常被使用的一種隨機(jī)序列,有線性同余模型、逆同余模型等。但是同混沌序列一樣,具有隨機(jī)性的只有初值,算法不具有隨機(jī)性,即初值固定了,序列就固定了。以上序列并不能真正更靠近白噪聲的隨機(jī)特性,不適合做擴(kuò)頻序列。所以我們需要尋找

3、一種新的擴(kuò)頻碼,保證擴(kuò)頻通信的可靠性和保密性。加而三元組隨機(jī)序列由真隨機(jī)炳源提供初始值,以多輪重構(gòu)技術(shù)構(gòu)造背景,通過周期性變軌、控制空間映射和約束判斷等離散軌跡變換得到的。其是建立在真隨機(jī)炳源的基礎(chǔ)上,具有更強(qiáng)的不可預(yù)測性和未知性,即更大的隨機(jī)性。目前已將三元組擴(kuò)頻碼應(yīng)用于加密系統(tǒng)中,并取得了專利,在文件加密、ftp加密傳輸和圖像密等方面都得到了實(shí)際的應(yīng)用?,F(xiàn)今,需要對現(xiàn)有三元組隨機(jī)序列產(chǎn)生原理進(jìn)行適當(dāng)改進(jìn),以得到一種新穎、有實(shí)際應(yīng)用價(jià)值的高性能擴(kuò)頻碼,可以抵抗強(qiáng)干擾和滿足多用戶擴(kuò)頻通信需要。2實(shí)驗(yàn)原理2.1擴(kuò)頻通信系統(tǒng)原理擴(kuò)頻系統(tǒng)的擴(kuò)頻運(yùn)算是通過偽隨機(jī)碼或偽隨機(jī)序列(擴(kuò)頻函數(shù))來實(shí)現(xiàn)的.從理

4、論上來講,用純隨機(jī)序列來擴(kuò)展信號的頻譜是最理想的,但是接收端必須復(fù)制同一個(gè)隨機(jī)序列.由于隨機(jī)序列的不可復(fù)制性,因此在工程中無法使用純隨機(jī)序列,而改為采用偽隨機(jī)序列.在擴(kuò)頻系統(tǒng)的實(shí)際運(yùn)用中,一般采用易于產(chǎn)生、隨機(jī)性強(qiáng)、有盡可能長的周期和良好自相關(guān)函數(shù)、互相關(guān)特性的隨機(jī)序列.常用的偽隨機(jī)序列有線性反饋移位寄存器序列、混沌序列和同余序列(a)發(fā)射系統(tǒng)(b)接收系統(tǒng)2cos2(fof圖1擴(kuò)頻通信物理模型2.2三元組隨機(jī)數(shù)序列的產(chǎn)生原理:三元組隨機(jī)數(shù)將傳統(tǒng)的二元結(jié)構(gòu)KS=(m,IV)擴(kuò)展,擴(kuò)展為由生成算法、初值和背景空間構(gòu)成的三元結(jié)構(gòu)KS=(m,IV,Key),使每次使用都會(huì)產(chǎn)生不同的序列2.2.1重構(gòu)

5、背景信息Key=(GI,M,L,D)為用戶選擇的秘鑰空間.用重構(gòu)初始位置M(miZ+)、重構(gòu)長度L(lieZ+)對用戶選擇的廣義信息GI(記為PB0)經(jīng)過S輪重構(gòu)生成PBS即BG(背景).計(jì)數(shù)器向MC(C0,C1,C255)中Ck是記錄每次重構(gòu)過程中編碼k(0,1,255R是8位的二進(jìn)制數(shù))出現(xiàn)的次數(shù).j是每輪重構(gòu)的長度,所以每輪重構(gòu)前ck、j要初始化為零.為使生成的數(shù)據(jù)空間具有較好的統(tǒng)計(jì)分布特性,設(shè)置約束參數(shù)q(默認(rèn)值為10),而使PBi中所有字節(jié)編碼的出現(xiàn)次數(shù)相當(dāng).q越小,PBj中編碼分布越均勻,約束條件越強(qiáng).重構(gòu)生成PB的產(chǎn)生過程:圖2重構(gòu)PBj的示意圖2.2.2三元組隨機(jī)數(shù)序列生成過程

6、IV=(t,v,u)為初始隨機(jī)動(dòng)態(tài)因子.t、v由系統(tǒng)生成,分別為系統(tǒng)時(shí)間戳和系統(tǒng)隨機(jī)數(shù),u為用戶輸入的初始個(gè)性化信息.可見,每次生成的不重復(fù)隨機(jī)的初始點(diǎn)由IV決定,也是每次生成不同三元組隨機(jī)序列的關(guān)鍵決定因素.軌跡變換參數(shù)D(氣由,,dm-i)構(gòu)造地址映射函數(shù),定義了邏輯地址的最大值.設(shè)每次析出wbit數(shù)據(jù),貝UCk'是計(jì)數(shù)器向雖C'(C0',Ci',,C2w1')中記錄生成隨機(jī)數(shù)序列過程中編碼k0,1,W-l出現(xiàn)的次數(shù),即C'要初始化為零向雖.設(shè)置軌跡變換參數(shù)q'(默認(rèn)值為10),利用C'與q'的比較,保證隨機(jī)數(shù)具有優(yōu)良

7、的平衡度.生成三元組隨機(jī)數(shù)的過程:C初始化為0初始隨機(jī)動(dòng)態(tài)因子IVHash函數(shù)映射泛空間地址AI參數(shù)D邏輯地址Aao,ai,,aw_i)圖3生成三元組隨機(jī)數(shù)的算法2.3三元組擴(kuò)頻碼通過兩種方案對三元組隨機(jī)序列進(jìn)行改進(jìn),使三元組隨機(jī)數(shù)序列具有更好的自相關(guān)和互相關(guān)等隨機(jī)統(tǒng)計(jì)特性,滿足擴(kuò)頻通信的使用,并使三元組擴(kuò)頻碼適用于不同的使用環(huán)方案一:將三元組隨機(jī)數(shù)序列KS經(jīng)過均勻映射,變?yōu)橥瑧B(tài)三元組擴(kuò)頻碼KC,使三元組隨機(jī)數(shù)序列軌道和獲得同態(tài)三元組擴(kuò)頻碼的軌道可以相互拓?fù)涞葍r(jià),同態(tài)三元組擴(kuò)頻碼KC具有更強(qiáng)的隨機(jī)性,來保證三元組系統(tǒng)最大的動(dòng)態(tài)性.同態(tài)三元組擴(kuò)頻碼KC有優(yōu)良的平衡度,可以增強(qiáng)系統(tǒng)的載波抑制度.將

8、二值三元組隨機(jī)數(shù)按順序析出nbit,變?yōu)橐粋€(gè)十進(jìn)制數(shù),得到序列Xn=X0,Xi,X2.若KS的長度為l,則序列Xn的長度為l-n+1.均勻映射g()定義為:KXn山y(tǒng)n=gXn=飛、n=1,2,|N(1)imynUBfm-1dHm2mynB2ddn其中,N是Xn的長度,K(Xn)是Xn在X”中按升序排列的序號,將實(shí)值序列轉(zhuǎn)換為二值序列,引入轉(zhuǎn)換函數(shù)為:0s(n)=T(%廣1其中,2m是正整數(shù),B:m,B12m,B毅,|,B票是在0,1上連續(xù)相等的2m個(gè)子區(qū)間.s(n)即為同態(tài)三元組擴(kuò)頻碼KC.方案二:正交變換具有可以去除信號中的相關(guān)性和讓信號能H集中的功能,通過正交變換使三元組隨機(jī)數(shù)序列KS變

9、為正交三元組擴(kuò)頻碼KQ,可以使正交三元組擴(kuò)頻碼具有更好的互相關(guān)特性.m序列通過模2加變?yōu)镚old序列,在Gold序列后加一位0或1變?yōu)檎籊old序列,而正交Gold序列具有良好的自相關(guān)性和互相關(guān)性.同理,我們利用此方法使兩個(gè)三元組隨機(jī)數(shù)序列變?yōu)橐粋€(gè)正交三元組擴(kuò)頻碼KQ,使正交三元組擴(kuò)頻碼KQ具有良好的統(tǒng)計(jì)特性.KS21+KS22個(gè)KS23KSiiKS12*KS13圖5正交三元組擴(kuò)頻碼KQ的生成3實(shí)驗(yàn)步驟步驟1:通過圖1建立擴(kuò)頻通信系統(tǒng)仿真模型;步驟2:熟悉理解圖2和圖3,構(gòu)建三元組隨機(jī)數(shù)序列掌握三元組隨機(jī)數(shù)序列的產(chǎn)生原理,調(diào)節(jié)不同的參數(shù),構(gòu)建性能良好的三元組隨機(jī)數(shù)序列步驟3:理解三元組隨機(jī)數(shù)

10、序列的原理,通過同態(tài)均勻映射和正交變換,得到同態(tài)三元組擴(kuò)頻碼和正交三元組擴(kuò)頻碼;步驟4:分析三元組擴(kuò)頻碼的自相關(guān)性、互相關(guān)性、平衡性和混沌性;步驟5:分析三元組擴(kuò)頻碼與傳統(tǒng)的m序列、分段Logistic序列和線性同余序列在蒙特卡羅仿真模型中的誤碼率,找出誤碼率最低,安全性最高的擴(kuò)頻碼;步驟6:分析三元組擴(kuò)頻碼與傳統(tǒng)的m序列、分段Logistic序列和線性同余序列在CD-CDMA仿真模型中的誤碼率,找出誤碼率最低,安全性最高的擴(kuò)頻碼;4程序代碼%廣義信息重構(gòu)背景functionBG=fun_BG()GI=5,71,8;PB1=GI;l=length(GI);M=01798545674;%初始位置

11、L=l7300400045674;%重構(gòu)長度S=5;%重構(gòu)次數(shù)q=10;%重構(gòu)變換約束參數(shù)c=zeros(1,256);%計(jì)數(shù)器向量forii=2:Sj=0;while(1)Pb1=PBii-1;a=Pb1(mod(M(2)+j),L(ii-1)+1);a=dec2bin(a,8);a=circshift(a,08-mod(fix(M(2)+j)/L(ii-1),8);a=num2str(a);a=bin2dec(a);j=j+1;if(c(a+1)-min(c)<qPb2(j)=a;elsec_min=min(c);c_row=find(c=c_min);c_row_min=min(c

12、_row);Pb2(j)=c_row_min-1;endc(Pb2(j)+1)=c(Pb2(j)+1)+1;ifj=L(ii)break;endend;PBii=Pb2;endBG=PBS;%定義初始值,并空間映射為物理地址functionmaBGxD=one52()BG=fun_BG();%初始值t=datestr(now);%系統(tǒng)時(shí)間戳t=strrep(t,'Jan','1');t=strrep(t,'Feb','2');t=strrep(t,'Mar','3');t=strrep(t,'

13、;Apr','4');t=strrep(t,'May','5');t=strrep(t,'Jun','6');t=strrep(t,'Jul','7');t=strrep(t,'Aug','8);t=strrep(t,'Sep','9');t=strrep(t,'Oct','10');t=strrep(t,'Nov','11');t=strrep(t,

14、9;Dec','12');t=strrep(t,':','');t=strrep(t,'-','');t=strrep(t,'','');t=str2num(t);t=dec2bin(t);t=t(1:32);r1=zeros(1,15);r1(1)=rand;forij=2:15r1(ij)=3.998*r1(ij-1)*(1-r1(ij);endr=r1(15);r=round(r*(2A32);u='a'%用戶輸入%哈希函數(shù)構(gòu)造IValgs=('

15、MD2','MD5','SHA-1','SHA-256','SHA-384','SHA-512');ht=hash(t,algs2);disp(algs1'('num2str(length(ht)'bits):')disp(ht)hr=hash(r,algs2);disp(algs1'('num2str(length(hr)'bits):')disp(hr)hu=hash(u,algs2);disp(algs1'('num2st

16、r(length(hu)'bits):')disp(hu)%初始GF空間地址fori=1:4ht1i=ht(i-1)*32+1):i*32);hr1i=hr(i-1)*32+1):i*32);hu1i=hu(i-1)*32+1):i*32);ht2i=uint32(bin2dec(ht1i);hr2i=uint32(bin2dec(hr1i);hu2i=uint32(bin2dec(hu1i);x2i=bitxor(ht2i,hr2i);xi=dec2bin(bitxor(x2i,hu2i),32);endD=5678,5433,12443,3446;%邏輯地址fori=1:4

17、x1i=bin2dec(xi);aa(i)=mod(x1i,D(i);end%物理地址ma=0;m=aa(i);forj=1:i-1m=m*D(j);endma=ma+m;endma=ma+aa(1);ma=mod(ma,8*length(BG);%生成三元組隨機(jī)序列functionKS=KS3()maBGxD=one52();BG=dec2bin(BG);cc=zeros(1,16);qq=10;ii=1;while(1)while(1)w1=fix(ma/8);w1=w1+1;w2=mod(ma,8);if(w2<5)M(1:4)=BG(w1,w2+1:w2+4);elseM(1:(

18、8-w2)=BG(w1,(w2+1):8);M(8-w2+1):4)=BG(mod(w1+1,45674)+1,1:w2-4);endw=num2str(M);w=bin2dec(w);if(cc(w+1)-min(cc)>=qqma=ma+1;ma=mod(ma,8*45674);elsecc(w+1)=cc(w+1)+1;break;endendKS(ii:ii+3)=M(1:4);ii=ii+4;if(ii>8000)break;endif(mod(ii,64)=1)cc_min=min(cc);cc_row=find(cc=cc_min);cc_row_min=min(cc

19、_row);Mm=dec2bin(cc_row_min-1,4);if(w2<5)BG(w1,w2+1:w2+4)=Mm(1:4);elseBG(w1,(w2+1):8)=Mm(1:(8-w2);BG(mod(w1+1,45674)+1,1:w2-4)=Mm(8-w2+1):4);endM(1:4)=Mm(1:4);endx1(1:28)=x1(5:32);x1(29:32)=x2(1:4);x2(1:28)=x2(5:32);x2(29:32)=x3(1:4);x3(1:28)=x3(5:32);x3(29:32)=x4(1:4);x4(1:28)=x4(5:32);x4(29:32)

20、=M(1:4);fori=1:4x1i=bin2dec(xi);aa(i)=mod(x1i,D(i);end%物理地址-ma=0;fori=2:4m=aa(i);forj=1:i-1m=m*D(j);endma=ma+m;endma=ma+aa(1);ma=mod(ma,8*45674);end%蒙特卡羅模型計(jì)算誤碼率functionp1p2p3p4=ss_Pe6(snr_in_dB,Lc,Aa,w0)fb=2000/20;%信息數(shù)據(jù)速率Tc=20;%擴(kuò)頻碼的周期fc=fb*Tc;%碼元速率kk=1.3;%每個(gè)碼元里sin信號的周期個(gè)數(shù)fr=fc*kk;%載波速率Q=8;%每個(gè)碼元中采樣個(gè)數(shù)f

21、s=fc*Q;%采樣頻率ts=1/fs;%每個(gè)采樣點(diǎn)的時(shí)間間隔sgma=0.1;%噪聲的標(biāo)準(zhǔn)均方差設(shè)置為固定值w0=1;%以弧度表達(dá)的正弦干擾信號頻率data_number=400;%信息數(shù)據(jù)的個(gè)數(shù)sample_number=data_number*Tc;%采樣得到的總數(shù)據(jù)個(gè)數(shù)t=0:ts:(sample_number-1)*ts;snr=10A(snr_in_dB/10);sgma=1;%噪聲的標(biāo)準(zhǔn)方差設(shè)置為固定值Eb=2*sgmaA2*snr;%每位信息比特的能量即達(dá)到設(shè)定的信噪比所需要的信號幅度E_chip=Eb/Lc;%每個(gè)碼片的能量%待傳輸?shù)男畔⒎枖?shù)N=1000;%為減少程序的運(yùn)算

22、時(shí)間,數(shù)據(jù)的產(chǎn)生、噪聲、干擾、譯碼和差錯(cuò)計(jì)算都一起執(zhí)行,這%樣做有助于超長運(yùn)算矢量的計(jì)算num_of_err1=0;num_of_err2=0;num_of_err3=0;num_of_err4=0;fori=1:datanumberaa=rand;ifaa<0.5A(i)=-1;elseA(i)=1;endendfori=1:data_numberif(A(i)<0.5)dataA(i-1)*Tc+1:i*Tc)=-1;elsedataA(i-1)*Tc+1:i*Tc)=1;endend%生成周期為31位的m序列register_current_value=-1,-1,-1,-1

23、,1;%5級移位寄存器feed_position=1,4;%反饋抽頭為1和4L=length(register_current_value);fori=1:data_number*Tcfeed_value=0;forj=1:length(feed_position)feed_value=feed_value+register_current_value(feed_position(j);%計(jì)算反饋值endiffeed_value=0register_new_value(L)=-1;elseregister_new_value(L)=1;endregister_new_value(1:L-1)=

24、register_current_value(2:L);register_current_value=register_new_value;pn(i)=register_current_value(1);endks=KS3();forj=1:8000mm(j)=str2num(ks(j);if(mm(j)<0)pn_seq(j)=-1;elsepn_seq(j)=1;end;endLG=Logistic();LG1=Logistic1();sigA1=dataA.*pn_seq;sigA2=dataA.*pn;sigA3=dataA.*LG;sigA4=dataA.*LG1;resigA

25、1=sigA1;resigA2=sigA2;resigA3=sigA3;resigA4=sigA4;input_sigA1=sqrt(E_chip)*resigA1.*sin(2*pi*(fr)*t+pi/8);%輸出信號input_sigA2=sqrt(E_chip)*resigA2.*sin(2*pi*(fr)*t+pi/8);input_sigA3=sqrt(E_chip)*resigA3.*sin(2*pi*(fr)*t+pi/8);input_sigA4=sqrt(E_chip)*resigA4.*sin(2*pi*(fr)*t+pi/8);noise=sgma*randn(1,sa

26、mple_number);%方差為sgma2的高斯白噪聲interference=Aa*sin(w0*t);rec_sigA1=input_sigA1+noise+interference;%接收至U的信號rec_sigA2=input_sigA2+noise+interference;rec_sigA3=input_sigA3+noise+interference;rec_sigA4=input_sigA4+noise+interference;%接收端rec_sign11=rec_sigA1.*sin(2*pi*(fr)*t+pi/8);rec_sign1=rec_sign11.*pn_s

27、eq;rec_sign12=rec_sigA2.*sin(2*pi*(fr)*t+pi/8);rec_sign2=rec_sign12.*pn;rec_sign13=rec_sigA3.*sin(2*pi*(fr)*t+pi/8);rec_sign3=rec_sign13.*LG;rec_sign14=rec_sigA3.*sin(2*pi*(fr)*t+pi/8);rec_sign4=rec_sign13.*LG1;fori=1:data_numbertemp1(i)=sum(rec_sign1(i-1)*Tc+1):i*Tc);if(temp1(i)<0)decision1(i)=-

28、1;elsedecision1(i)=1;end;if(decision1(i)=A(i)num_of_err1=num_of_err1+1;%誤碼計(jì)數(shù)end;temp2(i)=sum(rec_sign2(i-1)*Tc+1):i*Tc);if(temp2(i)<0)decision2(i)=-1;elsedecision2(i)=1;end;if(decision2(i)=A(i)num_of_err2=num_of_err2+1;end;temp3(i)=sum(rec_sign3(i-1)*Tc+1):i*Tc);if(temp3(i)<0)decision3(i)=-1;e

29、lsedecision3(i)=1;end;if(decision3(i)=A(i)num_of_err3=num_of_err3+1;end;temp4(i)=sum(rec_sign4(i-1)*Tc+1):i*Tc);if(temp4(i)<0)decision4(i)=-1;elsedecision4(i)=1;end;if(decision4(i)=A(i)num_of_err4=num_of_err4+1;end;endp1=num_of_err1/400;p2=num_of_err2/400;p3=num_of_err3/400;p4=num_of_err4/400;%正交

30、三元組擴(kuò)頻碼functiongout1=xxoorr()num=260;ks1=KS3(num);ks2=KS3(num);fori=1:numkss1(i)=str2num(ks1(i);kss2(i)=str2num(ks2(i);endgout1=xor(kss1,kss2);gout1=double(gout1);%同態(tài)三元組擴(kuò)頻碼functionkt=equa1()num=200;num_n=4;m=97;ks1=KS4(num);fori=1:fix(num/num_n)ky1i=ks1(i-1)*num_n+1):i*num_n);endky1=(bin2dec(ky1)'

31、;c,N_num=sort(ky1,'ascend);fori=1:(num/num_n)ky2(N_num(i)=i/(num/num_n);endc=0:(1/(2*m):1;forj=1:(num/num_n)fori=1:2*m+1ifky2(j)<=c(i)kk(j)=i;break;endendendforj=1:(num/num_n)if(mod(kk(j),2)=0)ks(j)=1;elseks(j)=0;endendkt=ks;%計(jì)算平均誤碼率echoonLc=100;A1=3;%每比特PN碼片數(shù)目%第一個(gè)正弦干擾信號的幅度A2=7;%第二個(gè)正弦干擾信號的幅度A

32、3=12;%第三個(gè)正弦干擾信號的幅度A4=0;%無正弦干擾情況下W0=1;%正弦干擾信號的頻率SNRindB=-10:2:20;%要求的信噪比范圍%計(jì)算在不同幅度正弦干擾信號的誤碼率fori=1:length(SNRindB)smld_err_prb11(i)smld_err_prb21(i)smld_err_prb31(i)smld_err_prb41(i)=ss_Pe6(SNRindB(i),Lc,A1,W0);smld_err_prb12(i)smld_err_prb22(i)smld_err_prb32(i)smld_err_prb42(i)=ss_Pe6(SNRindB(i),Lc,

33、A2,W0);smld_err_prb13(i)smld_err_prb23(i)smld_err_prb33(i)smld_err_prb43(i)=ss_Pe6(SNRindB(i),Lc,A3,W0);end;%計(jì)算在無正弦干擾信號情況下的誤碼率SNRindB4=-2:1:6;fori=1:length(SNRindB4)smld_err_prb14(i)smld_err_prb24(i)smld_err_prb34(i)smld_err_prb44(i)=ss_Pe6(SNRindB(i),Lc,A4,W0);end;%繪制仿真結(jié)果曲線,誤碼率用對數(shù)表示figure(1);semilo

34、gy(SNRindB,smld_err_prb11,SNRindB,smld_err_prb12,SNRindB,smld_err_prb13,SNRindB4,smld_err_prb14);xlabel('信噪比Eb/N0');ylabel('誤碼率Pb');title('DS系統(tǒng)在不同振幅的正弦干擾下的誤碼率曲線')figure(2);semilogy(SNRindB,smld_err_prb21,SNRindB,smld_err_prb22,SNRindB,smld_err_prb23,SNRindB4,smld_err_prb24);x

35、label('信噪比Eb/N0');ylabel('誤碼率Pb');title('DS系統(tǒng)在不同振幅的正弦干擾下的誤碼率曲線')figure(3);semilogy(SNRindB,smld_err_prb31,SNRindB,smld_err_prb32,SNRindB,smld_err_prb33,SNRindB4,smld_err_prb34);xlabel('信噪比Eb/N0');ylabel('誤碼率Pb');title('DS系統(tǒng)在不同振幅的正弦干擾下的誤碼率曲線')figure(4);

36、semilogy(SNRindB,smld_err_prb41,SNRindB,smld_err_prb42,SNRindB,smld_err_prb43,SNRindB4,smld_err_prb44);xlabel('信噪比Eb/N0');ylabel('誤碼率Pb');title('DS系統(tǒng)在不同振幅的正弦干擾下的誤碼率曲線')%直接序列擴(kuò)頻主程序代碼functionber=dscdma1(user,seq)user:同時(shí)進(jìn)行擴(kuò)頻通信的用戶數(shù)seq:bero該用戶數(shù)下的誤碼率%*初始化部分*sr=25600.0;%符號速率nSymbol=1

37、00;M=4;br=sr*log2(M);graycode=0132;EbNo=0:2:10;%*脈沖成形濾波器參數(shù)*delay=10;Fs8;rolloff0.5;rrcfilter=rcosine(1,Fs,'fir/sqrt',rolloff,delay);擴(kuò)頻碼產(chǎn)生參數(shù)*%*stage=6;ptap1=13;ptap2=235;regi1=111110;regi2=101010;%*擴(kuò)頻碼的生成*switchseqcase1code=mseq(stage,ptap1,regi1,user);case2%Goldm1=mseq(stage,ptap1,regi1);m2=

38、mseq(stage,ptap2,regi2);code=goldseq(m1,m2,user);case3%三元組擴(kuò)頻碼m1=KS3();code(1,:)=m1;forii=2:usercode(ii,:)=shift(code(ii-1,:),1);endendcode=code*2-1;clen=length(code);%*衰落信道參數(shù)*ts=1/Fs/sr/clen;t=(0:nSymbol*Fs*clen-1+2*delay*Fs)*ts;仿真開始*forindx=1:length(EbNo)indx%*發(fā)射端*data=randsrc(user,nSymbol,0:3);dat

39、a1=graycode(data+1);data1=qammod(data1,M);out=spread(data1,code);out1=rcosflt(out.',sr,Fs*sr,'filter',rrcfilter);spow=sum(abs(out1).A2)/nSymbol;ifuser>1out1=sum(out1.');elseout1=out1.'end%*接收端*sigma=sqrt(0.5*spow*sr/br*10A(-EbNo(indx)/10);y=;forii=1:usery(ii,:)=out1+sigma(ii).

40、*(randn(1,length(out1)+j*randn(1,length(out1);endy=rcosflt(y.',sr,Fs*sr,'Fs/filter',rrcfilter);y=downsample(y,Fs);forii=1:usery1(:,ii)=y(2*delay+1:end-2*delay,ii);endyd=despread(y1.',code);demodata=qamdemod(yd,M);demodata=graycode(demodata+1);err,ber(indx)=biterr(data,demodata,log2(M

41、);End%載波同步函數(shù)fs=12e6;%采樣頻率ts=1/fs;num=2.5e6;%數(shù)據(jù)長度SNR=-15;real_fc=3563000;%實(shí)信號頻率data=sin(2*pi*real_fc*(0:num-1)*ts+pi/4)+sqrt(10A(SNR/10)*randn(1,num);%科斯塔斯環(huán)的輸入信號fc=3562800;%本地頻率n=fs/1000;%累積時(shí)間為1msnn=0:n-1;nf=floor(length(data)/n);%將輸入數(shù)據(jù)分成1ms的多個(gè)數(shù)據(jù)塊wfc=2*pi*fc;%本地信號phi_prv=0;temp=0;frame=0;carrier_phas

42、e=0;phase=0;%環(huán)路濾波器的參數(shù)cl=153.7130;c2=6.1498;forframe=1:nf%產(chǎn)生本地的sin和cos函數(shù)expcol=exp(j*(wfc*ts*nn+phase);sine=imag(expcol);cosine=real(expcol);x=data(1:n)+(frame-1)*n);%將數(shù)據(jù)轉(zhuǎn)換到基帶x_sine=x.*sine;x_cosine=x.*cosine;Q=sum(x_sine);%經(jīng)過濾波器I=sum(x_cosine);phase_discri(frame)=atan(Q/I);%得到鎖相環(huán)的輸入%鎖相環(huán)dfrq=c1*phase

43、_discri(frame)+temp;%經(jīng)過環(huán)路濾波器temp=temp+c2*phase_discri(frame);wfc=wfc-dfrq*2*pi;%改變本地頻率dfrq_frame(frame)=wfc;phase=wfc*ts*n+phase;%得到不同塊的相位endplot(dfrq_frame/(2*pi);holdonplot(1:length(dfrq_frame),real_fc,'r');legend('鎖相環(huán)跟蹤','實(shí)際的載波頻率');gridmean_freq=mean(dfrq_frame/2/pi)p=abs(

44、real_fc-mean_freq)/real_fc;%偽碼同步clearall;closeall;clc;fb=2000/31;%信息數(shù)據(jù)速率Tc=31;%擴(kuò)頻碼的周期fc=fb*Tc;%碼元速率kk=1.3;%每個(gè)碼元里sin信號的周期個(gè)數(shù)fr=fc*kk;%載波頻率Q=8;%每個(gè)碼元中采樣個(gè)數(shù)fs=fc*Q;%采樣頻率ts=1/fs;%每個(gè)取樣點(diǎn)的時(shí)間間隔sgma=0.1;%噪聲的標(biāo)準(zhǔn)方差設(shè)定為固定值w0=1;%以弧度表達(dá)的正選干擾信號頻率data_number=20;%信息數(shù)據(jù)的個(gè)數(shù)sample_number=data_number*Tc*Q;%采樣得到的總的數(shù)據(jù)個(gè)數(shù)t=0:ts:(s

45、ample_number-1)*ts;%信息序列A=10111001101111100011;fori=1:data_numberif(A(i)<0.5)dataA(i-1)*Tc+1:i*Tc)=0;elsedataA(i-1)*Tc+1:i*Tc)=1;endend%生成周期為31位的m序列register_current_value=-1,-1,-1,-1,1;%5級移位寄存器feed_position=1,4;%反饋抽頭為1和4L=length(register_current_value);fori=1:data_number*Tcfeed_value=0;forj=1:len

46、gth(feed_position)feed_value=feed_value+register_current_value(feed_position(j);%計(jì)算反饋值endiffeed_value=0register_new_value(L)=-1;elseregister_new_value(L)=1;endregister_new_value(1:L-1)=register_current_value(2:L);register_current_value=register_new_value;pn(i)=register_current_value(1);endsigA=dataA

47、.*pn;fori=1:data_number*TcresigA(i-1)*Q+1:i*Q)=sigA(i);endinput_sigA=resigA.*sin(2*pi*(fr)*t+pi/8);%輸出信號figure(1);plot(input_sigA(1:100);%信道ChDiffFrequency=180;%設(shè)置多普勒頻移HzChSN=-1;%設(shè)置信噪比dB%設(shè)置碼相移ChDelayValue=80;%碼片相移量ChDelay=ChDelayValue*Q;%此值為采樣結(jié)果的碼相移,是偽碼相移的TxTempI倍%將序列進(jìn)行移位(需要先移位在加多普勒頻移,否則的話移位操作會(huì)影響多普勒

48、頻移)ChGoldSequence=circshift(resigA,0,ChDelay);%生成帶有多普勒頻移的序列ChSignalSequence1=ChGoldSequence.*sin(2*pi*(fr+ChDiffFrequency)*t+pi/8);%加入噪聲ChSingalSequence3=awgn(ChSignalSequence1,ChSN,'measured);%(此函數(shù)還可添加更多參數(shù))rec_sigA=ChSingalSequence3;flag1=0;forfrr=2400:10:2800carri=sin(2*pi*(frr)*t);carrq=cos(2

49、*pi*(frr)*t);reser_sigAi=rec_sigA.*carri;reser_sigAq=rec_sigA.*carrq;fori=1:data_number*Tcreser_Ai(i)=sum(reser_sigAi(Q*(i-1)+1:Q*i);reser_Aq(i)=sum(reser_sigAq(Q*(i-1)+1:Q*i);endk=0;forj=1:31Chpn=circshift(pn,0,j);reser_new_Ai=reser_Ai.*Chpn;reser_new_Aq=reser_Aq.*Chpn;reser_new_Ai=reser_Ai.*Chpn;r

50、eser_new_Aq=reser_Aq.*Chpn;fft_new_Ai=fft(reser_new_Ai);fft_new_Aq=fft(reser_new_Aq);fori=1:620fft_new_A(i)=sqrt(fft_new_Ai(i)A2+fft_new_Aq(i)A2);endfft_max_A=max(fft_new_A);fft_max_absA=abs(fft_max_A);k=k+1;fft_max_absAA(k)=fft_max_absA;RxResRowA=find(fft_new_A=fft_max_A);if(abs(fft_max_A)>500)f

51、rrfft_max_absA=abs(fft_max_A)output_sigA=input_sigA.*sin(2*pi*(frr)*t);flag1=1break;endendifflag1=1break;endendfigure;plot(fft_max_absAA);rec_sigA_fft=fft(rec_sigA);rec_sigA_abs=abs(rec_sigA_fft);rec_sigA_max=max(rec_sigA_abs);rec_sigA_row=find(rec_sigA_abs=rec_sigA_max);output_sigA_fft=fft(output_sigA);output_sigA_abs=abs(output_sigA_fft);output_sigA_max=max(output_sigA_abs);output_sigA_row=find(output_sigA_abs=output_sigA_max);output_sigA_FF=output_sigA_row;5實(shí)驗(yàn)測試結(jié)果為檢驗(yàn)同態(tài)三元組擴(kuò)頻

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論