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

📄 powerwindow2.m

📁 本程序是根据3gpp中tdd协议中的下行导频码的结构构造的导频码捕获的程序
💻 M
字号:
clear all
close all
clc
sync_dl=zeros(1,64);
sync_dlf=char('2841474603F29A77');
ss=zeros(16,4);
w=1;
for i=1:16
    c=sync_dlf(i);
    d=hex2dec(c);
    e=dec2bin(d);
    if length(e)==4
        for n=1:4
            k=str2num(e(n));
            ss(w,n)=k;
        end
            elseif length(e)==3
                for n=1:3
            k=str2num(e(n));
            ss(w,n+1)=k;
        end
             elseif length(e)==2
                for n=1:2
            k=str2num(e(n));
            ss(w,n+2)=k;
        end
            elseif length(e)==1
            k=str2num(e);
            ss(w,4)=k;
    end
    w=w+1;
end
ss;
tt=ss';
ee=tt(:);
sync_dl=ee';
sync_dl=sync_dl+(sync_dl==0)*(-1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SURE THE SYNC_DI CODE AND ITS PHASE%%%%%
sync_ul=zeros(1,128);
sync_ulf=char('7AA8A0A210F12A1E4332F2EDD33011FC')
ss=zeros(32,4);
w=1;
for i=1:32
    c=sync_ulf(i);
    d=hex2dec(c);
    e=dec2bin(d);
    if length(e)==4
        for n=1:4
            k=str2num(e(n));
            ss(w,n)=k;
        end
            elseif length(e)==3
                for n=1:3
            k=str2num(e(n));
            ss(w,n+1)=k;
        end
             elseif length(e)==2
                for n=1:2
            k=str2num(e(n));
            ss(w,n+2)=k;
        end
            elseif length(e)==1
            k=str2num(e);
            ss(w,4)=k;
    end
    w=w+1;
end
ss;
tt=ss';
oo=tt(:);
sync_ul=oo';
sync_ul=sync_ul+(sync_ul==0)*(-1);
%%%%%%%%%%%%%%%%%%%%%%%%%SURE THE SYNC_UL CODE AND IT PHASE%%%%
s=randsrc(1,32000);
GP32=zeros(1,32);
GP64=zeros(1,64);
ty=[GP32,sync_dl,GP32,GP64,sync_ul,GP32];
k=200;
for i=1:5
    x1=k+i*6400-6400;
for c=1:325
    s(x1+c)=ty(c);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%FORMATE THE GP AND frame%%%%%%%%%%%%%%%%%%%%
snr=-5:0.1:5
for ss=1:length(snr)
    N=10000;
    successful=0;
    for c=1:N;
y1=awgn(s,snr(ss));
y2=zeros(5,6400);
y3=reshape(y1,6400,5);
s2=y3';
for i=1:5
    y2(i,:)=s2(i,:);
end
z1=sum(y2);
%%%%%%%%%%%%%%%%%%%%%%%%overlap five frame%%%%%%%%%%%%%%%%%%%
riato=zeros(3,(6400-128));
zhi=zeros(1,(6400-128));
for i=1:(6400-128)
power1=0;
power2=0;
power3=0;
    for c=i:i+31
        power1=power1+z1(c)^2;
        power2=power2+z1(c+32)^2+z1(c+64)^2;
        power3=power3+z1(c+96)^2;
    end
        riato(1,i)=power1;
        riato(2,i)=power2;
        riato(3,i)=power3;
        zhi(1,i)=[riato(1,i)+riato(3,i)]/riato(2,i);
end
        [minz,xb]=min(zhi);
if (xb==(k+1))
    yy=y2(1,:);
    %%%%%%%%%%%%%powerwindow and make dicision%%%%%%%%%%%%%
     [rr]=aquizition(yy,xb);      
   successful=successful+rr;
       else 
                successful=successful+0;%%%%%%%%%%%%%%unsuccessful is 0%%%
        end   
    end
    powerrate(ss)=successful/N
end
plot(snr,powerrate)
xlabel('snr信噪比')
ylabel('powerwindow捕获帧头概率')
title('不同信噪比下的捕获帧头概率')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%plot%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        

⌨️ 快捷键说明

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