📄 sigmap.m
字号:
function d=Sigmap(DataScr,Modu)
switch Modu
case 1
for i=1:length(DataScr)
if DataScr(i)==0
I(i)=-1;
Q(i)=0;
else
I(i)=1;
Q(i)=0;
end
end
Kmod=1;
case 2
for i=1:length(DataScr)/2
switch DataScr(i*2-1)+DataScr(i*2)*2
case 0
I(i)=-1;Q(i)=-1;
case 1
I(i)=1;Q(i)=-1;
case 2
I(i)=-1;Q(i)=1;
case 3
I(i)=1;Q(i)=1;
end
end
Kmod=1/sqrt(2);
case 3
for i=1:length(DataScr)/4
switch DataScr(4*i-3)+DataScr(4*i-2)*2
case 0
I(i)=-3;
case 1
I(i)=-1;
case 3
I(i)=1;
case 2
I(i)=3;
end
switch DataScr(4*i-1)+DataScr(4*i)*2
case 0
Q(i)=-3;
case 1
Q(i)=-1;
case 3
Q(i)=1;
case 2
Q(i)=3;
end
end
Kmod=1/sqrt(10);
case 4
for i=1:length(DataScr)/6
switch DataScr(i*6-5)+DataScr(i*6-4)*2+DataScr(i*6-3)*4
case 0
I(i)=-7;
case 1
I(i)=-5;
case 3
I(i)=-3;
case 2
I(i)=-1;
case 6
I(i)=1;
case 7
I(i)=3;
case 5
I(i)=5;
case 4
I(i)=7;
end
switch DataScr(i*6-2)+DataScr(i*6-1)*2+DataScr(i*6)*4
case 0
Q(i)=-7;
case 1
Q(i)=-5;
case 3
Q(i)=-3;
case 2
Q(i)=-1;
case 6
Q(i)=1;
case 7
Q(i)=3;
case 5
Q(i)=5;
case 4
Q(i)=7;
end
end
Kmod=1/sqrt(42);
end
d=(I+Q*j)*Kmod;
%d=[zeros(1,6) d1(1:5) 1 d1(6:18) 1 d1(19:24) 0 d1(25:30) 1 d1(31:43) -1 d1(44:48) zeros(1,5)];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -