版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三元组扩频码构造及其在扩频通信中的应用1实验目的扩频通信不仅具有较高的传输速率,而且其传输的可靠性和安全性能得到较大改善。近年来,已有学者探讨信号调制方式、扩频增益、干扰方式,以及信噪比等对扩频通信误码率的影响,并将误码率作为刻画扩频通信的重要指标,以此解决了信道干扰、多径信号引起的衰落,以及通信安全等重要问题。但是扩频通信还存在一些问题,如信号由于设备之间的串扰,使得通信系统的效率降低且可靠性变差,影响通信系统的质虽。为了解决上述扩频通信中存在的问题,曾提出过许多种扩频码实现直扩通信,但不同的扩频码序列性能差异较为显著,所以寻找适合扩频通信的扩频码成为热点。常用的扩频码有线性反馈移位寄存
2、器序列、混沌序列和同余序列,均属于伪随机序列。传统的扩频序列是m序列和gold序列,均属于线性反馈移位寄存器序列。虽然理论简单且完善,但是其具有周期性且数虽有限,不能满足大规模通信系统的要求。由于Logistic、Chebyshev等混沌序列的初值敏感性和强随机性,也适用于扩频通信。然而由于计算机的计算精度限制,在实际计算中需截取一定长度,会导致混沌序列出现周期性。同余序列也是经常被使用的一种随机序列,有线性同余模型、逆同余模型等。但是同混沌序列一样,具有随机性的只有初值,算法不具有随机性,即初值固定了,序列就固定了。以上序列并不能真正更靠近白噪声的随机特性,不适合做扩频序列。所以我们需要寻找
3、一种新的扩频码,保证扩频通信的可靠性和保密性。加而三元组随机序列由真随机炳源提供初始值,以多轮重构技术构造背景,通过周期性变轨、控制空间映射和约束判断等离散轨迹变换得到的。其是建立在真随机炳源的基础上,具有更强的不可预测性和未知性,即更大的随机性。目前已将三元组扩频码应用于加密系统中,并取得了专利,在文件加密、ftp加密传输和图像密等方面都得到了实际的应用。现今,需要对现有三元组随机序列产生原理进行适当改进,以得到一种新颖、有实际应用价值的高性能扩频码,可以抵抗强干扰和满足多用户扩频通信需要。2实验原理2.1扩频通信系统原理扩频系统的扩频运算是通过伪随机码或伪随机序列(扩频函数)来实现的.从理
4、论上来讲,用纯随机序列来扩展信号的频谱是最理想的,但是接收端必须复制同一个随机序列.由于随机序列的不可复制性,因此在工程中无法使用纯随机序列,而改为采用伪随机序列.在扩频系统的实际运用中,一般采用易于产生、随机性强、有尽可能长的周期和良好自相关函数、互相关特性的随机序列.常用的伪随机序列有线性反馈移位寄存器序列、混沌序列和同余序列(a)发射系统(b)接收系统2cos2(fof图1扩频通信物理模型2.2三元组随机数序列的产生原理:三元组随机数将传统的二元结构KS=(m,IV)扩展,扩展为由生成算法、初值和背景空间构成的三元结构KS=(m,IV,Key),使每次使用都会产生不同的序列2.2.1重构
5、背景信息Key=(GI,M,L,D)为用户选择的秘钥空间.用重构初始位置M(miZ+)、重构长度L(lieZ+)对用户选择的广义信息GI(记为PB0)经过S轮重构生成PBS即BG(背景).计数器向MC(C0,C1,C255)中Ck是记录每次重构过程中编码k(0,1,255R是8位的二进制数)出现的次数.j是每轮重构的长度,所以每轮重构前ck、j要初始化为零.为使生成的数据空间具有较好的统计分布特性,设置约束参数q(默认值为10),而使PBi中所有字节编码的出现次数相当.q越小,PBj中编码分布越均匀,约束条件越强.重构生成PB的产生过程:图2重构PBj的示意图2.2.2三元组随机数序列生成过程
6、IV=(t,v,u)为初始随机动态因子.t、v由系统生成,分别为系统时间戳和系统随机数,u为用户输入的初始个性化信息.可见,每次生成的不重复随机的初始点由IV决定,也是每次生成不同三元组随机序列的关键决定因素.轨迹变换参数D(气由,,dm-i)构造地址映射函数,定义了逻辑地址的最大值.设每次析出wbit数据,贝UCk'是计数器向虽C'(C0',Ci',,C2w1')中记录生成随机数序列过程中编码k0,1,W-l出现的次数,即C'要初始化为零向虽.设置轨迹变换参数q'(默认值为10),利用C'与q'的比较,保证随机数具有优良
7、的平衡度.生成三元组随机数的过程:C初始化为0初始随机动态因子IVHash函数映射泛空间地址AI参数D逻辑地址Aao,ai,,aw_i)图3生成三元组随机数的算法2.3三元组扩频码通过两种方案对三元组随机序列进行改进,使三元组随机数序列具有更好的自相关和互相关等随机统计特性,满足扩频通信的使用,并使三元组扩频码适用于不同的使用环方案一:将三元组随机数序列KS经过均匀映射,变为同态三元组扩频码KC,使三元组随机数序列轨道和获得同态三元组扩频码的轨道可以相互拓扑等价,同态三元组扩频码KC具有更强的随机性,来保证三元组系统最大的动态性.同态三元组扩频码KC有优良的平衡度,可以增强系统的载波抑制度.将
8、二值三元组随机数按顺序析出nbit,变为一个十进制数,得到序列Xn=X0,Xi,X2.若KS的长度为l,则序列Xn的长度为l-n+1.均匀映射g()定义为:KXn山yn=gXn=飞、n=1,2,|N(1)imynUBfm-1dHm2mynB2ddn其中,N是Xn的长度,K(Xn)是Xn在X”中按升序排列的序号,将实值序列转换为二值序列,引入转换函数为:0s(n)=T(%广1其中,2m是正整数,B:m,B12m,B毅,|,B票是在0,1上连续相等的2m个子区间.s(n)即为同态三元组扩频码KC.方案二:正交变换具有可以去除信号中的相关性和让信号能H集中的功能,通过正交变换使三元组随机数序列KS变
9、为正交三元组扩频码KQ,可以使正交三元组扩频码具有更好的互相关特性.m序列通过模2加变为Gold序列,在Gold序列后加一位0或1变为正交Gold序列,而正交Gold序列具有良好的自相关性和互相关性.同理,我们利用此方法使两个三元组随机数序列变为一个正交三元组扩频码KQ,使正交三元组扩频码KQ具有良好的统计特性.KS21+KS22个KS23KSiiKS12*KS13图5正交三元组扩频码KQ的生成3实验步骤步骤1:通过图1建立扩频通信系统仿真模型;步骤2:熟悉理解图2和图3,构建三元组随机数序列掌握三元组随机数序列的产生原理,调节不同的参数,构建性能良好的三元组随机数序列步骤3:理解三元组随机数
10、序列的原理,通过同态均匀映射和正交变换,得到同态三元组扩频码和正交三元组扩频码;步骤4:分析三元组扩频码的自相关性、互相关性、平衡性和混沌性;步骤5:分析三元组扩频码与传统的m序列、分段Logistic序列和线性同余序列在蒙特卡罗仿真模型中的误码率,找出误码率最低,安全性最高的扩频码;步骤6:分析三元组扩频码与传统的m序列、分段Logistic序列和线性同余序列在CD-CDMA仿真模型中的误码率,找出误码率最低,安全性最高的扩频码;4程序代码%广义信息重构背景functionBG=fun_BG()GI=5,71,8;PB1=GI;l=length(GI);M=01798545674;%初始位置
11、L=l7300400045674;%重构长度S=5;%重构次数q=10;%重构变换约束参数c=zeros(1,256);%计数器向量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=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'%用户输入%哈希函数构造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);%生成三元组随机序列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%蒙特卡罗模型计算误码率functionp1p2p3p4=ss_Pe6(snr_in_dB,Lc,Aa,w0)fb=2000/20;%信息数据速率Tc=20;%扩频码的周期fc=fb*Tc;%码元速率kk=1.3;%每个码元里sin信号的周期个数fr=fc*kk;%载波速率Q=8;%每个码元中采样个数f
21、s=fc*Q;%采样频率ts=1/fs;%每个采样点的时间间隔sgma=0.1;%噪声的标准均方差设置为固定值w0=1;%以弧度表达的正弦干扰信号频率data_number=400;%信息数据的个数sample_number=data_number*Tc;%采样得到的总数据个数t=0:ts:(sample_number-1)*ts;snr=10A(snr_in_dB/10);sgma=1;%噪声的标准方差设置为固定值Eb=2*sgmaA2*snr;%每位信息比特的能量即达到设定的信噪比所需要的信号幅度E_chip=Eb/Lc;%每个码片的能量%待传输的信息符号数N=1000;%为减少程序的运算
22、时间,数据的产生、噪声、干扰、译码和差错计算都一起执行,这%样做有助于超长运算矢量的计算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);%计算反馈值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;%误码计数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、三元组扩频码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);%同态三元组扩频码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;%计算平均误码率echoonLc=100;A1=3;%每比特PN码片数目%第一个正弦干扰信号的幅度A2=7;%第二个正弦干扰信号的幅度A
32、3=12;%第三个正弦干扰信号的幅度A4=0;%无正弦干扰情况下W0=1;%正弦干扰信号的频率SNRindB=-10:2:20;%要求的信噪比范围%计算在不同幅度正弦干扰信号的误码率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;%计算在无正弦干扰信号情况下的误码率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;%绘制仿真结果曲线,误码率用对数表示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系统在不同振幅的正弦干扰下的误码率曲线')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系统在不同振幅的正弦干扰下的误码率曲线')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系统在不同振幅的正弦干扰下的误码率曲线')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系统在不同振幅的正弦干扰下的误码率曲线')%直接序列扩频主程序代码functionber=dscdma1(user,seq)user:同时进行扩频通信的用户数seq:bero该用户数下的误码率%*初始化部分*sr=25600.0;%符号速率nSymbol=1
37、00;M=4;br=sr*log2(M);graycode=0132;EbNo=0:2:10;%*脉冲成形滤波器参数*delay=10;Fs8;rolloff0.5;rrcfilter=rcosine(1,Fs,'fir/sqrt',rolloff,delay);扩频码产生参数*%*stage=6;ptap1=13;ptap2=235;regi1=111110;regi2=101010;%*扩频码的生成*switchseqcase1code=mseq(stage,ptap1,regi1,user);case2%Goldm1=mseq(stage,ptap1,regi1);m2=
38、mseq(stage,ptap2,regi2);code=goldseq(m1,m2,user);case3%三元组扩频码m1=KS3();code(1,:)=m1;forii=2:usercode(ii,:)=shift(code(ii-1,:),1);endendcode=code*2-1;clen=length(code);%*衰落信道参数*ts=1/Fs/sr/clen;t=(0:nSymbol*Fs*clen-1+2*delay*Fs)*ts;仿真开始*forindx=1:length(EbNo)indx%*发射端*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%载波同步函数fs=12e6;%采样频率ts=1/fs;num=2.5e6;%数据长度SNR=-15;real_fc=3563000;%实信号频率data=sin(2*pi*real_fc*(0:num-1)*ts+pi/4)+sqrt(10A(SNR/10)*randn(1,num);%科斯塔斯环的输入信号fc=3562800;%本地频率n=fs/1000;%累积时间为1msnn=0:n-1;nf=floor(length(data)/n);%将输入数据分成1ms的多个数据块wfc=2*pi*fc;%本地信号phi_prv=0;temp=0;frame=0;carrier_phas
42、e=0;phase=0;%环路滤波器的参数cl=153.7130;c2=6.1498;forframe=1:nf%产生本地的sin和cos函数expcol=exp(j*(wfc*ts*nn+phase);sine=imag(expcol);cosine=real(expcol);x=data(1:n)+(frame-1)*n);%将数据转换到基带x_sine=x.*sine;x_cosine=x.*cosine;Q=sum(x_sine);%经过滤波器I=sum(x_cosine);phase_discri(frame)=atan(Q/I);%得到锁相环的输入%锁相环dfrq=c1*phase
43、_discri(frame)+temp;%经过环路滤波器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('锁相环跟踪','实际的载波频率');gridmean_freq=mean(dfrq_frame/2/pi)p=abs(
44、real_fc-mean_freq)/real_fc;%伪码同步clearall;closeall;clc;fb=2000/31;%信息数据速率Tc=31;%扩频码的周期fc=fb*Tc;%码元速率kk=1.3;%每个码元里sin信号的周期个数fr=fc*kk;%载波频率Q=8;%每个码元中采样个数fs=fc*Q;%采样频率ts=1/fs;%每个取样点的时间间隔sgma=0.1;%噪声的标准方差设定为固定值w0=1;%以弧度表达的正选干扰信号频率data_number=20;%信息数据的个数sample_number=data_number*Tc*Q;%采样得到的总的数据个数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);%计算反馈值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;%设置多普勒频移HzChSN=-1;%设置信噪比dB%设置码相移ChDelayValue=80;%码片相移量ChDelay=ChDelayValue*Q;%此值为采样结果的码相移,是伪码相移的TxTempI倍%将序列进行移位(需要先移位在加多普勒频移,否则的话移位操作会影响多普勒
48、频移)ChGoldSequence=circshift(resigA,0,ChDelay);%生成带有多普勒频移的序列ChSignalSequence1=ChGoldSequence.*sin(2*pi*(fr+ChDiffFrequency)*t+pi/8);%加入噪声ChSingalSequence3=awgn(ChSignalSequence1,ChSN,'measured);%(此函数还可添加更多参数)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实验测试结果为检验同态三元组扩频
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 什么是公司合同管理制度(3篇)
- 佩奇活动方案策划(3篇)
- 党员红娘活动方案策划(3篇)
- 共享田园活动方案策划(3篇)
- 双十一策划活动方案(3篇)
- 商会立夏活动方案策划(3篇)
- 国庆绿茶活动策划方案(3篇)
- 虚拟现实与人工智能在小学美术教学中的个性化学习效果研究教学研究课题报告
- 2026年合肥科技职业学院单招职业技能考试题库附答案详解(轻巧夺冠)
- 公司风险实行什么管理制度(3篇)
- 浙江大中小型水库、水闸、泵站、堤防和海塘等六类水利工程物业化服务标准
- 中国旅游地理(高职)全套教学课件
- 语文七年级下字帖打印版
- 上海市物业服务合同示范文本2023版包干制
- 电器整机新产品设计DFM检查表范例
- 球磨机筒体衬板结构设计与制造工艺
- 疼痛诊疗学课件:第十一章 腰部痛及下肢痛
- 个人修养与素质提升(课堂)课件
- 化脓性关节炎查房
- 道桥工程概预算2016年
- 绘本:《幼儿园的一天》
评论
0/150
提交评论