MATLAB Answers

SDR using AD9361 multi-FMCOMMS I get the following error.

4 views (last 30 days)
jarul
jarul on 15 Apr 2019
Commented: jarul on 30 May 2019
I ran the following MATLAB code and get the following error code:
Transmit and Receive LTE MIMO using Analog Devices AD9361/AD9364.
It is not decoding correctly. I get the following errors:
The error file is attached along the error.txt file.
Can someone help me what is going on? It is to do with the MATLAB.
Thanks
JAR

  3 Comments

Ross Elliot
Ross Elliot on 15 Apr 2019
Hi JAR,
From the error message, it looks like you are using a modified version of the example. What modifications have you made? Are you able to run the unmodified example code successfully?
Regards,
Ross.
jarul
jarul on 15 Apr 2019
I have not modified the example at all. The code was written for Single SDR. I am trying to run for multi-radio or I have two separate boards. One transmits from an IP and the other one tries to receive from another IP. That is all.
It has some problem while decoding the code. Constellation diagram is correct.
I think that the library called lteDLDeprecode is not working correctly or has some bug.
Thanks
Ross Elliot
Ross Elliot on 16 Apr 2019
Just to confirm that you are running this example (Transmit and Receive LTE MIMO Using a Analog Devices AD9361/AD9364) on two separate Zynq boards, each with a different IP address?
In order to do that you would need to modify the example code. Can you please attach your code, and I can take a look?
Can you also confirm that running the example on a single Zynq board, unmodified, works as expected?
Thanks,
Ross.

Sign in to comment.

Accepted Answer

jarul
jarul on 17 Apr 2019
Thanks for your response. Yes, the Code (Transmit and Receive LTE MIMO) works fine for a single SDR fine. However, when I run on two separate IP addresses, it does not run correctly. I have Ubuntu 18.04 installed and matlab installed on this machine.
I also tried to run this code from the following github link which claim to run for two separate IP addresses. This also gives me the same error.
The code Main_TwoBoard.m is meant for two separate IP addresses. Even this code gives the same error.
I am attaching my code in a zipped file. YOu need to change the IP address for your use.
Thanks for your help.

  0 Comments

Sign in to comment.

More Answers (1)

Ross Elliot
Ross Elliot on 17 Apr 2019
The reason that your version is failing is because you have modified the code in the ltePDSCHDecode function on line 182 where lteDeprecode is called. The second input to the function should be a structure, but you are passing a char. The error message that you are seeing explains this:
Error using mwltelibrary The MEX Library function call (lteDLDeprecode) resulted in an error: Parameter is not a structure (error getting structure field NLayers)
You have also modified the receive algorithm on line 362 of antead9361.m so that you are no longer assigning the detected number of cell reference ports to the eNodeB structure. This will also cause the receiver to fail to decode.
I modified your version of ltePDSCHDecode to be the same as the shipping LTE Toolbox function, and reverted your change in antead9361.m to assign the detected value of 'CellRefP' to the eNodeB structure, 'enb', and was able to run decode successfully.
Thanks,
Ross

  3 Comments

jarul
jarul on 30 May 2019
Hai Ross,
Finally, I am able to successfully run two SDRs transmitting and receiving data through two antennas.
I have modified the code meant for single SDR (LTE transmission and receiver code for AD9361 architecture) to two SDRs using separate IP address. The original code given by mathworks can be run on single SDR envirornment. Now, I have successfully modified the code for TWO SDRs.
If Mathworks, can update the code on Mathworks website, I am willing to share the code for you.
(LTE transmiter and receiver code for Analog device AD9361/AD9364)
Let me know if you will acknowledge my work of correcting the code for TWO SDRs.
Thanks and await your response.
JAR
Neil MacEwen
Neil MacEwen on 30 May 2019
Hi Jarul,
I'm glad to hear you have got the code working for two devices. At this moment we have no plans to update our example to work on two devices, many of our customers only have one board and this example can be used by them. If people want to use two boards, they can do as you have done. If you wish to share your code further, you can contribute to File Exchange.
Thanks,
Neil
jarul
jarul on 30 May 2019
Hai Neil,
Thanks for your quick response. I do understand.
JAR

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!