主要内容

LTE接收器使用ADIM DEVICESAD AD9361 / AD9364

本示例展示了如何使用基于Xilinx®zynq的无线电支持包与MATLAB®和LTE Toolbox™解码主信息块(M金宝appIB),并从LTE波形恢复基本系统信息。一个合适的信号接收可以由同伴产生LTE发射器使用ADIM Devices AD9361 / AD9364例如,如果您有第二个SDR平台。

指的是引导主机无线电硬件设置有关配置主计算机的详细信息,请使用基于Xilinx Zynq的无线电的支持包。金宝app

介绍

LTE工具箱提供用于解码LTE波形的功能和工具。此示例显示了如何使用SDR无线电硬件捕获LTE波形,例如基于Xilinx Zynq的无线电,并且被解码以恢复基本系统信息。

在LTE中,主信息块(MIB)被携带在广播信道(BCH)中。MIB提供了系统带宽和帧数等基本的单元范围设置。本例对捕获帧的突发解码MIB,然后解码每个子帧的控制格式指示器(CFI),它通知用户设备(UE)控制区域的大小。然后对物理下行控制通道(PDCCH)进行解码。这些步骤是UE与单元格关联所需的第一个步骤。给出了一个鲁棒单元搜索和系统信息获取过程的详细实例小区搜索,MIB和SIB1恢复(LTE工具箱)

BCH在LTE传输的中间六个资源块(RBS)中传输,因此无论小区带宽如何,都需要仅1.92 MHz的捕获带宽来解码MIB。仅需要帧的子帧#0来解码MIB,但此示例将解调每个整个帧以进行可视化和分析。

设置

这个例子需要LTE Toolbox才能运行。运行本示例前,请确保已执行以下步骤。

  1. 配置主计算机以使用基于Xilinx Zynq的无线电的支持包。金宝app看引导主机无线电硬件设置求助。如果要从单个主机运行两个无线电,则可能需要一些其他步骤。看连接到一个主机的两个无线电设置求助。

  2. 确保您有合适的信号接收。这个例子旨在与...合作LTE发射器使用ADIM Devices AD9361 / AD9364例子。

  3. 你可以在AD936x或FMCOMMS5无线电硬件上使用这个例子。缺省情况下,该示例配置为与AD936x一起运行。要配置FMCOMMS5的示例,必须使用comm.SDRRxFMCOMMS5对象,而不是comm.SDRRxAD936x对象。要更新FMCOMMS5的示例,请遵循内联注释中的说明。

%检查LTE工具箱是否已安装,是否有有效的许可证如果isempty(ver('lte')))%检查LST安装错误(“zynqRadioLTEReceiver: NoLST”'请安装LTE工具箱以运行此示例。');eleesif〜许可证('测试''lte_toolbox'%检查是否存在有效的许可证错误(“zynqRadioLTEReceiver: NoLST”“需要LTE工具箱的有效许可证才能运行此示例。”);结尾

接收器设计:系统架构

LTE接收器的一般结构可以描述如下:

  1. 使用SDR硬件捕获LTE信号的合适数量的LTE信号帧

  2. 确定并校正接收信号的频率偏移量

  3. 执行盲目的小区搜索以确定小区标识

  4. 将捕获的信号同步到LTE帧的开始

  5. OFDM解调接收信号以获取LTE资源网格

  6. 对接收信号执行信道估计

  7. 解码每个捕获帧的MIB以确定单元格设置

  8. 对捕获信号中的每个子帧进行解码CFI和PDCCH

  9. 重复上述所有步骤所需的次数

该实施例绘制捕获波形的功率谱密度,并且对于每个帧,显示所接收的LTE资源网格,估计的信道和均等的PBCH符号的赖名。

接收器设置

使用在中定义的参数控制接收器处方结构。接收器的采样率为1.92 MHz,这是捕获6个资源块(RBs)的LTE带宽的标准采样率。6 RBs相当于1.4 MHz的信号带宽。你可以增加rx.numCaptures参数捕获更多帧突发。每次捕获五个LTE帧。

%用户定义的参数rxsim.radiofrontendsamplere = 1.92e6;%配置为1.92 MHz捕获带宽rxsim。RadioCenterFrequency = 2.45 e9;rxsim。RadioChannelMapping = 1;rxsim。FramesPerCapture = 5;%捕获的连续LTE帧数rxsim.numcaptures = 1;%捕获次数%派生参数SamplesPerframe = 10e-3 * rxsim.radiofrontendsamplerve;%LTE帧周期为10 msCaptureTime = rxsim.framespercapture * 10e-3;%LTE帧周期为10 ms

此示例使用无线电硬件通信使用comm.SDRRxAD936x系统对象。

rxsim。SDRDeviceName ='ad936x';%要更新FMComms5的示例,set | rxsim.sdrdeviceName |至%|'fmcomms5'|。无线电= sdrdev(rxsim.sdrdevicename);sdreceiver = sdrrx(...rxsim.sdrdevicename,...'IP地址''192.168.3.2'...“BasebandSampleRate”,rxsim.radiofrontendsamplate,...'中心罚款',rxsim.radiocenterfrequency,...'channelmapping', rxsim。RadioChannelMapping,...'outputdatatype''双倍的'...'gainsource'“AGC快速攻击”...“ShowAdvancedProperties”, 真的,...“BypassUserLogic”,真正的);%Spectrum Viewer设置spectrumScope = dsp。简介(...'采样率',rxsim.radiofrontendsamplate,...'spectrumtype'的功率密度...'spectralaverages'10...'ylimits',[-130 -20],...'标题'“基带LTE信号频谱”...“YLabel”'功率谱密度');

LTE设置

用于解码MIB的参数包含在结构中eNB.。假设FDD双工模式和正常循环前缀长度。假设用于MIB解码的四个特定于单元格的参考端口(CellREFP)。MIB提供实际CellREFP的数量。

eNB.DuplexMode ='FDD';eNB.CyclicPrefix =.'普通的';enb。CellRefP = 4;

信号的采样率控制捕获的带宽。捕获的RBS数量是使用所选采样率从查找表获得的,并显示在命令窗口中。

%带宽:{1.4 MHz,3 MHz,5 MHz,10 MHz,20 MHz}Sampleratelut = [1.92 3.84 7.68 15.36 30.72] * 1E6;ndlrblut = [6 15 25 50 100];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');结尾fprintf('\ nsdr硬件采样速率被配置为捕获%d lte rbs。\ n',enb.ndlrb);
SDR硬件采样率被配置为捕获6个LTE RB。

使用特定于特定于特定的参考信号的信道估计配置。保守的9×9平均窗口用于最小化噪声的效果。

cec。FreqWindow = 9;资源元素中的%频率平均窗口(RES)cec。TimeWindow = 9;res中的%time平均窗口cec.interpype ='立方体';%三次插值cec。PilotAverage ='用户自定义';%飞行员平均方法cec.interpwindow ='中心';%插值窗口方法cec.Interpwinsize = 3;%同时插入最多3个子帧

信号捕获和处理

while循环用于捕获和解码LTE帧的突发。对每一帧捕获的MIB进行解码,如果成功,则对每一子帧的CFI和PDCCH进行解码,并显示信道估计和均衡的PDCCH符号。

%设置Constellation图表查看器,用于均衡的PDCCH符号constellation = comm.constellationdiagram('标题''均衡的PDCCH符号');频道估计图的%句柄channelestionsplot = figure('可见的''离开');enbdefault = eNB;rxsim.numcaptures.%设置默认LTE参数eNB = enbdefault;%特别提款权捕获fprintf('\ nstarting一个新的rf捕获。\ n'% rx波形保存|rxsim。FramesPerCapture|连续帧值占连续基带LTE样本的百分比。rxwaveform = capture(sdreceiver,capturetime,'秒');%显示捕获突发的功率谱密度光谱探测(RxWaveForm);%执行频率偏移校正frequencyOffset = lteFrequencyOffset (enb rxWaveform);rxWaveform = lteFrequencyCorrect (enb rxWaveform frequencyOffset);fprintf('修正了%g Hz的频率偏移。\n',频率处理)%盲小区搜索,获取小区身份和时间偏移%使用'Postfft's检测方法提高速度CELLEREARCH.SSSDETECTECTION =.'postfft';cellsearch.maxcellcount = 1;[ncellid,FrameOffset] = LTECellSearch(eNB,RxWaveForm,Cellsearch);fprintf('检测到%i的细胞标识。\ n',ncellid);enb.ncellid = ncellid;距离LTECellsearch..%将捕获的样本同步到LTE帧的开始,然后修剪关闭%是不完整框架的一部分的样本。rxwaveform = rxwaveform(frameoffset + 1:结束);tailsamples = mod(长度(rxwaveform),samplesperframe);rxwaveform = rxwaveform(1:尾尾穴);enb.nsubframe = 0;%OFDM解调rxGrid = lteOFDMDemodulate (enb rxWaveform);%执行4个CellRefP的信道估计,目前我们没有%知道eNodeB的CellREFP。[命令,巢]= lteDLChannelEstimate (cec, enb rxGrid);sfDims = lteResourceGridSize (enb);Lsf = sfDims (2);每个子帧的%OFDM符号LFRAME = 10 * LSF;每帧%OFDM符号numFullFrames = (rxWaveform) / samplesPerFrame长度;每个帧的%解码MIB和CFI为了frame = 0:(numFullFrames-1) fprintf(\n执行MIB Decode for frame %i of %i in burst…\n'...框架+ 1,numFullFrames)%从接收的资源网格的每帧中提取子帧#0%和频道估计。enb.nsubframe = 0;rxsf = rxgrid(:,frame * lframe +(1:lsf));hestsf = hest(:,frame * lframe +(1:lsf),::);% PBCH解调。提取资源元素(REs)从所接收的网格和频道对应于PBCH的%%估计网格解调。假设有4个单元特定的引用PBCH的%信号如最初的解码我们不知道实际值。enb。CellRefP = 4;pbchIndices = ltePBCHIndices (enb);[pbchRx, pbchHest] = lteExtractResources (pbchIndices、rxsf hestsf);mib, ~, ~, nfmod4 CellRefP] = ltePBCHDecode (pbchHest, enb, pbchRx巢);%如果PBCH解码成功的CellRefp〜= 0然后更新信息如果〜CellREFP FPRINTF('没有检测到帧的PBCH。\ n');继续;结尾%当PBCH解码成功后,对MIB进行解码,获取系统%信息,包括系统带宽eNB = LTEMIB(MIB,eNB);enb.cellrefp = cellrefp;百分比从ltepbchdecode.%包含来自函数的NFMOD4值输出%LTEPBCHDECODE,作为从MIB建立的NFRAME值%是系统帧号模数4。enb.nframe = enb.nframe + nfmod4;fprintf('成功的MIB解码。\ n')fprintf('帧号:%d。\ n',enb.nframe);% eNodeB传输带宽可能大于%捕获带宽,因此限制了处理的带宽enb.ndlrb = min(enbdefault.ndlrb,enb.ndlrb);帧内的%进程子帧为了SF = 0:9%提取子帧enb。NSubframe =科幻小说;rxsf = rxGrid(:,帧* LFrame +科幻* Lsf + (1: Lsf));%使用正确数量的CellREFP执行信道估计[hestsf,nestsf] = LtedlchanneLestimate(eNB,CEC,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);fprintf('子帧%D,解码的CFI值:%d。\ n',sf,eNB.CFI);% PDCCH解调。提取PDCCH对应的REs从收到的网格和频道估计的%解调。pdcchindices = ltepdcchindices(eNB);[pdcchrx,pdcchhest] = lteextractresources(pdcchindices,rxsf,hestsf);[pdcchbits,pdccheq] = ltepdcchdecode(eNB,pdcchrx,pdcchhest,nestsf);释放(星座);星座(PDCCHEQ);暂停(0);%允许星座重新粉刷结尾CellREFP 0和接收天线之间的%绘制频道估计focalframeIdx =帧* LFRAME +(1:LFRAME);设置(0,'curratfigure',信道,监督者);ChannelEstimatePlot.visible =.'上';冲浪(ABS(hest(:,focalframeidx,1,1)));Xlabel('OFDM符号索引');ylabel ('子载波索引');Zlabel('震级');标题('估计信道幅度频率repsonse');结尾rxsim.numcaptures = rxsim.numcaptures-1;结尾释放(sdrReceiver);%释放SDR接收器对象释放(spectrumScope);%释放频谱分析仪对象释放(星座);%释放星座图对象
开始新的射频捕获。##建立与硬件的连接。这个过程可能需要几秒钟。校正3.02934 Hz的频率偏移。检测到17的单元格标识。在突发中执行4帧的MIB解码...成功的MIB解码。帧号:700.子帧0,解码CFI值:3。子帧1,解码CFI值:3。子帧2,解码CFI值:3。子帧3,解码的CFI值:3。子帧4,解码的CFI值:3。子帧5,解码CFI值:3。子帧6,解码的CFI值:3。子帧7,解码的CFI值:3。子帧8,解码的CFI值:3。子帧9,解码的CFI值:3。为帧执行MIB解码爆发中的4个中有2个...成功的MIB解码。帧号:701.子帧0,解码CFI值:3。子帧1,解码CFI值:3。子帧2,解码CFI值:3。子帧3,解码的CFI值:3。子帧4,解码的CFI值:3。子帧5,解码CFI值:3。子帧6,解码的CFI值:3。子帧7,解码的CFI值:3。子帧8,解码的CFI值:3。子帧9,解码的CFI值:3。为帧执行MIB解码 3 of 4 in burst... Successful MIB Decode. Frame number: 702. Subframe 0, decoded CFI value: 3. Subframe 1, decoded CFI value: 3. Subframe 2, decoded CFI value: 3. Subframe 3, decoded CFI value: 3. Subframe 4, decoded CFI value: 3. Subframe 5, decoded CFI value: 3. Subframe 6, decoded CFI value: 3. Subframe 7, decoded CFI value: 3. Subframe 8, decoded CFI value: 3. Subframe 9, decoded CFI value: 3. Performing MIB Decode for frame 4 of 4 in burst... Successful MIB Decode. Frame number: 703. Subframe 0, decoded CFI value: 3. Subframe 1, decoded CFI value: 3. Subframe 2, decoded CFI value: 3. Subframe 3, decoded CFI value: 3. Subframe 4, decoded CFI value: 3. Subframe 5, decoded CFI value: 3. Subframe 6, decoded CFI value: 3. Subframe 7, decoded CFI value: 3. Subframe 8, decoded CFI value: 3. Subframe 9, decoded CFI value: 3.

要尝试的事情

同伴的例子LTE发射器使用ADIM Devices AD9361 / AD9364可以用来传输一个标准兼容的LTE波形,可以部分解码由这个例子。在附带的示例中,尝试更改单元身份和初始帧数,并观察本示例中检测到的单元身份和帧数。

此示例仅对基本系统信息进行解码。有关如何鲁布库利地解码更多物理频道的示例小区搜索,MIB和SIB1恢复(LTE工具箱)

排除示例故障

中可以找到解决特别提款权硬件故障的一般提示常见问题和修复