待解决问题
请老师指教: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
问题答案 ( 1 条 )
matlab里面有例程
回应该答案 (0)  |  回答者:jethrowang13   |  2018-2-12 14:55
 
我要回答:  回答字数在10000字以内