📄 coding.m
字号:
function c=coding(input,M,mapping)
%input为未编码的二进制序列
% M为星座点数目 (pi/4DQPSK相对相位差:-3/4pi,3/4pi,1/4pi,-1/4pi)
% Mapping定义了星座点如何分布的向量
n=length(input);
k=log2(M);
remainder=rem(n,k);
if remainder~=0
for i=1:k-remainder
input(n+i)=0;
end
n=n+k-remainder;
end
theta=0;
for i=1:k:n-remainder
index=0;
for j=i:i+k-1
index=2*index+input(j);
end
index=index+1;
theta=mod(pi*mapping(index)/M+theta,2*pi);
c((i+k-1)/k,1)=cos(theta);
c((i+k-1)/k,2)=sin(theta);
c((i+k-1)/k,3)=pi*mapping(index)/4;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -