cm_dpske.m

来自「两个最近通信常用的数字调制技术的仿真,mpsk」· M 代码 · 共 28 行

M
28
字号
function[enc_comp]=cm_dpske(E,M,mapping,sequence)
%[enc_comp]=cm_dpske(E,M,mapping,sequence)
%            CM_DPSKE以微分方式编码一个序列
%            E是平均能量,M是星座点的数目
%            而mapping是一个定义星座点如何分布的向量
%            sequence是未编码的二进制数据序列
k=log2(M);
N=length(sequence);
%如果N不可为k整除,填充零使其可被k整除
remainder=rem(N,k);
if (remainder~=0),
  for i=N+1:N+k-remainder,   
     sequence(i)=0;
  end;
  N=N+k-remainder;
end;
theta=0;
for i=1:k:N,
   index=0;
   for j=i:i+k-1,
      index=2*index+sequence(j);
   end;
   index=index+1;
   theta=mod(2*pi*mapping(index)/M+theta,2*pi);
   enc_comp((i+k-1)/k,1)=sqrt(E)*cos(theta);
   enc_comp((i+k-1)/k,2)=sqrt(E)*sin(theta);
end;
       

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?