⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vcscpxiaoyul.m

📁 利用OFDM系统的虚拟子载波技术来进行盲信道估计
💻 M
字号:
%虚拟子载波 条件:Mp-L>MP
clear all
j=sqrt(-1);
N=32;P=26;e=200;P0=2;L=4;M=3;D=3;p=N+D;%N 载波数 ,P采用;p 加循环前最后,M符号数;D循环前最
h(1)=0.158-0.664j;
h(2)=-0.198+0.267j;
h(3)=-0.325+0.197j;
h(4)=-0.378-0.245j;
h(5)=-0.278-0.003j;
h=[h(1) h(2) h(3) h(4) h(5)].';


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%IFFT
 w=exp(-j*2*pi/N);
for i=1:N;
    for s=1:N;
Wn(i,s)=N^(-1/2)*w^[(-1)*(i-1)*(s-1)];
    end 
end 
for i=1:N
    t(i)=w^(-1)*P0*(i-1);%1*N
end

T=diag(t);%N*N
W=T*Wn(:,1:P);%N*P

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Tcp


Wp=W(N-D+1:N,:);%D*N
Wcp=[Wp;W];%p*P
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Im=eye(M);
G=kron(Im,Wcp);%Mp*MP W临时使用
H=Toeplitz([h(5);zeros(M*p-L-1,1)],[h(5) h(4) h(3) h(2) h(1) zeros(1,M*p-L-1)]);%Mp-L*Mp
A=H*G;%Mp-L*MP
%%%%%%%%%%%%%%%%%%%%%%%%%%
dB=5:5:40
for k=1:length(dB)
    
    ADD=0;
for Nm=1:100

for i1=1:e
%%%%%%%%%%%%%%%%%%%%%%%%%%%
X=rand(M*P,1);%生成32维BPSK码
for m=1:M*P
       if X(m,1)>(0.5)
        X(m,1)=1;
    else  X(m,1)=-1;
    end
end
Y(:,i1)=A*X;%72*1;
SNR=[];
n=randn(size(Y(:,i1)))+sqrt(-1)*randn(size(Y(:,i1)));%产生随机噪声
  n=n/norm(n)*10^(-dB(k)/10)*norm(Y(:,i1));
  SNR=[SNR 10*log10(norm(Y(:,i1))/norm(n))];
  Y(:,i1)=Y(:,i1)+n;
end
%%%%%%%%%%%%%%%%%%%%%%%%
 %Ry=Y*Y'/e; 

   [u,s,v]=svd(Y);%奇异值分解
   Un=u(:,M*P+1:M*p-L);%M*(Q+D)-L
   Q=0;
for i=1:M*(p-P)-L
    gi=Un(:,i).';
    Gi=[0 0 0 0 gi;0 0 0 gi 0;0 0 gi 0 0;0 gi 0 0 0;gi 0 0 0 0];%5*80
  
    qi=(Gi*G)*(Gi*G)';%5*5
    Q=Q+qi;


end
   [U1,S1,V1]=svd(Q);          % solve equation Ah=0 by SVD
hb=U1(:,5);  
hb_h=mean(hb./h);            
hb1=hb/hb_h;     
ADD=ADD+sqrt((h-hb1)'*(h-hb1))/sqrt(h'*h);
  %%%%%%%%%%%%%%%
end
squ_err_h(k)=500^(-1/2)*sqrt(ADD);
end
figure(1)
dB=5:5:40
plot(dB,squ_err_h,'-*') 
hold on
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -