Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:tools-software:linux-software:libiio:clients:lte_example [14 Sep 2016 01:11] – [LTE Playback] Robin Getzresources:tools-software:linux-software:libiio:clients:lte_example [20 Jul 2021 00:46] (current) – [Introduction] Travis Collins
Line 16: Line 16:
 )).  Since most modern digital communication systems are almost all based on, or derived from a well-defined industry standard, ((such as  )).  Since most modern digital communication systems are almost all based on, or derived from a well-defined industry standard, ((such as 
 [[wp>GSM]],  [[wp>GSM]], 
-[[wp>W-CDMA_(UMTS)|W-CDMA (UMTS)]], +[[wp>UMTS#W-CDMA_(UTRA-FDD)|W-CDMA (UMTS)]], 
 [[wp>CDMA2000]],  [[wp>CDMA2000]], 
 [[wp>LTE_(telecommunication)|LTE]],  [[wp>LTE_(telecommunication)|LTE]], 
Line 29: Line 29:
  
 In this example, we introduce a development methodology for basic system verification for a [[wp>Long-Term Evolution]] (LTE) based system, consisting of an [[adi>AD-FMCOMMS3-EBZ]] RF transceiver board (that includes the [[adi>AD9361]]) along with a suite of software, which includes [[mw>products/lte-system/|MathWorks LTE System Toolbox]]. In this example, the baseband IQ waveforms are generated by [[mw>products/lte-system/|LTE System Toolbox]]. They are up converted to RF band by AD9361 and then transmitted over the air. On the other end, these RF signals are captured by AD-FMCOMMS3-EBZ, down converted to baseband and saved in the workspace. Consequently, these baseband signals are analyzed by [[mw>products/lte-system/|LTE System Toolbox]]. Typical RF/LTE performance characteristics such as [[wp>Error_vector_magnitude|Error Vector Magnitude]] (EVM) can be obtained. In this example, we introduce a development methodology for basic system verification for a [[wp>Long-Term Evolution]] (LTE) based system, consisting of an [[adi>AD-FMCOMMS3-EBZ]] RF transceiver board (that includes the [[adi>AD9361]]) along with a suite of software, which includes [[mw>products/lte-system/|MathWorks LTE System Toolbox]]. In this example, the baseband IQ waveforms are generated by [[mw>products/lte-system/|LTE System Toolbox]]. They are up converted to RF band by AD9361 and then transmitted over the air. On the other end, these RF signals are captured by AD-FMCOMMS3-EBZ, down converted to baseband and saved in the workspace. Consequently, these baseband signals are analyzed by [[mw>products/lte-system/|LTE System Toolbox]]. Typical RF/LTE performance characteristics such as [[wp>Error_vector_magnitude|Error Vector Magnitude]] (EVM) can be obtained.
 +
 +<note warning>This example is deprecated. Please switch to Transceiver Toolbox</note>
  
 ===== Requirements ===== ===== Requirements =====
Line 47: Line 49:
  
 <wrap tip>If you want to enable a static IP, use the script found [[resources:eval:user-guides:ad-fmcomms2-ebz:software:linux:applications:shell_scripts|here]] </wrap> <wrap tip>If you want to enable a static IP, use the script found [[resources:eval:user-guides:ad-fmcomms2-ebz:software:linux:applications:shell_scripts|here]] </wrap>
-====== Methods ======+ 
 +===== Methods =====
  
 Like all engineering solutions, there are many different ways to implement and automate a specific task. Here we will review two different methods,  Like all engineering solutions, there are many different ways to implement and automate a specific task. Here we will review two different methods, 
   * manual file copying, MATLAB command line   * manual file copying, MATLAB command line
-  * ethernet based, system object plus Simulink Model which automates everything.+  * ethernet based, system object plus MATLAB example which automates everything.
  
-The specific solution which is most appropriate for your task at hand depends on what limitations you might face (like your IS department not wanting to connect Ethernet to the Xilinx development platforms), or your familiarity with Simulink.+The specific solution which is most appropriate for your task at hand depends on what limitations you might face (like your IS department not wanting to connect Ethernet to the Xilinx development platforms), or your familiarity with MATLAB.
  
-===== Using File I/O =====+==== Using File I/O ====
  
 This part of the example we do things by hand, and copy files around via USB or SD Card or Network. There are many labs where moving things around via USB is the only way to connect instruments. This part of the example we do things by hand, and copy files around via USB or SD Card or Network. There are many labs where moving things around via USB is the only way to connect instruments.
  
-==== Setting up the AD9361 ====+=== Setting up the AD9361 ===
  
 Setting up the AD9361 is done via the [[resources/eval/user-guides/ad-fmcomms2-ebz/software/filters|AD9361 Wizard]]. This will set the sample rate, and RF bandwidth for the signal you want to send.  Setting up the AD9361 is done via the [[resources/eval/user-guides/ad-fmcomms2-ebz/software/filters|AD9361 Wizard]]. This will set the sample rate, and RF bandwidth for the signal you want to send. 
Line 69: Line 72:
 {{resources/eval/user-guides/ad-fmcomms2-ebz/software/15tozynq.png?600|Block diagram}}  {{resources/eval/user-guides/ad-fmcomms2-ebz/software/15tozynq.png?600|Block diagram}} 
  
-==== LTE Playback ====+=== LTE Playback ===
  
 === Creating a LTE Signal in MATLAB === === Creating a LTE Signal in MATLAB ===
Line 75: Line 78:
 This is very similar (exactly similar) to the example in the MATLAB documentation for [[mw>help/lte/ref/ltetestmodeltool.html|lteTestModelTool]]. This is very similar (exactly similar) to the example in the MATLAB documentation for [[mw>help/lte/ref/ltetestmodeltool.html|lteTestModelTool]].
  
-We will provide a few more pointers. +We will provide a few more pointers: 
-  * [[http://www.etsi.org/deliver/etsi_ts/136100_136199/136141/12.05.00_60/ts_136141v120500p.pdf|ETSI TS 136 141 Specification]] The MathWorks documentation talks about the "test model number", as having options of '1.1', '1.2', '2', '3.1', '3.2', and '3.3'. These numbers are the [[wp>E-UTRA|E-UTRA]] Test Model numbers, and are referenced as ''E-TMn.n'' in section 6 of the pdf. Care should be taken to ensure that the proper test waveform is generated for the proper tests. (i.e. E-UTRA Test Models 1.1 & 1.2 should not be used for EVM testing).+  * [[https://www.etsi.org/|European Telecommunications Standards Institute]] write the Technical Specifications (TS) for LTE. They would include: 
 +    * [[https://www.etsi.org/deliver/etsi_ts/136100_136199/136104/15.03.00_60/ts_136104v150300p.pdf|ETSI TS 136 104 v15]] Base Station (BS) radio transmission and reception 
 +    * [[https://www.etsi.org/deliver/etsi_ts/136100_136199/136141/15.03.00_60/ts_136141v150300p.pdf|ETSI TS 136 141 v15]] Base Station (BS) conformance testing 
 +      * The MathWorks documentation talks about the "test model number", as having options of '1.1', '1.2', '2', '3.1', '3.2', and '3.3'. These numbers are the [[wp>E-UTRA|E-UTRA]] Test Model numbers, and are referenced as ''E-TMn.n'' in section 6 of the pdf. Care should be taken to ensure that the proper test waveform is generated for the proper tests. (i.e. E-UTRA Test Models 1.1 & 1.2 should not be used for EVM testing).
  
 Launch the tool to generate an E-UTRA Test Model (E-TM) waveform. In this case, we will generated a waveform for a few different tests. Launch the tool to generate an E-UTRA Test Model (E-TM) waveform. In this case, we will generated a waveform for a few different tests.
-  * EVM for 64QAM modulation (E-UTRA Test Model 3.1) +  * EVM for 64QAM modulation at max power (E-UTRA Test Model 3.1
-  * EVM for 16QAM modulation (E-UTRA Test Model 3.2) +  * EVM for 256QAM modulation at max power (E-UTRA Test Model 3.1a) 
-  * EVM for QPSK modulation  (E-UTRA Test Model 3.3)+  * EVM for 1024QAM modulation at max power (E-UTRA Test Model 3.1b)  
 +  * EVM for 16QAM modulation at max power (E-UTRA Test Model 3.2) 
 +  * EVM for QPSK modulation  at max power (E-UTRA Test Model 3.3)
 All should be generated for 20MHz, FDD, and we change the output variable three times (''QAM64'', ''QAM16'' and ''QPSK''). All should be generated for 20MHz, FDD, and we change the output variable three times (''QAM64'', ''QAM16'' and ''QPSK'').
  
Line 116: Line 124:
  
 That's it - you are now broadcasting LTE waveforms. That's it - you are now broadcasting LTE waveforms.
-==== LTE Recording  ====+=== LTE Recording  ===
  
 === Capturing a waveform via the osc application === === Capturing a waveform via the osc application ===
Line 126: Line 134:
  
  
-===== Streaming Data over Ethernet in Simulink ===== 
- 
-The model //ad9361_LTE.slx// can be found here: 
- 
-<WRAP download> 
-  * [[https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/LTE|LTE Transmitter and Receiver Model]] 
-</WRAP> 
- 
-The Simulink model is shown in the figure below. On the transmitter side, there is a pre-defined LTE waveform input to AD9361 by Signal From Workspace block. The waveform is a LTE downlink RMC model R.4, with 1.4 MHz bandwidth and 1.92 MHz sampling rate, so the RF_Bandwidth and Sampling_Freq of ad9361 block are set up accordingly. Besides, we set the LO_Freq at 2.45 GHz and the Gain_Mode of slow attack. On the receiver side, the received signal is saved to workspace by Signal to Workspace block. In this block, we specify the limit data points to last to be "19200*5", which is equivalent to the length of 5 frames of LTE data.  
- 
-{{1ltemodel.png?600|Block diagram}}  
- 
-With everything set up properly, we can run the model and see the time scope below, which shows the received LTE waveforms on I and Q channels. There are obvious intervals between frames. 
- 
-{{2timescope.png?600|Block diagram}} 
- 
-When the simulation is done (simulation time = 0.1), the simulation stops and it proceeds to call the StopFcn //LTEReceiver// defined in the model properties, as shown below:  
- 
-{{5stopfunction.png?300|Block diagram}}  
- 
-This function does a series of signal processing based on the 5 frames of captured data, including frequency offset correction, blind cell search, captured samples synchronization, OFDM demodulation, channel estimation, MIB and CFI decoding and etc. At the same time, it provides several graphical results, such as received spectrum, received constellation and channel estimate: 
    
-{{3plots.png?600|Block diagram}}  
  
-The //LTEReceiver// function also decodes bursts of LTE frames. For each captured frame, the MIB is decoded and if successful the CFI and the PDCCH for each subframe are decoded. To observe the results of decoding, go to "View - Diagnostic Viewer" from the menu bar of Simulink model. It will open a separate window as shown below, where you can see the results such as Tx/Rx frequency offset, cell identify and MIB decoding. Since the captured data length is equal to 5 frames, there are 4 **complete** LTE frames included, each one contains 10 subframes. 
  
-{{4results.png?300|Block diagram}}  
  
-One other important feature of this example is to calculate the EVM of the Tx and Rx, which provides a performance metric of the system. In this example, the EVM is calculated by //PDSCHEVM// function, which is based on [[mw>examples/lte-system/2906-pdsch-error-vector-magnitude-evm-measurement/|PDSCH Error Vector Magnitude (EVM) Measurement]]. +==== A Complete Example in MATLAB ==== 
- +Since the libiio interface is available in MATLAB, and the LTE System Toolbox runs in MATLAB environment, we can implement the whole transmitting and receiving process in MATLAB.
-In the Diagnostic Viewer window, the average EVM for a downlink RMC is displayed. First the results for low and high edge EVM are calculated for each subframe within a frame and their averages are displayed. The max of these averages is the EVM per frame. The final EVM for the downlink RMC is the average of the EVM across all frames, as highlighted below. According to the experiment, when the digital Tx - digital Rx loopback is used (RF bypassed), the overall EVM is around 0.077%. When a loopback cable is used between Tx and Rx (RF included), the overall EVM is below 2%.  +
- +
-{{6evmresults.png?300|Block diagram}}  +
- +
-As a conclusion, in this model, the combination of AD-FMCOMMS2/3 and [[mw>products/lte-system/|MathWorks LTE System Toolbox]] replaces the traditional test and measurement equipment, which makes the instrumentation and verification process more affordable and flexible. +
- +
-===== A Complete Example in MATLAB ===== +
-The previous section introduces streaming LTE data over Ethernet in Simulink. Since the libiio interface is also available in MATLAB, and the LTE System Toolbox runs in MATLAB environment, we can implement the whole transmitting and receiving process in MATLAB.+
  
 The MATLAB version LTE example can be found here: The MATLAB version LTE example can be found here:
  
 <WRAP download> <WRAP download>
-  * [[https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/LTE_MATLAB|MATLAB Version LTE Transmitter and Receiver Example]]+  * [[https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/legacy/LTE_MATLAB|MATLAB Version LTE Transmitter and Receiver Example]]
 </WRAP> </WRAP>
  
Line 177: Line 153:
 </WRAP> </WRAP>
  
-The main function is [[https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/LTE_MATLAB/ad9361_LTE.m|ad9361_LTE.m]]. This function mainly consists of four parts:+The main function is [[https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/legacy/LTE_MATLAB/ad9361_LTE.m|ad9361_LTE.m]]. This function mainly consists of four parts:
   * Pick up LTE parameters according to LTE Mode   * Pick up LTE parameters according to LTE Mode
   * Generate LTE Signal using LTE System Toolbox   * Generate LTE Signal using LTE System Toolbox
Line 206: Line 182:
   * EVM (''plots'' object)   * EVM (''plots'' object)
 {{evm.png|Block diagram}}  {{evm.png|Block diagram}} 
 +
 +One other important feature of this example is to calculate the EVM of the Tx and Rx, which provides a performance metric of the system. In this example, the EVM is calculated by //PDSCHEVM// function, which is based on [[mw>help/lte/ug/pdsch-error-vector-magnitude-evm-measurement.html|PDSCH Error Vector Magnitude (EVM) Measurement]].
 +
 +In the command window, the average EVM for a downlink RMC is displayed. First the results for low and high edge EVM are calculated for each subframe within a frame and their averages are displayed. The max of these averages is the EVM per frame. The final EVM for the downlink RMC is the average of the EVM across all frames, as highlighted below. According to the experiment, when the digital Tx - digital Rx loopback is used (RF bypassed), the overall EVM is around 0.077%. When a loopback cable is used between Tx and Rx (RF included), the overall EVM is below 2%. 
 +
 +{{6evmresults.png?300|Block diagram}} 
 +
 +
 +As a conclusion, in this model, the combination of AD-FMCOMMS2/3 and [[mw>products/lte-system/|MathWorks LTE System Toolbox]] replaces the traditional test and measurement equipment, which makes the instrumentation and verification process more affordable and flexible.
 +
 +
resources/tools-software/linux-software/libiio/clients/lte_example.txt · Last modified: 20 Jul 2021 00:46 by Travis Collins