⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dapskmap_time.m

📁 通信系统中的最新的分块差分调制技术的源码
💻 M
字号:
function [z]=dapskmap_time(data,a,ncon);
% 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);
len=length(data(:,1));
pre_signal=ones(len,1);
nums=length(data(1,:));
 r=abs(pre_signal);
 theta=angle(pre_signal);
for num=1:nums
    sequence=data(:,num);
    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;
theta((i+k-1)/k)=mod((maping(index)+theta((i+k-1)/k)),2*pi);
                       if sequence(i+k-1)==0&r((i+k-1)/k)==1;
                                r((i+k-1)/k)=1;
                       elseif   sequence(i+k-1)==1&r((i+k-1)/k)==1
                                 r((i+k-1)/k)=a;
                       elseif   sequence(i+k-1)==0&r((i+k-1)/k)==a
                                r((i+k-1)/k)=a;
                       else
                                r((i+k-1)/k)=1;
                       end
enc_comp((i+k-1)/k,1)=r((i+k-1)/k)*cos(theta((i+k-1)/k));
enc_comp((i+k-1)/k,2)=r((i+k-1)/k)*sin(theta((i+k-1)/k));
end
z1=enc_comp(:,1)+j*enc_comp(:,2);
%pre_signal=z1;
z(:,num)=z1;
end
%z=reshape(z1,1,Nu);

⌨️ 快捷键说明

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