C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

亚星游戏官网-yaxin222  新兵

注册:2017-3-31
发表于 2017-8-25 20:25: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



举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-9-23 07:32 , Processed in 0.086093 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图