传输和接收使用模拟设备AD9361 / AD9364 LTE米姆
这个例子展示了如何使用通信工具箱™支持包Xilinx®Zynq-Based广播支持包与MATLAB®和LTE工具箱™金宝app来生成一个multi-antenna LTE传动为同步传输和接收一个特别提款权平台。一个图像文件编码和挤进一个无线帧传输,并随后在接收解码。下图是一个概念的概述这设置:
指的是引导Host-Radio硬件设置文档细节配置主机工作的支持包Xilinx®Zynq-Based收音机。金宝app
介绍
您可以使用LTE工具箱生成兼容标准基带智商下行和上行参考测量通道(RMC)波形和下行测试模型(E-TM)波形。这些基带波形调制为射频传输使用特别提款权硬件如Xilinx Zynq-based收音机。
这个例子中导入一个图像文件,包成一个基带的多个广播帧使用LTE工具箱RMC生成的波形。这个例子创建了一个连续射频LTE波形通过使用重复波形发射机与Zynq无线电硬件功能。RMC的基带波形上转移到硬件内存Zynq广播传播不断在空中没有差距。如果使用特别提款权的装置,能够多个信道传输和接收,这个例子可以生成和传输使用LTE发射分集multi-antenna LTE波形。概述与多个通道的设备支持,看到的金宝appI / O通道。
示例中捕获结果波形通过使用相同的Zynq无线电硬件平台。如果你有合适的硬件,可以使用多通道接收机的接收。
示例设置
在你运行这个例子之前,执行以下步骤:
配置您的主机与Xilinx Zynq-Based广播支持包。金宝app看到引导Host-Radio硬件设置。
在运行示例之前,确保LTE工具箱安装。返回一个错误的例子如果没有LTE工具箱安装。你必须有一个LTE工具箱许可运行这个示例。
你可以使用这个例子AD936x或FMCOMMS5无线电硬件。默认情况下,这个例子与AD936x配置为运行。为FMCOMMS5配置示例,您必须使用comm.SDRTxFMCOMMS5和comm.SDRRxFMCOMMS5对象而不是comm.SDRTxAD936x和comm.SDRRxAD936x对象。更新FMCOMMS5的例子,按照说明内联注释。
检查LTE工具箱安装,有一个有效的许可证
如果isempty(版本(lte的))%检查LST安装错误(“zynqRadioLTEMIMOTransmitReceive: NoLST”,…“请安装LTE工具箱运行这个例子。);elseif~许可证(“测试”,“LTE_Toolbox”)%检查存在一个有效的许可证错误(“zynqRadioLTEMIMOTransmitReceive: NoLST”,…的一个有效的许可证LTE工具箱需要运行这个例子。);结束
示例配置所有范围和数据显示的例子。
%设置处理图像的阴谋如果~ (“imFig”,“var”)| | ~ ishandle (imFig) imFig =图;imFig。NumberTitle =“关闭”;imFig。Name =“形象策划”;imFig。可见=“关闭”;其他的clf (imFig);%清晰的图imFig。可见=“关闭”;结束%设置处理信道估计的情节如果~ (“hh”,“var”)| | ~ ishandle (hh) hh =图(“可见”,“关闭”);hh。NumberTitle =“关闭”;hh。Name =信道估计的;其他的clf (hh);%清晰的图hh。可见=“关闭”;结束%设置频谱查看器spectrumScope =简介(…“SpectrumType”,的功率密度,…“SpectralAverages”10…“YLimits”(-130 -40),…“标题”,LTE接收基带信号频谱的,…“YLabel”,的功率谱密度);%设置的星座图查看器使相等PDSCH符号星座= comm.ConstellationDiagram (“标题”,“均衡PDSCH符号”,…“ShowReferenceConstellation”、假);
默认情况下,示例使用一个AD936x装置有两个渠道。如果您正在使用一个FMCOMMS5射频卡,集txsim.SDRDeviceName
来“FMCOMMS5”
而不是“AD936x”
。这个设置还允许使用四个频道。
%初始化特别提款权设备txsim =结构;%建立空发射机的结构txsim.SDRDeviceName=“AD936x”;%设置特别提款权设备%更新示例FMCOMMS5,设置| txsim。SDRDeviceName |,% | |“FMCOMMS5”。无线电= sdrdev (txsim.SDRDeviceName);特别提款权%创建设备对象
运行示例
你可以运行这个例子通过输入的脚本名称MATLAB命令窗口中的这个例子:
zynqRadioLTEMIMOTransmitReceiveAD9361AD9364ML
以下部分解释的设计和架构这个例子中,你可以看到执行的代码。
发射机设计:系统架构
LTE发射机的总体结构由以下步骤组成:
导入和图像转换为二进制数据流。
生成一个基带LTE信号使用LTE工具箱、包装的二进制数据流的传输块下行共享信道(DL-SCH)。
准备使用特别提款权硬件传输的基带信号。
基带数据发送到SDR硬件upsampling和连续传输所需的中心频率。
设立特别提款权发射机
的txsim
结构控制特别提款权发射机系统对象的属性。默认情况下,示例使用一个AD936x装置有两个渠道。如果您正在使用一个FMCOMMS4射频卡和你的设备,你只有一个通道。集txsim.NTxAnts
为1。
如果你有设置txsim.SDRDeviceName
来“FMCOMMS5”
在前面的小节中,例子自动选择四个频道。
txsim。RC =“R.7”;%基地RMC配置10 MHz带宽txsim。NCellID = 88;%细胞身份txsim。NFrame = 700;%初始帧数txsim。TotFrames = 1;%的帧数来生成txsim。DesiredCenterFrequency = 2.45 e9;%在赫兹中心频率开关txsim.SDRDeviceName情况下“AD936x”txsim.NTxAnts= 2;%的发送天线数量% txsim。NTxAnts = 1;情况下“FMCOMMS5”txsim.NTxAnts= 4;否则错误(“未知的特别提款权设备:% s”,txsim.SDRDeviceName);结束% txsim。NTxAnts = 1;
可视化的好处使用多通道传输和接收单通道,可以减少发射机增益参数影响接收到的波形的质量。例如,设置txsim。获得-20年而不是-10年。调整这个值取决于你的天线配置。
% TX增益参数:txsim。获得= -10;
创建特别提款权发射机系统对象与指定的属性。
sdrTransmitter = sdrtx (txsim.SDRDeviceName);
准备图像文件
从图像文件中读取数据的例子中,尺度传播,并将其转换为二进制数据流。
传输图像的大小直接影响LTE无线帧的数量需要传输的图像数据。的比例因子规模= 0.5
需要五个LTE无线帧传输。增加比例因子导致更多的帧传输;减少比例因子减少帧的数量。
%的输入图像文件并转换为二进制流fileTx =“peppers.png”;%图像文件的名字fData = imread (fileTx);%从文件读取图像数据规模= 0.5;%图像比例因子origSize =大小(fData);%原始输入图像大小scaledSize = max(地板(规模。* origSize (1:2)), 1);%计算新的图像大小heightIx = min(圆(((1:scaledSize(1)) -0.5)。/规模+ 0.5),origSize (1));widthIx = min(圆(((1:scaledSize(2)) -0.5)。/规模+ 0.5),origSize (2));fData = fData (heightIx、widthIx:);%调整图像imsize =大小(fData);%存储新图像大小binData = dec2bin (fData (:), 8);%转换为8位无符号二进制trData =重塑((binData -' 0 ')。1 [])。”;%创建二进制流
显示图像文件传输的例子。成功接收和解码图像文件时,接收到的例子显示图像。
%情节传输图像图(imFig);imFig。可见=“上”;次要情节(211);imshow (fData);标题(“传播形象”);次要情节(212);标题(“收到形象将出现在这里……”);集(gca),“可见”,“关闭”);%隐藏轴甘氨胆酸组(findall (,“类型”,“文本”),“可见”,“上”);%显示标题暂停(1);%停下来情节Tx的形象
LTE生成基带信号
中定义的示例使用默认配置参数TS36.101附件出具(1)添加一个空间来生成一个RMC使用lteRMCDL
(LTE工具箱)。参数在配置结构rmc
可以根据需要定制。生成一个基带波形的例子中,eNodeBOutput
一个完全填充的网格资源,txGrid
,RMC使用的配置lteRMCDLTool
(LTE工具箱)。创建的示例使用二进制数据流从输入图像文件trData
作为传输编码的输入,包成多个物理下行共享信道中的传输块(PDSCH)。传输帧生成的数量取决于图像的缩放设置在导入图像文件。
%创建RMCrmc = lteRMCDL (txsim.RC);%计算所需数量的基于LTE帧的大小%图像数据trBlkSize = rmc.PDSCH.TrBlkSizes;txsim。TotFrames =装天花板(元素个数(trData) /笔(trBlkSize (:)));%定制RMC参数rmc。NCellID = txsim.NCellID;rmc。NFrame = txsim.NFrame;rmc。TotSubframes = txsim.TotFrames * 10;% 10每帧子帧rmc。CellRefP = txsim.NTxAnts;%配置数量的细胞参考港口rmc.PDSCH。RVSeq = 0;%子帧5填充虚拟数据rmc。OCNGPDSCHEnable =“上”;rmc。OCNGPDCCHEnable =“上”;%如果传输两个渠道实现发射分集如果rmc。CellRefP rmc.PDSCH > = 2。TxScheme =“TxDiversity”;rmc.PDSCH。NLayers = txsim.NTxAnts;rmc.OCNGPDSCH。TxScheme =“TxDiversity”;结束流(“\ nGenerating LTE传输波形:\ n”)流(的包装图像数据到% d (s)。\ n \ n”,txsim.TotFrames);%把图像数据到一个单独的LTE框架[eNodeBOutput txGrid, rmc] = lteRMCDLTool (rmc trData);
生成LTE传输波形:包装图像数据为5帧(s)。
准备传输
发射机使用transmitRepeat
功能不断传输基带LTE波形在一个循环的DDR内存Zynq-based广播平台。发射机的例子显示了应用通道映射基于天线的数量。
sdrTransmitter。BasebandSampleRate = rmc.SamplingRate;% 15.36议员默认RMC (R.7)% 10赫兹的带宽sdrTransmitter。CenterFrequency = txsim.DesiredCenterFrequency;sdrTransmitter。获得= txsim.Gain;sdrTransmitter。ShowAdvancedProperties = true;sdrTransmitter。BypassUserLogic = true;%应用TX通道映射如果txsim.NTxAnts== 2 fprintf(设置通道映射”[1 - 2]”。\ n \ n”);sdrTransmitter。ChannelMapping = [1, 2];elseiftxsim.NTxAnts== 4 fprintf(设置通道映射”(1 2 3 4)”。\ n \ n”);sdrTransmitter。ChannelMapping = (1、2、3、4);其他的流(“1”的设置通道映射。\ n \ n”);sdrTransmitter。ChannelMapping = 1;结束%范围内更好的功率输出的信号。powerScaleFactor = 0.8;如果txsim.NTxAnts>= 2为我= 1:txsim。NTxAnts eNodeBOutput(:,我)= eNodeBOutput(:,我)。* (1 / max (abs (eNodeBOutput(:,我)))* powerScaleFactor);结束其他的eNodeBOutput = eNodeBOutput。* (1 / max (abs (eNodeBOutput)) * powerScaleFactor);结束% int16——把传输信号%这是原生格式的特别提款权的硬件。eNodeBOutput = int16 (eNodeBOutput * 2 ^ 15);
设置通道映射[1 - 2]。
重复使用特别提款权硬件传输
的transmitRepeat
函数传输基带LTE SDR平台的传输和存储的信号样本硬件内存。例传输波形不断在空中没有差距,直到发射机系统对象被释放。这个函数显示一条消息,确认成功传输已经开始。
transmitRepeat (sdrTransmitter eNodeBOutput);
# #建立连接硬件。这个过程可能要花上几秒钟的时间。# #波形传播已经开始成功,将重复下去。# #调用释放方法停止传输。
接收机设计:系统架构
LTE接收机的总体结构由以下步骤组成:
捕获一个合适的帧数LTE传输信号的使用特别提款权硬件。
确定和正确的接收信号的频率偏移。
同步捕获的信号一个LTE帧的开始。
OFDM解调接收信号得到一个LTE资源网格。
对接收信号进行信道估计。
解码PDSCH和DL-SCH得到传播的每个广播帧传输的数据块。
重组收到传输数据块接收到的图像。
这个示例图捕获的波形,功率谱密度的显示了估计信道的可视化,使相等PDSCH符号,和接收图像。
设立特别提款权接收机
的rxsim
结构控制特别提款权接收机系统对象的属性。接收机的采样率为15.36 mhz,即标准采样率捕获一个50 LTE带宽资源块(苏格兰皇家银行)。50个苏格兰皇家银行相当于一个信号的带宽10 MHz。
%的用户定义的参数——配置一样的发射机rxsim =结构;rxsim。RadioFrontEndSampleRate = sdrTransmitter.BasebandSampleRate;%的配置相同的采样率%作为发射机rxsim。RadioCenterFrequency = txsim.DesiredCenterFrequency;rxsim。NRxAnts = txsim.NTxAnts;rxsim。FramesPerCapture = txsim.TotFrames + 1;%的LTE帧捕获。%捕捉1比传送到LTE框架%允许时间抵消概括……rxsim.numCaptures= 1;%的捕获%派生参数samplesPerFrame = 10 e - 3 * rxsim.RadioFrontEndSampleRate;% LTE帧周期是10 mscaptureTime = rxsim。FramesPerCapture * 10 e - 3;% LTE帧周期是10 ms
创建一个特别提款权接收机系统对象的specied属性用于图像传输设备。
rxsim。SDRDeviceName = txsim.SDRDeviceName;sdrReceiver = sdrrx (rxsim.SDRDeviceName);sdrReceiver。BasebandSampleRate = rxsim.RadioFrontEndSampleRate;sdrReceiver。CenterFrequency = rxsim.RadioCenterFrequency;sdrReceiver。OutputDataType =“双”;sdrReceiver。ShowAdvancedProperties = true;sdrReceiver。BypassUserLogic = true;%配置RX通道映射sdrReceiver。ChannelMapping = 1: rxsim.NRxAnts;
建立了LTE接收机
简化了的例子LTE信号接收通过假设传播PDSCH属性是已知的。FDD双工模式和一个正常的循环前缀长度也假定以及四个特异性参考港口(CellRefP)主信息块(MIB)解码。所提供的实际CellRefP MIB的数量。详细的例子如何执行一个盲人LTE手机搜索和恢复基本系统信息从一个LTE波形,看到LTE接收机与模拟设备™AD9361 / AD9364的例子。
enb。PDSCH = rmc.PDSCH;enb。DuplexMode =“FDD”;enb。CyclicPrefix =“正常”;enb。CellRefP = 4;
信号的采样率控制捕获的带宽。苏格兰皇家银行(RBs)捕获的数量从一个查找表使用选定的采样率。
%的带宽:{1.4 MHz, 3兆赫,5 MHz, 10 MHz, 20 MHz}SampleRateLUT = (1.92 3.84 - 7.68 15.36 - 30.72) * 1 e6;NDLRBLUT = 15 25 50 100 [6];enb。NDLRB = NDLRBLUT (SampleRateLUT = = rxsim.RadioFrontEndSampleRate);如果isempty (enb.NDLRB)错误(的采样率不受支持的。金宝app金宝app支持率% s。,…“1.92 MHz, 3.84 MHz, 7.68 MHz, 15.36 MHz, 30.72 MHz的);结束流(“\ nSDR硬件配置采样率捕获% d LTE苏格兰皇家银行。\ n ',enb.NDLRB);
特别提款权硬件采样率配置为捕获50 LTE苏格兰皇家银行。
信道估计是配置为使用特异性执行参考信号。9-by-9平均窗口是用来减少噪声的影响。
%信道估计配置结构cec。PilotAverage =“UserDefined”;%的试点,平均象征cec。FreqWindow = 9;在REs %频率窗口大小cec。TimeWindow = 9;在REs %时间窗口大小cec。InterpType =“立方”;% 2 d插值类型cec。InterpWindow =“中心”;%插值窗口类型cec。InterpWinSize = 3;%插值窗口大小
捕获并处理信号
例子使用while循环捕获和解码的LTE帧。作为LTE波形不断传输空气在一个循环中,第一帧被接收方不保证是第一帧传输。这可能意味着帧解码序列。使接收到的帧重组以正确的顺序,必须确定他们的帧数。MIB信息包含在当前系统的帧数,因此必须解码。帧数后确定,解码PDSCH DL-SCH和显示的例子使相等PDSCH符号。没有数据传输子帧5;因此,获取的数据解码为子帧将被忽略。的功率谱密度(PSD)捕获的波形绘制显示接收到的LTE传播。
LTE框架已经成功解码时,示例显示一帧一帧的基础上检测到帧数和平衡的PDSCH符号为每个子帧的星座。示例还显示估计细胞之间的信道频率响应级参考点0和每一帧的接收天线。
enbDefault = enb;而rxsim.numCaptures%设置默认LTE参数enb = enbDefault;%特别提款权捕获流(“\ nStarting新的射频捕获。\ n \ n”)% rxWaveform持有| rxsim。FramesPerCapture |连续帧数的价值%的连续基带LTE样本。rxWaveform =捕获(sdrReceiver captureTime,“秒”);如果rxsim。NRxAnts spectrumScope > 1。ShowLegend = true;%打开传说频谱分析仪spectrumScope。ChannelNames = cellfun (@ (x) [“特别提款权频道”num2str (x)], num2cell (1:4),“UniformOutput”、假);结束%显示功率谱密度的捕获破裂spectrumScope。SampleRate = rxsim.RadioFrontEndSampleRate;spectrumScope (rxWaveform);%为已知的细胞ID执行频率偏移校正frequencyOffset = lteFrequencyOffset (enb rxWaveform);rxWaveform = lteFrequencyCorrect (enb rxWaveform frequencyOffset);流(“\ nCorrected %我赫兹的频率偏移。\ n”frequencyOffset)%执行盲人细胞搜索获得细胞身份和定时偏移量%使用‘PostFFT SSS检测方法来提高速度cellSearch。SSSDetection =“PostFFT”;cellSearch。MaxCellCount = 1;[NCellID, frameOffset] = lteCellSearch (rxWaveform, enb cellSearch);流(检测到一个细胞%我。\ n”的身份,NCellID);enb。NCellID = NCellID;从lteCellSearch %%同步捕获的样本LTE帧的开始,和修剪%的样本是一个不完整的框架的一部分。rxWaveform = rxWaveform (frameOffset + 1:最终,);tailSamples =国防部(长度(rxWaveform), samplesPerFrame);rxWaveform = rxWaveform (1: end-tailSamples,:);enb。NSubframe = 0;流(%的纠正时间抵消我样本。\ n”frameOffset)% OFDM解调rxGrid = lteOFDMDemodulate (enb rxWaveform);%完成信道估计为4 CellRefP目前我们不%知道CellRefP eNodeB。[命令,巢]= lteDLChannelEstimate (cec, enb rxGrid);sfDims = lteResourceGridSize (enb);Lsf = sfDims (2);每个子帧% OFDM符号LFrame = 10 * Lsf;% OFDM符号每帧numFullFrames = (rxWaveform) / samplesPerFrame长度;rxDataFrame = 0(总和(enb.PDSCH.TrBlkSizes (:)), numFullFrames);recFrames = 0 (numFullFrames, 1);rxSymbols = [];txSymbols = [];%对每一帧解码MIB, PDSCH DL-SCH为帧= 0:(numFullFrames-1)流(“\ nPerforming DL-SCH解码帧% %的我在破裂:\ n”,…框架+ 1,numFullFrames)%从每一帧中提取子帧# 0获得资源的网格%和信道估计。enb。NSubframe = 0;rxsf = rxGrid(:,帧* LFrame + (1: Lsf):);hestsf =命令(:,帧* LFrame + (1: Lsf):,:);% PBCH解调。提取资源元素(REs)% PBCH从收到对应网格和通道%估计网格进行解调。enb。CellRefP = 4;pbchIndices = ltePBCHIndices (enb);[pbchRx, pbchHest] = lteExtractResources (pbchIndices、rxsf hestsf);mib, ~, ~, nfmod4 CellRefP] = ltePBCHDecode (pbchHest, enb, pbchRx巢);%如果PBCH解码成功CellRefP ~ = 0然后更新信息如果~ CellRefP流(“没有发现PBCH框架。\ n”);继续;结束enb。CellRefP = CellRefP;从ltePBCHDecode %%解码得到当前帧数的MIBenb = lteMIB (mib, enb);%将nfmod4值的输出函数% ltePBCHDecode, NFrame MIB的价值了%是系统帧数模4。enb。NFrame = enb.NFrame + nfmod4;流(“成功的MIB解码。\ n”)流(“帧数:% d。\ n”,enb.NFrame);% eNodeB传输带宽可能大于%捕获带宽,因此限制了带宽进行处理enb。NDLRB = min (enbDefault.NDLRB enb.NDLRB);%商店收到的帧数recFrames(框架+ 1)= enb.NFrame;%过程子帧内帧(忽略子帧5)为科幻小说= 0:9如果科幻小说~ = 5%忽略子帧5%提取子帧enb。NSubframe =科幻小说;rxsf = rxGrid(:,帧* LFrame +科幻* Lsf + (1: Lsf):);%完成信道估计CellRefP的正确数量[hestsf, nestsf] = lteDLChannelEstimate (cec, enb rxsf);% PCFICH解调。提取REs PCFICH对应%从收到电网对解调和信道估计。pcfichIndices = ltePCFICHIndices (enb);[pcfichRx, pcfichHest] = lteExtractResources (pcfichIndices、rxsf hestsf);[cfiBits, recsym] = ltePCFICHDecode (pcfichRx, enb pcfichHest, nestsf);% CFI解码enb。CFI = lteCFIDecode (cfiBits);%得到PDSCH指数[pdschIndices, pdschIndicesInfo] = ltePDSCHIndices (enb, enb。PDSCH enb.PDSCH.PRBSet);[pdschRx, pdschHest] = lteExtractResources (pdschIndices、rxsf hestsf);%执行deprecoding层demapping解调% descrambling接收的数据使用的估计%的通道[rxEncodedBits, rxEncodedSymb] = ltePDSCHDecode (enb.PDSCH, enb pdschRx,…pdschHest nestsf);%附加解码符号流rxSymbols = [rxSymbols;rxEncodedSymb {}):;% #好< AGROW >%的传输块大小outLen = enb.PDSCH.TrBlkSizes (enb.NSubframe + 1);%下行共享信道解码(DL-SCH)[decbits{科幻+ 1},blkcrc(科幻+ 1)= lteDLSCHDecode (enb enb.PDSCH,…outLen rxEncodedBits);% #好< SAGROW >%重新编码传输PDSCH符号为维生素与计算%编码传输DLSCHtxRecode = lteDLSCH (enb enb.PDSCH、pdschIndicesInfo.G decbits{科幻+ 1});%调制传输PDSCHtxRemod = ltePDSCH (enb, enb。PDSCH txRecode);%解码传输PDSCH[~,refSymbols] = ltePDSCHDecode (enb, enb。PDSCH txRemod);%编码符号添加到流中txSymbols = [txSymbols;refSymbols {}):;% #好< AGROW >释放(星座);%发布之前的星座图星座(rxEncodedSymb {:});%的阴谋当前的星座暂停(0);%让星座重画结束结束%重组解码比特流(“检索解码传输数据块。\ n”);rxdata = [];为i = 1:长度(decbits)如果我~ = 6%忽略子帧5rxdata = [rxdata;decbits{我}{}):;% #好< AGROW >结束结束%从接收帧存储数据rxDataFrame(:,框架+ 1)= rxdata;%绘制CellRefP 0和接收天线之间的信道估计focalFrameIdx =帧* LFrame + (1: LFrame);图(hh);hh。可见=“上”;focalFrameIdx冲浪(abs(命令(:,1,1)));阴影平;包含(“OFDM符号指数”);ylabel (“副载波指数”);zlabel (“级”);标题(“估计的信道频率响应级”);结束rxsim.numCaptures= rxsim.numCaptures-1;结束%释放发射器和接收器对象一旦接收完成释放(sdrTransmitter);释放(sdrReceiver);
开始一个新的射频捕获。# #建立连接硬件。这个过程可能要花上几秒钟的时间。修正-1.957750 e-01赫兹的频率偏移。88年发现细胞的身份。纠正时机抵消43665样品。执行DL-SCH第一帧的解码破裂5:成功的MIB解码。帧数:704。检索解码传输数据块。执行DL-SCH第二帧的解码破裂5:成功的MIB解码。 Frame number: 700. Retrieving decoded transport block data. Performing DL-SCH Decode for frame 3 of 5 in burst: Successful MIB Decode. Frame number: 701. Retrieving decoded transport block data. Performing DL-SCH Decode for frame 4 of 5 in burst: Successful MIB Decode. Frame number: 702. Retrieving decoded transport block data. Performing DL-SCH Decode for frame 5 of 5 in burst: Successful MIB Decode. Frame number: 703. Retrieving decoded transport block data.
资格和显示结果
确定接收的数据的质量,为例计算了比特误码率(BER)之间的传输和接收数据。接收到的数据然后被改造成一个图像和显示。
%确定第一帧传输指数(最低收到的帧数)[~,frameIdx] = min (recFrames);流(“\ nRecombining收到数据块:\ n”);decodedRxDataStream = 0(长度(rxDataFrame (:)), 1);frameLen =大小(rxDataFrame, 1);%重组接收的数据块(在正确的顺序)连续流为n = 1: numFullFrames currFrame = mod (frameIdx-1 numFullFrames) + 1;%得到当前帧索引decodedRxDataStream ((n - 1) * frameLen + 1: n * frameLen) = rxDataFrame (:, currFrame);frameIdx = frameIdx + 1;%增加帧索引结束%进行维生素与计算如果~ isempty (rxSymbols) evmCalculator = comm.EVM ();evmCalculator。MaximumEVMOutputPort = true;[evm.RMS,维生素。峰]= evmCalculator (txSymbols rxSymbols);流(“维生素与峰值= % 0.3 f % % \ n ',evm.Peak);流(“维生素与RMS = % 0.3 f % % \ n ',evm.RMS);其他的流(“没有解码传输块。\ n”);结束%执行比特误码率(BER)计算bitErrorRate = comm.ErrorRate;呃= bitErrorRate (decodedRxDataStream(1:长度(trData)), trData);流(的误比特率(BER) = % 0.5 f。\ n ',犯错(1));流(“有些错误的数量= % d。\ n”犯错(2));流(的传输比特数= % d。\ n '长度(trData));%从接收的数据重建图像流(“\ nConstructing形象从接收的数据。\ n”);str =重塑(sprintf (' % d 'decodedRxDataStream(1:长度(trData))), 8 [])。';decdata = uint8 (bin2dec (str));receivedImage =重塑(decdata imsize);%的阴谋得到图像如果存在(“imFig”,“var”)& & ishandle (imFig)%如果TX图是开放的图(imFig);次要情节(212);其他的图;次要情节(212);结束imshow (receivedImage);标题(sprintf (“收到图片:% dx % d天线配置”,txsim。NTxAnts rxsim.NRxAnts));
重组收到数据块:维生素与维生素与RMS = = 7.025% 0.812%的误比特率(BER) = 0.00000。一些错误的数量= 0。传输的比特数= 1179648。从接收的数据构造图像。
尝试的东西
默认情况下,示例使用两根天线的发射和接受LTE波形。根据你的硬件,您可以修改特别提款权发射机和接收机使用单个或四天线。观察维生素和误码率的差异信号接收和处理后,可以降低发射机获得。检查任何错误显示收到的图像。
故障诊断的例子
特别提款权的更多信息在故障诊断硬件和通信工具箱支持包Xilinx Zynq-Based广播,看看金宝app常见问题和修复。
选定的参考书目
3 gpp TS 36.191。“用户设备(UE)无线电发射和接受。”3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA).