f_engray.m

来自「该程序仿真了OFDM系统的整个流程」· M 代码 · 共 50 行

M
50
字号
%====================================================
%  Cobayashi Laboratory , Mie University, Japan
%
%                   Last Modified by  tao,2001/06/13
%====================================================
function  out = f_EnGray(M)
SignalPower = 2;

B =ceil(sqrt(M));

if B^2 == M
   row = B;
   col = B;
else
   col = sqrt(M*2);
   row = M/col;
end

gray1 = f_bin2gray(col^2);
gray1 = reshape(gray1,col,col)';
gray = gray1;
gray2 = gray1(1:2:end,:);
for ii = 1:col
   gray3(:,ii) = gray2(:,col-ii+1);
end

gray(1:2:end,:) = gray3;

unitx = (-col+1):2:(col-1);
unity = (row-1):-2:(-row+1);
for ii = 1:row
   xx(ii,:) = unitx;
end
for ii = 1:col
   yy(:,ii) = unity';
end

points = xx + 1i*yy;

power = sum(sum(abs(points).^2))/M;
uu = sqrt(SignalPower/power);
points = points.*uu;
%disp(num2str(power));
for ii = 1:row
   for jj = 1:col
      table(gray(ii,jj)+1) = points(ii,jj);
   end
end
   
out = table;

⌨️ 快捷键说明

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