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

📄 mbsfnpseudoranseq.m

📁 尽量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。
💻 M
字号:
function cMBSFN = MBSFNpseudoranseq(Nidmbsf,Ns) % 生成用于MBSFN参考信号的伪随机序列;
 Nc=1600; %见协议36.211第75页规定;
 n = 2 * 6 * 110 + 1 ;% 设置伪随机序列cMBSFN的长度,为了适用于MBSFN参考信号序列的长度:6*NmaxDLRB,NmaxDLRB是下行链路最大可占用资源块数,为110
 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+n-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
 for i = 1:6 % MBSFN参考信号只在天线端口4上传输,与PMCH共用一个天线端口。MBSFN参考信号只用于扩展型循环前缀.所以l=6。
     Cinit(i) = 2 ^ 9 * (7 * (Ns + 1) + (i - 1) + 1) * (2 * Nidmbsf + 1) + Nidmbsf ; % 伪随机序列要在每个OFDM符号的开头初始化,Cinit(i) = 2 ^ 9 * (7 * (Ns + 1) + l + 1) * (2 * Nidmbsf + 1) + Nidmbsf;
 end
 % 求用于MBSFN参考信号的伪随机序列的初始值,还有个作用是为了对m序列x2进行初始化;因为每个OFDM符号的初始值不一样,则每个OFDM符号对应
 % 的序列x2的初始值也不一样
 x21=de2bi (Cinit(1),31); % 将十进制化为二进制
 x22=de2bi (Cinit(2),31);
 x23=de2bi (Cinit(3),31);
 x24=de2bi (Cinit(4),31);
 x25=de2bi (Cinit(5),31);
 x26=de2bi (Cinit(6),31);
 for i=1:(Nc+n-31) % generate sequence x2 ,x2(n + 31) = (x2(n + 3) + x2(n + 2) + x2(n + 1) + x2(n)) mod 2;
     x21(i+31)=mod((x21(i+3)+x21(i+2)+x21(i+1)+x21(i)),2);
     x22(i+31)=mod((x22(i+3)+x22(i+2)+x22(i+1)+x22(i)),2);
     x23(i+31)=mod((x23(i+3)+x23(i+2)+x23(i+1)+x23(i)),2);
     x24(i+31)=mod((x24(i+3)+x24(i+2)+x24(i+1)+x24(i)),2);
     x25(i+31)=mod((x25(i+3)+x25(i+2)+x25(i+1)+x25(i)),2);
     x26(i+31)=mod((x26(i+3)+x26(i+2)+x26(i+1)+x26(i)),2);
 end
 for i=1:n  % generate pseudo-random sequence c(n);c(n)=(x1(n+Nc)+x2(n+Nc))mod 2 ;6个伪随机序列对应于6个OFDM符号
     c1(i)=mod((x1(i+Nc)+x21(i+Nc)),2);
     c2(i)=mod((x1(i+Nc)+x22(i+Nc)),2);
     c3(i)=mod((x1(i+Nc)+x23(i+Nc)),2);
     c4(i)=mod((x1(i+Nc)+x24(i+Nc)),2);
     c5(i)=mod((x1(i+Nc)+x25(i+Nc)),2);
     c6(i)=mod((x1(i+Nc)+x26(i+Nc)),2);
 end
 cMBSFN = [c1;c2;c3;c4;c5;c6]; % 将6个伪随机序列合成一个矩阵输出

⌨️ 快捷键说明

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