利用matlab实现16QAM调制
2020-12-22
一、随机信号的调制第一个示例描述以下问题: 下表描述了解决此问题的关键任务和相应的通信工具箱函数,其中选择基带16QAM作为调制制式以及加性高斯白噪声(AWGN)作为信道模型。问题解决方案:1.产生随机二进制数据序列。在MATLAB中表示信号的常规格式是向量或者矩阵。本示例中利用randint 函数来产生一个表示二进制数据序列连续值的列向量。其中二进制数据序列的长度(即为列向量中的行数)设置为30,000。下面的代码同时还绘制了数据序列的杆图(stem plot),用来显示数据的0、1值。你所产生的图可能与次示例中的图有一点不一样,这是因为本示例中应用了随机数。%% Setup% Define parameters.M = 16; % Size of signal constellationk = log2(M); % Number of bits per symboln = 3e4; % Number of bits to processnsamp = 1; % Oversampling rate%% Signal Source% Create a binary data stream as a column vector.x = randint(n,1); % Random binary data stream% Plot first 40 bits in a stem plot.stem(x(1:40),"filled");title("Random Bits");xlabel("Bit Index"); ylabel("Binary Value");2、准备调制modem.qammod对象实现M-QAM调制器,本示例中M为16。其输入参数是从0到15的整数而不是4bits二进制数据。因此,在利用此对象的modulate方法之前需要对二进制数据序列x进行预处理。特别地, 先采用MATLAB中的resh