直扩信号伪码序列估计_第1页
直扩信号伪码序列估计_第2页
直扩信号伪码序列估计_第3页
直扩信号伪码序列估计_第4页
直扩信号伪码序列估计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、直扩信号的伪码估计一、短码直扩信号的伪码估计clear all;close all;clc;%-初始化设置-randn('state',sum(100*clock);rand('state',sum(100*clock);Ns=500;Nc=31;Sa=1;p=Nc*Sa;SNR=-15;delay=1;%-%-产生PN序列-PN=2*(rand(1,Nc)>0.5)-1;n=0;for i=1:Nc for j=1:Sa n=n+1; pn(n)=PN(i); endend ppn=zeros(1,p)%-%-产生随机信号,并对该信号通过PN码序列进行扩

2、频-signal=zeros(1,Nc*Sa*(Ns+2); symbol=sign(rand(1,Ns+5)-0.50); ppn=pn(1:Nc); %对码进行分用户,分为组 s1=ppn.'*symbol; %相应的用户上的PN码对信息位进行扩频 s2=s1(:).' z=size(s2); signal=s2(delay:delay+Nc*Sa*(Ns+2)-1); y=signal;%-%-对扩频后的信号加噪-L=length(y);snr=10.(SNR/10);Eb=sum(y.2)/L;N0=Eb/snr;sgma=sqrt(N0);noise=sgma*ran

3、dn(1,L);yt=y+noise;%-%-以一个伪码周期为窗口长度对500组数据求自相关-for i=1:Ns x(:,i)=yt(i-1)*p+1:i*p).'endR=(x*x.')/Ns;%-%-对自相关函数进行奇异值分解,得到的U中的第一列即为所求伪码序列-U,S,V=svd(R);Us=U(:,1);figure(1)subplot(212)stem(Us);subplot(211)stem(pn);图1 上图为伪码序列的真实值,下图为 信噪比为-15DB时,采样率为1/pin ,信息码长为500时的伪码序列的估计值,从图中可以看出估计值和真实值完全相反。二、长码

4、直扩信号的伪码估计clear all;close all;clc;%-初始化设置-randn('state',sum(100*clock);rand('state',sum(100*clock);Ns=500;Nc=31;Sa=5;G=5;p=Nc*Sa;m=p/G;SNR=-10;%-产生伪码序列-delay=1;PN=2*(rand(1,Nc)>0.5)-1;% % % % % % % % % % % % % % % % % % % % % % % b=0 0 0 1 1; %生成m序列% % % % % % % % % % % % % % % % %

5、 % % % % % % PN=m_sequence(b);% % % % % % % % % % % % % % % % % % % % % % % for i=1:2G-1% % % % % % % % % % % % % % % % % % % % % % % if PN(i)=0% % % % % % % % % % % % % % % % % % % % % % % PN(i)=1;% % % % % % % % % % % % % % % % % % % % % % % else% % % % % % % % % % % % % % % % % % % % % % % PN(i)=

6、-1;% % % % % % % % % % % % % % % % % % % % % % % end% % % % % % % % % % % % % % % % % % % % % % % end%-%-对伪码序列进行上采样-n=0;for i=1:Nc for j=1:Sa n=n+1; pn(n)=PN(i); endend %对PN码进行上采样(每个码片上采5个点)%-%-产生信号,并对信号进行通过PN码进行扩频-ppn=zeros(G,p); signal=zeros(G,Nc*Sa*(Ns+2); for i=1:G symbol(i,:)=sign(rand(1,Ns+5)-

7、0.50); ppn(i,:)=zeros(1,(i-1)*m),pn(i-1)*m+1:i*m),zeros(1,(G-i)*m); %对码进行分用户,分为组 s1=ppn(i,:).'*symbol(i,:); %相应的用户上的PN码对信息位进行扩频 s2=s1(:).' z=size(s2); signal(i,:)=s2(delay:delay+Nc*Sa*(Ns+2)-1);endif G=1 y=signal;else y=sum(signal);end%-%-添加噪声-L=length(y);snr=10.(SNR/10);Eb=sum(y.2)/L;N0=Eb/

8、snr;sgma=sqrt(N0);noise=sgma*randn(1,L);yt=y+noise;%-%-至此,信号模型产生-%-求自相关矩阵-for i=1:Ns x(:,i)=yt(i-1)*p+1:i*p).'endR=(x*x.')/Ns;%-%-对自相关矩阵进行奇异值分解,并从分解结果中分离出信号子空间- U,S,V=svd(R); Us=U(:,1:G); %- %-从信号子空间中剔除任意一个用户模型所对应的的G行,之后得到一个矩阵,对该- %-矩阵求特征向量并归一化从而得到模糊矩阵到伪码矩阵的酉转移矩阵qG- Us1=zeros(G-1)*m,G);for n

9、n=1:G QQ=zeros(G-1)*m,G*m); for yyy=1:(G-1)*m if yyy<(G-nn)*m+1 QQ(yyy,yyy)=1; else QQ(yyy,yyy+m)=1; end endUs1=QQ*Us; Rs1=(Us1'*Us1); Ug1,Sg1,Vg1=svd(Rs1); qG(:,nn)=Ug1(:,G);end%-%-利用qG求出伪码矩阵- C=Us*qG; figure(1) subplot(611) stem(pn); subplot(612) stem(ppn(1,:) subplot(613) stem(ppn(2,:) sub

10、plot(614) stem(ppn(3,:) subplot(615) stem(ppn(4,:) subplot(616) stem(ppn(5,:) figure(2)subplot(511)stem(C(:,5);subplot(512)stem(C(:,4);subplot(513)stem(C(:,3);subplot(514)stem(C(:,2);subplot(515)stem(C(:,1);%-%-对估计出来的伪码序列进行归一化-CC=C(1:31,5)' C(32:62,4)' C(63:93,3)' C(94:124,2)' C(125:

11、155,1)'zz=CC;for i=1:155 if zz(i)>0 zz(i)=1 else zz(i)=-1 endend% figure(3)% subplot(211)% stem(CC);% subplot(212)% stem(zz);mmm=zz;%-对各个用户的伪码序列进行筛选,得到正确的或者完全相反的伪码序列-for j=1:4 if mmm(j*31)=mmm(j*31+1) mmm(j*31+1:(j+1)*31)=mmm(j*31+1:(j+1)*31); else mmm(j*31+1:(j+1)*31)=-mmm(j*31+1:(j+1)*31) endend%-%-对最后得出的伪码序列进行校验-k=0;kk=0;for i=1:31 for j=1:5 if mmm(i-1)*5+j)=1 k=k+1; else kk=kk+1; end end if k>kk mmm(i-1)*5+1:i*5 )=1 1 1 1 1 ; else mmm(i-1)*5+1:i*5 )=-1 -1 -1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论