参考3GPP 36.211
今日给大家介绍一下LTE SSS信号产生过程中加扰序列c的产生过程以及用MATLAB 和 c语言给大家实现一下:
加扰序列c产生过程如下:
1 首先产生公共的序列x的生成
X的初始值
两个加扰序列c0和c1
c语言实现
void lte_sss_gen_c(char *c,unsigned short n_cell_id_2,unsigned char c_flag) //c_flag indicate c0 or c1 ,n_cell_id_2 = mod(pci,3)
{
int i;
unsigned char x[32] = {0};
x[4] = 1;
for(i = 0; i < 25; i++)
{
x[i+5] = (x[i+3] + x[i]) & 0x01;
}
for(i = 0; i < 31; i++)
{
c[i] = 1 - 2*x[(i+n_cell_id_2+c_flag*3)%31];
}
}
MATLAB实现
function [c] = gen_c(N_CELL_ID_2,c_flag)
%
%
%
%
%
offset = 1;
x = zeros(1,32);
x(4+offset) = 1;
for n=0:25
x(n+5+offset) = mod(x(n+3+offset) + x(n+offset),2);
end
c = zeros(1,31);
for n=0:30
c(n+offset) = 1-2*x(mod(n+N_CELL_ID_2+c_flag*3,31)+offset);
end