This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:eval:user-guides:ad-fmcomms2-ebz:software:datafiles [18 Oct 2013 23:16] – [Data Verification] Di Pu | resources:eval:user-guides:ad-fmcomms2-ebz:software:datafiles [27 Jan 2021 22:20] (current) – use wp> interwiki links Robin Getz | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | In this section, we provide the reference data files of several frequently used digital baseband modulation schemes and their corresponding Simulink models. With these data files, you are ready to transmit them using FMComms2 and test your board. By changing the given Simulink models, you can easily generate your own data files. | + | <WRAP round important 65%> |
+ | This is work in progress, and is not yet 100% complete. | ||
+ | </ | ||
+ | |||
+ | In this section, we provide the reference data files of several frequently used digital baseband modulation schemes and their corresponding Simulink models. With these data files, you are ready to transmit them using the AD9361 found on the FMComms2 | ||
<WRAP round info 65%> | <WRAP round info 65%> | ||
Line 10: | Line 14: | ||
* DSP System Toolbox Version 8.5 | * DSP System Toolbox Version 8.5 | ||
</ | </ | ||
+ | |||
+ | ===== Data transfer ===== | ||
+ | |||
+ | Once files have been created by MATLAB/ | ||
+ | |||
===== QPSK ===== | ===== QPSK ===== | ||
Line 15: | Line 24: | ||
PSK is one type of the phase modulation (PM) schemes. In this section, two flavors of QPSK data are generated, one with raised cosine pulse shaping filters, and the other one without. | PSK is one type of the phase modulation (PM) schemes. In this section, two flavors of QPSK data are generated, one with raised cosine pulse shaping filters, and the other one without. | ||
- | Since we would like to transmit the QPSK at a sample rate of 20M Symbols/s with AD-FMCOMMS2, the sample time specified in " | + | Since we would like to transmit the QPSK at a sample rate of 20M Symbols/s with AD9361, the sample time specified in " |
==== QPSK without Pulse Shaping ==== | ==== QPSK without Pulse Shaping ==== | ||
Line 34: | Line 43: | ||
=== Data === | === Data === | ||
+ | <WRAP round info 65%> | ||
+ | Once the transmitted signals are in workspace, we use the following two lines to write them to a text file: | ||
+ | |||
+ | <code matlab> | ||
+ | newdata = [I1 Q1 I2 Q2]; | ||
+ | |||
+ | dlmwrite(' | ||
+ | </ | ||
+ | |||
+ | You open this text file and manually add the word " | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
<WRAP round download 80%> | <WRAP round download 80%> | ||
You can download the generated data from below: | You can download the generated data from below: | ||
Line 54: | Line 77: | ||
=== Model === | === Model === | ||
- | The figure below shows a QPSK transmission model with the pulse shaping filters. Since pulse shaping filters are often distributed as a matched pair between transmitter and receiver, we use the filter shape of ‘Square root’(([[http:// | + | The figure below shows a QPSK transmission model with the pulse shaping filters. Since pulse shaping filters are often distributed as a matched pair between transmitter and receiver, we use the filter shape of ‘Square root’(([[wp>Root-raised-cosine_filter|Root-raised-cosine filter]])). |
{{QPSKwithfilter.png? | {{QPSKwithfilter.png? | ||
Line 83: | Line 106: | ||
<WRAP round download 80%> | <WRAP round download 80%> | ||
You can download the generated data from below: | You can download the generated data from below: | ||
- | * {{qpskwithfilt_30.72mdata.zip}} | + | * {{qpskwithfilt_txt.zip}} |
The data rate is 30.72 MSPS. | The data rate is 30.72 MSPS. | ||
Line 91: | Line 114: | ||
==== Data Verification ==== | ==== Data Verification ==== | ||
- | Since there is no match filter on FMCOMMS2 receive path, the data obtained from FMCOMMS2 receiver side does not show the constellation of QPSK clearly. Therefore, by looking | + | Before you look at the IIO Oscilloscope (([[/ |
- | {{qpsk_osc.png?600}} | + | {{iiosetting_new.png?500}} |
+ | |||
+ | <WRAP round info 80%> | ||
+ | The DCXO setting can be different from board to board. You are suggested to find a proper setting using signal generator and spectrum analyzer in the lab. | ||
+ | </ | ||
+ | |||
+ | Since there is no match filter on AD9361 receive path, the data obtained from AD9361 receiver side does not show the constellation of QPSK clearly. Therefore, by simply looking at the ADI IIO Oscilloscope, | ||
+ | |||
+ | {{qpsk_osc_new.png? | ||
However, with the '' | However, with the '' | ||
- | {{savedata.png? | + | {{savedata.png? |
- | Before you save the data, make sure the sampling rate of ADC and DAC is set properly. In this example, we | ||
- | set the sample rate of ADC and DAC 2 times of the generated data rate (30.72 MSPS), which is 61.44 MSPS shown in the figure below. In this panel, there are quite a few other parameters you can tune, in order to get the optimal transmission and reception performance for your system. | ||
- | {{iiosetting.png? | ||
Given the received data, we can now proceed to the Simulink receiver model to verify the data. After you launch MATLAB and the receiver model '' | Given the received data, we can now proceed to the Simulink receiver model to verify the data. After you launch MATLAB and the receiver model '' | ||
- | In this model, the data rate is the same as the generated data rate (30.72 MSPS), and the receive filter is the match of the transmit filter. When looking at the IIO scope, we found the received signal from FMCOMMS2 | + | In this model, the data rate is the same as the generated data rate (30.72 MSPS), and the receive filter is the match of the transmit filter. When looking at the IIO scope, we found the constellation of the received signal from the AD9361 |
- | {{qpsk_waveform_verify.png?700}} | + | {{qpsk_waveform_verify_new.png?450}} |
<WRAP round download 80%> | <WRAP round download 80%> | ||
You can download the saved mat data file from below: | You can download the saved mat data file from below: | ||
- | * {{qpsk_3072.zip}} | + | * {{qpskwithfilt_mat.zip}} |
You can download the receiver model from below: | You can download the receiver model from below: | ||
- | * {{qpsk_receiver.zip}} | + | * {{qpsk_receiver_new.zip}} |
+ | |||
+ | Make sure you load the mat data file in the workspace first. Otherwise, the model will not run. | ||
The data rate is defined in the parameter '' | The data rate is defined in the parameter '' | ||
</ | </ | ||
Line 123: | Line 154: | ||
* Make the data rate consistent in data generation and receiver. | * Make the data rate consistent in data generation and receiver. | ||
* Set the IIO parameters properly, such as ADC and DAC sample rate. | * Set the IIO parameters properly, such as ADC and DAC sample rate. | ||
- | * Compensate for the phase offset occurred in FMCOMMS2. | + | * Compensate for the phase offset occurred in AD9361. |
</ | </ | ||
Line 153: | Line 184: | ||
==== Data Verification ==== | ==== Data Verification ==== | ||
- | Since there is no match filter on FMCOMMS2 | + | Since there is no match filter on AD9361 |
{{qam16.png? | {{qam16.png? | ||
Line 165: | Line 196: | ||
- | Given the received data, we can now proceed to the Simulink receiver model to verify the data. After you launch MATLAB and the receiver model '' | + | Given the received data, we can now proceed to the Simulink receiver model to verify the data. After you launch MATLAB and the receiver model '' |
{{qam16_verified.png? | {{qam16_verified.png? | ||
Line 177: | Line 208: | ||
===== MSK ===== | ===== MSK ===== | ||
- | MSK stands for minimum shift keying. It is one type of the continuous phase modulation (CPM) schemes (([[http:// | + | MSK stands for minimum shift keying. It is one type of the continuous phase modulation (CPM) schemes (([[wp>Minimum-shift_keying|Minimum-shift keying]])). In this section, we use "MSK Modulator Baseband" |
==== Model ==== | ==== Model ==== | ||
Line 202: | Line 233: | ||
==== Data Verification ==== | ==== Data Verification ==== | ||
- | Since there is no match filter on FMCOMMS2 | + | Since there is no match filter on AD9361 |
{{msk_osc.png? | {{msk_osc.png? | ||
Line 213: | Line 244: | ||
</ | </ | ||
- | Given the received data, we can now proceed to the Simulink receiver model to verify the data. After you launch MATLAB and the receiver model '' | + | Given the received data, we can now proceed to the Simulink receiver model to verify the data. After you launch MATLAB and the receiver model '' |
{{msk_receiver.png? | {{msk_receiver.png? | ||
Line 235: | Line 266: | ||
The figure below shows a LTE example according to the specifications developed by the Third Generation Partnership Project (3GPP). It highlights only the downlink physical channel (PDSCH) processing. | The figure below shows a LTE example according to the specifications developed by the Third Generation Partnership Project (3GPP). It highlights only the downlink physical channel (PDSCH) processing. | ||
- | Since LTE is a sophisticated standard, you are encouraged to read the Help Document of this example and its related references to get more information (([[http:// | + | Since LTE is a sophisticated standard, you are encouraged to read the Help Document of this example and its related references to get more information (([[mw>help/ |
{{LTE.png? | {{LTE.png? | ||
- | After you run the model, the transmitted data named " | + | After you run the model, the transmitted data named " |
<WRAP round download 80%> | <WRAP round download 80%> | ||
Line 246: | Line 277: | ||
</ | </ | ||
- | When the data is transmitted and received by real-world hardware, like FMComms2, it is difficult to observe the clear constellation without proper synchronization techniques. However, even with the basic settings, you are still expected to observe the transmit and receive spectrum, which is similar to the following: | + | When the data is transmitted and received by real-world hardware, like AD9361 |
{{LTEspectrum.png}} | {{LTEspectrum.png}} |