• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-04
  • 语言: Matlab
  • 标签: matlab  16QAM  

资源简介

一个matlab写的16QAM调制与解调程序

资源截图

代码片段和文件信息

function out = qam16(in modem)
%Qam16 16QAM modulation and demodulation (hard output) for IEEE802.11.
% Inputs in -- column vector;
% modem = 1 -- modulation = others -- demodulation.
% Output out -- column vector.

% Last modified by Jianhua Liu (SAL UF) on June 2 2001

N = length(in);

if modem == 1          % do modulation
   if ~(rem(N4)==0)
      error(‘Error: Input length should be a multiple of 4‘)
   end
   
   NN = N/4;
   out = zeros(NN1);
   
   for i = 1 : NN
      bits = in(4*i-3:4*i);
      if        bits(1:2) == [0; 0] Inphase = -3;
         elseif bits(1:2) == [0; 1] Inphase = -1;
         elseif bits(1:2) == [1; 1] Inphase =  1;
         elseif bits(1:2) == [1; 0] Inphase =  3;
         else                        error(‘Wrong data bits‘

评论

共有 条评论