This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:tools-software:linux-software:libiio:clients:lte_example [14 Sep 2016 01:11] – [LTE Playback] Robin Getz | resources: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> | [[wp> | ||
- | [[wp> | + | [[wp>UMTS#W-CDMA_(UTRA-FDD)|W-CDMA (UMTS)]], |
[[wp> | [[wp> | ||
[[wp> | [[wp> | ||
Line 29: | Line 29: | ||
In this example, we introduce a development methodology for basic system verification for a [[wp> | In this example, we introduce a development methodology for basic system verification for a [[wp> | ||
+ | |||
+ | <note warning> | ||
===== Requirements ===== | ===== Requirements ===== | ||
Line 47: | Line 49: | ||
<wrap tip>If you want to enable a static IP, use the script found [[resources: | <wrap tip>If you want to enable a static IP, use the script found [[resources: | ||
- | ====== 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 |
- | 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/ | Setting up the AD9361 is done via the [[resources/ | ||
Line 69: | Line 72: | ||
{{resources/ | {{resources/ | ||
- | ==== 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> | This is very similar (exactly similar) to the example in the MATLAB documentation for [[mw> | ||
- | We will provide a few more pointers. | + | We will provide a few more pointers: |
- | * [[http:// | + | * [[https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * The MathWorks documentation talks about the "test model number", | ||
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 |
- | * 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 | + | * EVM for 1024QAM modulation at max power (E-UTRA Test Model 3.1b) |
+ | * EVM for 16QAM modulation | ||
+ | * EVM for QPSK modulation | ||
All should be generated for 20MHz, FDD, and we change the output variable three times ('' | All should be generated for 20MHz, FDD, and we change the output variable three times ('' | ||
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 // | ||
- | |||
- | <WRAP download> | ||
- | * [[https:// | ||
- | </ | ||
- | |||
- | 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 " | ||
- | |||
- | {{1ltemodel.png? | ||
- | |||
- | 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? | ||
- | |||
- | When the simulation is done (simulation time = 0.1), the simulation stops and it proceeds to call the StopFcn // | ||
- | |||
- | {{5stopfunction.png? | ||
- | |||
- | 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, | ||
- | {{3plots.png? | ||
- | The // | ||
- | {{4results.png? | ||
- | 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 // | + | ==== A Complete Example in MATLAB ==== |
- | + | Since the libiio interface is available in MATLAB, and the LTE System Toolbox runs in MATLAB environment, | |
- | 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? | + | |
- | + | ||
- | As a conclusion, in this model, the combination of AD-FMCOMMS2/ | + | |
- | + | ||
- | ===== A Complete Example in MATLAB | + | |
- | The previous section introduces streaming LTE data over Ethernet in Simulink. | + | |
The MATLAB version LTE example can be found here: | The MATLAB version LTE example can be found here: | ||
<WRAP download> | <WRAP download> | ||
- | * [[https:// | + | * [[https:// |
</ | </ | ||
Line 177: | Line 153: | ||
</ | </ | ||
- | The main function is [[https:// | + | The main function is [[https:// |
* 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 ('' | * EVM ('' | ||
{{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 // | ||
+ | |||
+ | 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? | ||
+ | |||
+ | |||
+ | As a conclusion, in this model, the combination of AD-FMCOMMS2/ | ||
+ | |||
+ |