Matlab QPSK exmaple for Adalm Pluto
Show older comments
Greetings everyone!
I have encountered a problem which I have tried to solve for a long time but eventually failed.
I think that it is due to my lack of knowledge for signal processing.
I have used a single Adalm Pluto module as a Transceiver and two of them as a Receiver and a Transmitter.
I am working within Simulink under Ubuntu.
As for the learning process - I have tried to launch examples for QPSK in Communication Toolbox Simulink.
In both cases I do not see the parcel as it is described in the Receiver QPSK example. If I comment both the Pluto Tr module and Pluto Rx module and than connect QPSK transmitter with QPSK Receiver, I do see a good picture on the Constelation Diagram and I do see all messages as they should be (Hello World 000, Hello World 001 etc). When I am using Pluto modules - I am not getting anything at all, and I see garbage on the constelation diagrams (I do see that something is going on there but it looks bad).
Could anyone help me with this please?
P.S.
I have tried to change Pluto Modules parameters but I did not help.
Accepted Answer
More Answers (4)
Kevin
on 28 Dec 2021
0 votes
It can be tricky debugging hardware problem.
So let's step back and do something really simple.
Can you use the transmitter pluto to send a single tone and use the receiver pluto to receive it? Plot the received signal in time domain to make sure that the signal is not too large or too small (use the tx gain and rx gain to adjust). Also plot the received signal in frequency domain to see if you get a tone.
There are a few other things we can try. But let's do this first and see what we get.
Kevin
3 Comments
Alexey Petrenko
on 28 Dec 2021
Alexey Petrenko
on 13 Jan 2022
Kevin
on 13 Jan 2022
Hi Alex,
Yes, this can be something related to using just one pluto, especially (I think) changing rx center frequency will also change tx center frequency.
So let try the experiment with two Plutos.
There is also one thing we should be careful. When using one Pluto to transmit, I am assuming that you are using transmitRepeat, then you ideally the signal should not have glitch between the end of the signal and the beginning of the signal. If there is glitch, it may (or may not) cause problem to the receiver recovering the bits. This is something you need to keep in mind. But for now, assuming that this is not a problem.
Kevin
Kevin
on 28 Dec 2021
0 votes
I see. OK. Let's go back to your QPSK example.
Do you use a cable to connect transmitter and receiver? If not, can you try this first?
3 Comments
Alexey Petrenko
on 29 Dec 2021
Alexey Petrenko
on 29 Dec 2021
Alexey Petrenko
on 8 Feb 2022
Alexey Petrenko
on 29 Dec 2021
0 votes
5 Comments
Kevin
on 29 Dec 2021
There is one more thing to check: the frequency offset between the transmitter pluto and receiver pluto. The frequency offset (or error) on one pluto can be as large as 25 ppm (i.e. 25 * 1e-6 * center frequency). In the worst case scenario, the frequency error between tx and rx = 2 * 25 * 1e-6 * center frequency.
I don't remember how much frequency offset the example matlab receiver can handle. But you can manually frequency shift the received signal to see if you get better results (this would involve some trial and error). Or you can use tx a tone and look at the received signal to estimate the frequency offset.
Hope this works.
Alexey Petrenko
on 4 Jan 2022
Winfried Johannes
on 18 Feb 2022
Hello,
I have a similar problem.
I use the Matlab QPSK example for the data transmission between two plutos. If I use the internal clock for both Plutos it works very good with a cable connection between transmitter and receiver.
Now I use an external clock (40 MHz) for the transmitter Pluto and the internal clock for the receiver Pluto. Again with a cable connection between both Plutos. The result is, that the error rate is very high and the constellation is bad. I believe it is a synchronisation problem.
Do anybody tried similar things? Any ideas?
I tried the Matlab Frequency Correction Example (Transmitter Pluto with external clock connected with a cable to the receiving Pluto with internal clock). The result is attached. I see two strong tones (60 khz and 80 khz) instead of three
Do anybody know, what the problem is?
Thanks
Winfried
Alexey Petrenko
on 22 Feb 2022
Edited: Alexey Petrenko
on 22 Feb 2022
Winfried Johannes
on 17 Mar 2022
hello. thanks for your help. it works now. i adjusted the clock of the adalm pluto.
Winfried Johannes
on 17 Mar 2022
0 votes
hello everybody
i have a problem to understand the matlab code of the qpsk example for adalm pluto. i have some questions and i hope you can help me:
what is the samplerate of the adc of the adalm pluto used by this example?
what is the samplerate of the data transfering over usb to the pc? what is the decimation factor of the adalm pluto?
what is the data format and the packet size of the data transfering over usb to the pc?
hopfully you can help me!
thanks.
best regards
winfried
1 Comment
haci veli
on 10 Feb 2025
hopfully, I will get it
Categories
Find more on Analog Devices ADALM1000 Support from Data Acquisition Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
