待解决问题
请老师指教:lte中接收端怎么利用dmrs对pucch进行解调的呢?
离问题结束还有0天0小时  |  提问者:jiangnan12345   |  提问时间:2017-8-24 13:33
最近在做lte pucch的仿真,找到了一段对format 1解调的程序。不理解程序中怎么利用的dmrs(也就是代码中的r_p_PUCCH1)?而且这个程序的误码率竟然是十几的。我就在想会不会是解调的过程出了问题。请老师指教。 以下为部分代码 function [d1,r_ap_uv_]=de_z1a(z_p_1,r_p_PUCCH1,ns) %将收到的1/1a/1b信号与参考信号分离,并去除循环移位 。。。。。。 r_ap_uv_=zeros(3,12);%范围是1到2*3*12或2*2*12 y_p_=zeros(1,12);%范围是1到2*4*12或2*3*12 d0=0; d0a=0; la=[0,1,5,6,2,3,4]; for n=0:M_RS_sc-1 for i=0:N_PUCCH_SF-1 l=la(i+1); a1_p_(ns+1,l+1)=2*pi*n_p_cs(ns+1,l+1)/N_RB_sc;%计算出a r_ap_uv(n+1)=exp(1j*a1_p_(ns+1,l+1)*(n+1))*Ruv(n+1);%生成与符号复用的参考信号 m_9=mod(ns,2); y_p_(n+1)=S(ns+1)*w_n_p_oc(i+1)*z_p_1(m_9*N_PUCCH_SF*N_PUCCH_seq+i*N_PUCCH_seq+n+1); d0a=sqrt(P_S)*y_p_(n+1)/r_ap_uv(n+1)+d0a; end d0=d0a/4+d0; for i=4:6 m_9=mod(ns,2); r_ap_uv_(i-3,n+1)=sqrt(P_S)*w_m_p_oc(i-3)*r_p_PUCCH1(m_9*N_PUCCH_RS*M_RS_sc+(i-4)*M_RS_sc+n+1); end end d0=d0/12; nsa=(ns-mod(ns,2))/2; a2b=mod(nsa,3); switch a2b case 0 d1=1; case 1 if d0>0 d1=1; else d1=-1; end case 2 d1=round(d0*sqrt(2))/sqrt(2); end
matlab里面有例程
回答时间:2018-2-12 14:55
 
我要回应:  回应字数在5000字以内