four2two.m

来自「16QAM的MATLAB调制解调仿真」· M 代码 · 共 16 行

M
16
字号
function xn=four2two(yn);
%
%BBI 2000
if nargin<1;[y,yn]=two2four;end;
y=yn;ymin=min(y);ymax=max(y);ymax=max([ymax abs(ymin)]);
ymin=-abs(ymax);yn=(y-ymin)*3/(ymax-ymin );
I0=find(yn<0.5);             yn(I0)=zeros(size(I0));
I1=find(yn>0.5 & yn<1.5);    yn(I1)=ones(size(I1));
I2=find(yn>1.5 & yn<2.5);    yn(I2)=ones(size(I2))*2;
I3=find(yn>=2.5);            yn(I3)=ones(size(I3))*3;
T=[0 0 ; 0 1 ; 1 1 ; 1 0 ]; n=length(yn);
for i=1:n; 
    xn(i,:)=T(yn(i)+1,:);
end;
xn=xn';xn=xn(:); xn=xn';
if nargout<1;disp(xn);end;

⌨️ 快捷键说明

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