OFDM解调流的样本
这个例子展示了如何使用无线OFDM解调器区块HDL工具箱时域OFDM解调复杂样品为一个向量输入副载波。这个示例模型支持HDL代码生成的金宝appOFDMDemod
子系统。
设置输入数据参数
设置这些工作空间变量的模型来使用。你可以根据你的要求修改这些值。
rng (“默认”);numOFDMSym = 2;maxFFTLen = 128;DCRem = true;RoundingMethod =“地板”;= false正常化;cpFraction = 1;fftLen = 64;cpLen = 16;numLG = 6;numRG = 5;如果DCRem NullInd = [1: numLG fftLen / 2 + 1 fftLen-numRG + 1: fftLen);其他的NullInd = [1: numLG fftLen-numRG + 1: fftLen);% #好< UNRCH >结束symbOffset =地板(cpFraction * cpLen);vecLen = 2;
生成随机输入帧样本
使用MATLAB函数生成帧的随机样本randn
。
data = randn (fftLen numOFDMSym) + 1我* randn (fftLen numOFDMSym);dataIn = ofdmmod(数据、fftLen cpLen);
帧转换为流的随机样本
随机样本帧转换为一连串的随机样本给他们作为块的输入。
data = dataIn (:);有效= true(长度(dataIn) / vecLen, 1);fftSig = fftLen *的(长度(dataIn), 1);CPSig = cpLen *的(长度(dataIn), 1);LGSig = numLG *的(长度(dataIn), 1);RGSig = numRG *的(长度(dataIn), 1);resetSig = false(长度(数据),1);sampleTime = 1 / vecLen;stopTime = (maxFFTLen * 3 * numOFDMSym) / vecLen;
运行仿真金宝app软件模型
运行模型导入脚本输入信号变量的块和出口流解调输出样本块MATLAB工作区。
modelname =“genhdlOFDMDemodulatorModel”;open_system (modelname);= sim (modelname);simOut =挤压(out.dataOut (: 1 out.validOut = = 1));
解调流样品使用MATLAB函数
解调的随机输入样品使用ofdmdemod_baseline
函数。
[dataOut1] = ofdmdemod_baseline (dataIn、fftLen cpLen, symbOffset, NullInd。”[],正常化,RoundingMethod);matOut = dataOut1 (:);
比较模型块输出与金宝appMATLAB函数输出
比较模型的输出模型的输出金宝appofdmdemod_baseline
函数。
图(“单位”,“归一化”,“outerposition”[0 0 1 1])次要情节(2,1,1)情节(真实(matOut (:)));持有在;情节(真实(simOut (:)));网格在传奇(“参考”,“金宝app模型”)包含(“样本指数”)ylabel (“级”)标题(的比较模型块和MATLAB函数金宝app实部的次要情节(2,1,2)情节(图像放大(matOut (:)));持有在;情节(图像放大(simOut (:)));网格在传奇(“参考”,“金宝app模型”)包含(“样本指数”)ylabel (“级”)标题(的比较模型块和MATLAB函数金宝app虚部的)sqnrRealdB = 10 * log10 (var(真实(simOut (:))) / abs (var(真实(simOut (:))) var(真实(matOut (:)))));sqnrImagdB = 10 * log10 (var(图像放大(simOut (:))) / abs (var(图像放大(simOut (:))) var(图像放大(matOut (:)))));流(' \ n OFDM解调器:\ n SQNR真正的部分是%。2 f dB”,sqnrRealdB);流(' \ n SQNR虚部%。2 f dB \ n”,sqnrImagdB);
OFDM解调器:SQNR实部为47.77 dB SQNR的虚部为42.69分贝