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

📄 downlink_scrambling.m

📁 尽量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。
💻 M
字号:
function d=downlink_scrambling(numbits,channelname,Nid,Ns,Nidmbsf,nRNTI,q,b)  %加扰
% numbits   输入符号数;
% channelname    信道类型:1 PDSCH,2 PMCH,3 PBCH,4 PCFICH,5 PDCCH;
% Nid   小区号:0到503;Nid = 3 * Nid1 + Nid2; Nid1从1到167,Nid2从0到2;
% Ns   时隙号:0到19;
% Nidmbsf  MBSFN(多播广播单频网络)的号,用于PMCH;
% nRNTI  无线网络临时指示号,用于PDSCH;
% q   使用的码字,q=0或1;
% where the nRNTI,Ns,Nid  Nidmbsf  and q are given by high layer;
% b=randint(1,numbits); %随机输入序列,只有0或1;
 Nc=1600; %见协议36.211第75页规定;
 x1(1)=1;  % sequence x1 initializition;
 for i=2:31  % x1(0)=1,x1(n)=0,n=1,2,...,30;
     x1(i)=0;    
 end

 for i=1:(Nc+numbits-31) % generate sequence x1,x1(n+31) = (x1(n + 3) + x1(n)) mod 2 
     x1(i+31)=mod((x1(i+3)+x1(i)),2);
 end

% x2(n+31)=(x2(n+3)+x2(n+2)+x(n+1)+x2(n))mod2,shall be initialized with 
% Cinit=nRNTI*2^14+q*2^13+floor(Ns/2)*2^9+Nid     PDSCH 
% Cinit=floor(Ns/2)*2^9+N_idmbsf                  PMCH
% Cinit=Nid                                       PBCH
% Cinit=(floor(Ns/2)+1)*(2*N_id+1)*2^9+Nid        PCFICH
% Cinit=floor(Ns/2)*2^14+Nid                      PDCCH                 
% where the channelname is  given by high layer.
switch channelname %choose the channel ,initialize x2
    case 1 % PDSCH
        Cinit=nRNTI*2^14+q*2^13+floor(Ns/2)*2^9+Nid;
        x2=de2bi (Cinit,31); % de2bi 把十进制数转换成二进制向量
    case 2 % PMCH
        Cinit=floor(Ns/2)*2^9+Nidmbsf;
        x2=de2bi (Cinit,31);
    case 3 % PBCH
        Cinit=Nid ;
        x2=de2bi (Cinit,31);
    case 4 % PCFICH
        Cinit=(floor(Ns/2)+1)*(2*N_id+1)*2^9+Nid;
        x2=de2bi (Cinit,31);
    case 5 % PDCCH
        Cinit=(floor(Ns/2)+1)*(2*Nid+1)*2^9+Nid;
        x2=de2bi (Cinit,31);
end
for i=1:(Nc+numbits-31) % generate sequence x2 ,x2(n + 31) = (x2(n + 3) + x2(n + 2) + x2(n + 1) + x2(n)) mod 2;
    x2(i+31)=mod((x2(i+3)+x2(i+2)+x2(i+1)+x2(i)),2);
end
for i=1:numbits  % generate pseudo-random sequence c(n);c(n)=(x1(n+Nc)+x2(n+Nc))mod 2 ;
    c(i)=mod((x1(i+Nc)+x2(i+Nc)),2);
end

for i=1:numbits % scrambling ;
    d(i)=mod((b(i)+c(i)),2);
end  

⌨️ 快捷键说明

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