📄 dapskmap_frequency_long.m
字号:
function [z]=dapskmap_frequency_long(sequence,a,ncon,long);
% dpskmap16 将输入比特流映射到DAPSK的星座 16
% sequence输入比特流
% enc_comp 星座点坐标
maping8=[0 pi/4 pi*3/4 pi*2/4 pi*7/4 pi*6/4 pi pi*5/4];
maping16=[0 pi/8 3*pi/8 pi/4 7*pi/8 3*pi/4 pi/2 5*pi/8 15*pi/8 7*pi/4 3*pi/2 13*pi/8 pi 9*pi/8 11*pi/8 5*pi/4];
if ncon>16
maping=maping16;
else
maping=maping8;
end
k=log2(ncon);
t=1;
r=ones(1,long);
theta=zeros(1,long);
N=length(sequence);
% ****************************
for i=1:k:N,
index=0;
for p=i:i+k-2
index=2*index+sequence(p);
end;
index=index+1;
theta1=mod(maping(index)+theta(t),2*pi);
if sequence(i+k-1)==0&r(t)==1;
r1=1;
elseif sequence(i+k-1)==1&r(t)==1
r1=a;
elseif sequence(i+k-1)==0&r(t)==a
r1=a;
else
r1=1;
end
I_comp((i+k-1)/k,1)=r1*cos(theta1);
Q_comp((i+k-1)/k,2)=r1*sin(theta1);
theta(t)=theta1;
r(t)=r1;
t=t+1;
if t>long
t=t-long;
else
t=t;
end
end
z=I_comp(:,1)+j*Q_comp(:,2);
%z=reshape(z1,1,Nu);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -