function a=CellRS(NCell_ID,ns,p,Ncp,N_DL_RB)
if Ncp==160||Ncp==144
Ncp=1; N_DL_symb=7;
elseif Ncp==512
Ncp=0; N_DL_symb=6;
end
N_maxDL_RB=110; N_RB_sc=12; v_shift=mod(NCell_ID,6);
sqrt_1_2=1/sqrt(2); a=zeros(N_DL_RB*N_RB_sc,N_DL_symb);
m1=[0:2*N_DL_RB-1].'+N_maxDL_RB-N_DL_RB;
if p==0||p==1
l=[0, N_DL_symb-3];
elseif p==2||p==3
l=1;
end
for i=1:length(l)
if (p==0&&l(i)==0)||(p==1&&l(i)~=0)
v=0;
elseif (p==0&&l(i)~=0)||(p==1&&l(i)==0)
v=3;
elseif p==2
v=3*mod(ns,2);
elseif p==3
v=3+3*mod(ns,2);
end
k=6*[0:2*N_DL_RB-1].'+mod(v+v_shift,6);
c_init=2.^10*(7*(ns+1)+l(i)+1)*(2*NCell_ID+1)+2*NCell_ID+Ncp;
r=sqrt_1_2*(1-2*pseudoRandom(c_init,2*m1))+...
j*sqrt_1_2*(1-2*pseudoRandom(c_init,2*m1+1));
a(k+1,l(i)+1)=r;
end