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

📄 f_getpoints.m

📁 该程序仿真了OFDM系统的整个流程
💻 M
字号:
%====================================================
%  Cobayashi Laboratory , Mie University, Japan
%
%                   Last Modified by  tao,2001/05/17 
%====================================================
function out = f_GetPoints(M)

BPSKTable = f_EnGray(2);

BPSKTable1 = [1+0i -1+0i];

QPSKTable = f_EnGray(4);
QPSKTable1 = [1 -1i 1i -1];

QAM8Table7 = f_EnGray(8);
QAM8Table = [    ...
      -1 + 1j*-1    ...
      -3 + 1j*0     ...
      -1 + 1j*1     ...
       0 + 1j*3     ...
       1 + 1j*-1    ...
       0 + 1j*-3    ...
       1 + 1j*1     ...
       3 + 1j*0  ]* sqrt(4/11);

QAM8Table0 = [    ...
      3  + 1j   ...
      1  + 1j    ...
      -3 + 1j   ...
      -1 + 1j   ...
      3  + 1j*-1 ...
      1  + 1j*-1 ...
      -3 + 1j*-1   ...
      -1 + 1j*-1];

QAM8Table6 = [    ...
      2          ...
      2+2j       ...
      -2+2j  ...
      2j         ...
      2+1j*-2 ...
      1j*-2      ...
      -2         ...
      -2 + 1j*-2];

QAM8Table5 = [    ...
      3+1j*1      ...
      1+1j*3      ...
      -3+1j*1      ...
      -1+1j*3      ...
      3+1j*-1      ...
      1+1j*-3      ...
      -3+1j*-1      ...
      -1+1j*-3 ];

QAM8Table4 = [    ...
      1+1j*1      ...
      1+1j*-1      ...
      -1+1j*1      ...
      3+1j*-1      ...
      -3+1j*1      ...
      -1+1j*-3      ...
      1+1j*3      ...
      -1+1j*-1 ];


QAM8Table3 = [    ...
      3          ...
      1+1j       ...
      -1 + 1j  ...
      3j         ...
      1 + 1j*-1 ...
      1j*-3      ...
      -3         ...
      -1 + 1j*-1];


QAM8Table2 = [    ...
      1          ...
      0.5+1j*0.5       ...
      -0.5 + 1j*0.5  ...
      1j         ...
      0.5 + 1j*-0.5 ...
      1j*-1      ...
      -1         ...
      -0.5 + 1j*-0.5];

QAM8Table1 = [    ...
      1          ...
      1+1j       ...
      -1 + 1j  ...
      1j         ...
      1 + 1j*-1 ...
      1j*-1      ...
      -1         ...
      -1 + 1j*-1];

QAM16Table = f_EnGray(16);
QAM16Table1 = [ ...
      1	+ 1j*1 ...
      1	+ 1j*3 ...
      3	+ 1j*1 ...
      3	+ 1j*3 ...
      -1 + 1j*1 ...
      -1 + 1j*3 ...
      -3 + 1j*1 ...
      -3 + 1j*3 ...
      1 + 1j*-1 ...
      1 + 1j*-3 ...
      3	+ 1j*-1 ...
      3	+ 1j*-3 ...
      -1 + 1j*-1 ...
      -1 + 1j*-3 ...
      -3 + 1j*-1 ...
      -3 + 1j*-3];

QAM32Table2 = f_EnGray(32);
QAM32Table = [   ...
       1 + 1j*1  ...
       3 + 1j*1  ...
       3 + 1j*5  ...
       5 + 1j*1  ...
       1 + 1j*3  ...
       3 + 1j*3  ...
       1 + 1j*5  ...
       5 + 1j*3  ...
       1 + 1j*-1  ...
       1 + 1j*-3  ...
       5 + 1j*-3  ...
       1 + 1j*-5  ...
       3 + 1j*-1  ...
       3 + 1j*-3  ...
       5 + 1j*-1  ...
       3 + 1j*-5  ...
       -1 + 1j*1  ...
       -1 + 1j*3  ...
       -5 + 1j*3  ...
       -1 + 1j*5  ...
       -3 + 1j*1  ...
       -3 + 1j*3  ...
       -5 + 1j*1  ...
       -3 + 1j*5  ...
       -1 + 1j*-1  ...
       -3 + 1j*-1  ...
       -3 + 1j*-5  ...
       -5 + 1j*-1  ...
       -1 + 1j*-3  ...
       -3 + 1j*-3  ...
       -1 + 1j*-5  ...
       -5 + 1j*-3  ...
   ] * sqrt(1/10);

QAM32Table1 = [   ...
      -3 + 1j*5  ...
      -5 + 1j*1  ...
      1 + 1j*5  ...
      5 + 1j*3  ...
      3 + 1j*-5  ...
      5 + 1j*-1  ...
      -1 + 1j*-5  ...
      -5 + 1j*-3  ...
      1 + 1j*1  ...
      -1 + 1j*5  ...
      5 + 1j*1  ...
      1 + 1j*-1  ...
      -1 + 1j*-1  ...
      1 + 1j*-5  ...
      -5 + 1j*-1  ...
      -1 + 1j*1  ...
      -3 + 1j*-3  ...
      -1 + 1j*-3  ...
      -3 + 1j*1  ...
      -3 + 1j*3  ...
      3 + 1j*3  ...
      1 + 1j*3  ...
      3 + 1j*-1  ...
      3 + 1j*-3  ...
      5 + 1j*-3  ...
      3 + 1j*1  ...
      1 + 1j*-3  ...
      -3 + 1j*-5  ...
      -5 + 1j*3  ...
      -3 + 1j*-1  ...
      -1 + 1j*3  ...
      3 + 1j*5  ...
   ];


QAM64Table = f_EnGray(64);
QAM64Table1 = [ ...
      1	+ 1j*1 ...
      1	+ 1j*3 ...
      3	+ 1j*1 ...
      3	+ 1j*3 ...
      7	+ 1j*1 ...
      5	+ 1j*1 ...
      7	+ 1j*3 ...
      5	+ 1j*3 ...
      1	+ 1j*7 ...
      3	+ 1j*7 ...
      1	+ 1j*5 ...
      3	+ 1j*5 ...
      7	+ 1j*7 ...
      5	+ 1j*7 ...
      7	+ 1j*5 ...
      5	+ 1j*5 ...
      1	+ 1j*-1 ...
      1	+ 1j*-3 ...
      3	+ 1j*-1 ...
      3	+ 1j*-3 ...
      7	+ 1j*-1 ...
      5	+ 1j*-1 ...
      7	+ 1j*-3 ...
      5	+ 1j*-3 ...
      1	+ 1j*-7 ...
      3	+ 1j*-7 ...
      1	+ 1j*-5 ...
      3	+ 1j*-5 ...
      7	+ 1j*-7 ...
      5	+ 1j*-7 ...
      7	+ 1j*-5 ...
      5	+ 1j*-5 ...
      -1+ 1j*1 ...
      -1+ 1j*3 ...
      -3+ 1j*1 ...
      -3+ 1j*3 ...
      -7+ 1j*1 ...
      -5+ 1j*1 ...
      -7+ 1j*3 ...
      -5+ 1j*3 ...
      -1+ 1j*7 ...
      -3+ 1j*7 ...
      -1+ 1j*5 ...
      -3+ 1j*5 ...
      -7+ 1j*7 ...
      -5+ 1j*7 ...
      -7+ 1j*5 ...
      -5+ 1j*5 ...
      -1+ 1j*-1 ...
      -1+ 1j*-3 ...
      -3+ 1j*-1 ...
      -3+ 1j*-3 ...
      -7+ 1j*-1 ...
      -5+ 1j*-1 ...
      -7+ 1j*-3 ...
      -5+ 1j*-3 ...
      -1+ 1j*-7 ...
      -3+ 1j*-7 ...
      -1+ 1j*-5 ...
      -3+ 1j*-5 ...
      -7+ 1j*-7 ...
      -5+ 1j*-7 ...
      -7+ 1j*-5 ...
      -5+ 1j*-5];

QAM128Table1 = f_EnGray(128);
QAM128Table = [ ...
      1 + 1j*1  ...
      3 + 1j*1  ...
      1 + 1j*3  ...
      3 + 1j*3  ...
      7 + 1j*1  ...
      5 + 1j*1  ...
      7 + 1j*3  ...
      5 + 1j*3  ...
      7 + 1j*9  ...
      5 + 1j*9  ...
      7 + 1j*11 ...
      5 + 1j*11 ...
      9 + 1j*1  ...
      11 + 1j*1 ...
      9 + 1j*3  ...
      11 + 1j*3 ...
      1 + 1j*7  ...
      3 + 1j*7  ...
      1 + 1j*5  ...
      3 + 1j*5  ...
      7 + 1j*7  ...
      5 + 1j*7  ...
      7 + 1j*5  ...
      5 + 1j*5  ...
      1 + 1j*9  ...
      3 + 1j*9  ...
      1 + 1j*11 ...
      3 + 1j*11 ...
      9 + 1j*7  ...
      11 + 1j*7 ...
      9 + 1j*5  ...
      11 + 1j*5 ...
      -1 + 1j*1  ...
      -1 + 1j*3  ...
      -3 + 1j*1  ...
      -3 + 1j*3  ...
      -1 + 1j*7  ...
      -1 + 1j*5  ...
      -3 + 1j*7  ...
      -3 + 1j*5  ...
      -9 + 1j*7  ...
      -9 + 1j*5  ...
      -11 + 1j*7 ...
      -11 + 1j*5 ...
      -1 + 1j*9  ...
      -1 + 1j*11 ...
      -3 + 1j*9  ...
      -3 + 1j*11 ...
      -7 + 1j*1  ...
      -7 + 1j*3  ...
      -5 + 1j*1  ...
      -5 + 1j*3  ...
      -7 + 1j*7  ...
      -7 + 1j*5  ...
      -5 + 1j*7  ...
      -5 + 1j*5  ...
      -9 + 1j*1  ...
      -9 + 1j*3  ...
      -11 + 1j*1 ...
      -11 + 1j*3 ...
      -7 + 1j*9  ...
      -7 + 1j*11 ...
      -5 + 1j*9  ...
      -5 + 1j*11 ...
      -1 + 1j*-1  ...
      -3 + 1j*-1  ...
      -1 + 1j*-3  ...
      -3 + 1j*-3  ...
      -7 + 1j*-1  ...
      -5 + 1j*-1  ...
      -7 + 1j*-3  ...
      -5 + 1j*-3  ...
      -7 + 1j*-9  ...
      -5 + 1j*-9  ...
      -7 + 1j*-11 ...
      -5 + 1j*-11 ...
      -9 + 1j*-1  ...
      -11 + 1j*-1 ...
      -9 + 1j*-3  ...
      -11 + 1j*-3 ...
      -1 + 1j*-7  ...
      -3 + 1j*-7  ...
      -1 + 1j*-5  ...
      -3 + 1j*-5  ...
      -7 + 1j*-7  ...
      -5 + 1j*-7  ...
      -7 + 1j*-5  ...
      -5 + 1j*-5  ...
      -1 + 1j*-9  ...
      -3 + 1j*-9  ...
      -1 + 1j*-11 ...
      -3 + 1j*-11 ...
      -9 + 1j*-7  ...
      -11 + 1j*-7 ...
      -9 + 1j*-5  ...
      -11 + 1j*-5 ...
      1 + 1j*-1  ...
      1 + 1j*-3  ...
      3 + 1j*-1  ...
      3 + 1j*-3  ...
      1 + 1j*-7  ...
      1 + 1j*-5  ...
      3 + 1j*-7  ...
      3 + 1j*-5  ...
      9 + 1j*-7  ...
      9 + 1j*-5  ...
      11 + 1j*-7 ...
      11 + 1j*-5 ...
      1 + 1j*-9  ...
      1 + 1j*-11 ...
      3 + 1j*-9  ...
      3 + 1j*-11 ...
      7 + 1j*-1  ...
      7 + 1j*-3  ...
      5 + 1j*-1  ...
      5 + 1j*-3  ...
      7 + 1j*-7  ...
      7 + 1j*-5  ...
      5 + 1j*-7  ...
      5 + 1j*-5  ...
      9 + 1j*-1  ...
      9 + 1j*-3  ...
      11 + 1j*-1 ...
      11 + 1j*-3 ...
      7 + 1j*-9  ...
      7 + 1j*-11 ...
      5 + 1j*-9  ...
      5 + 1j*-11] * sqrt(1/41);


QAM256Table = f_EnGray(256);

switch M,
case 0,   table = [0];
case 2,   table = BPSKTable;
case 4,   table = QPSKTable;
case 8,   table = QAM8Table;
case 16,  table = QAM16Table;
case 32,  table = QAM32Table;
case 64,  table = QAM64Table;
case 128, table = QAM128Table;
case 256, table = QAM256Table;
otherwise, error('No such MQAM!');
end

out = table;

⌨️ 快捷键说明

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