I have my own signals (.mat file) which are transmitted by IIO Oscilloscope using DAC buffer mode.
I want to use that facility in matlab so that I can directly transmit and receive the signal.
In doing so the bandwidth of the signal becomes in KHz while actually in MHz.
I am new to pluto kindly help. If anyone have script to transmit and receive the signal in Matlab then kindly provide.
On a PXA instrument, you can run it in FFT or spectrum analyzer mode and use peak markers to estimate a tone's frequency. Usually, the resolution bandwidth is increased so we can finely measure the peak…
Pluto is officially supported by MathWorks through this support package: https://www.mathworks.com/hardware-support/adalm-pluto-radio.html
You can use functionality like transmitRepeat to get the same cyclic buffering as used in IIO-Scope: https://www.mathworks.com/help/supportpkg/plutoradio/ref/comm.sdrtxpluto.transmitrepeat.html?s_tid=doc_ta
Thanks a lot.
I am able to transmit receive my custom waveform with wired (TX and RX connected by cable) channel.
But for 5 MHz the EVM comes out 6% which is very high is there any calibration required for same?
The second question is: When I try to run the following example
I received following error
Error using matlabshared.libiio.base/cstatusFailed to set context timeout.
Error in matlabshared.libiio.base/cstatusid
Error in matlabshared.libiio.base/setContextTimeout
Error in matlabshared.libiio.base/setupImpl
Error in comm.libiio.AD9361.base/setupImpl
Error in comm.libiio.AD9361.tx/setupImpl
Error in comm.plutoradio.tx/setupImpl
Error in comm.SDRTxPluto/setupImpl
Error in comm.libiio.AD9361.tx/transmitRepeat
Error in plutoradioWLANTransmitReceiveExample (line 301)sdrTransmitter.transmitRepeat(txWaveform);
Kindly help for both case
EVM performance is related to both hardware and the receiver implementation. However, with the default settings of the transceiver on Pluto we usually have EVM performance of 0.7% with LTE10. This will change depending on the modulation of your waveform. I would recommend digging through your receiver algorithm to see where performance degradation can be coming from.
In regards to your error, a context might be stuck open in your MATLAB session. Try closing MATLAB and power cycling Pluto.
Now the EVM comes out to be 2.3%, but I am not able to reduce it further.
Do you have any sample code implemented on Pluto where I can achieve EVM of 0.7% .
If so kindly provide the same.
These examples with LTE10 provide EVM with AD936x devices: https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/legacy/LTE_MATLAB
Thanks for your reply.
Since you are measuring the EVM using VSA software
I want to synchronize the keysight VSA hardware with (plutosdr or Zedbord+ADFMCOMMS3EBZ or ZC706 +AD9371) So that what I am transmitting can be captured.
VSA performs synchronization internally. For best EVM performance limit the frequency offset between Pluto and the capturing instrument.
I am agree with you, what I understand is:
For predefined signals like LTE 5,10,15,20 MHz there is a decoding file in VSA which will calculate EVM.
Kindly correct If I am wrong for above statement.
Suppose I want to transmit 200 MHz Signal from ZC706+AD9371 and capture from VSA.
Since no decoding files are available now then how we synchronize it?
Correct. VSA will only decode standards compilant waveforms.
Therefore to solve this problem I have to time align it in matlab.
But the challenge is how to lock (synchronize) AD boards with VSA.
To synchronize VSG and VSA we have reference clock and trigger option.
I will be very thankful for your solution.
Usually we just generate a tone from Pluto and estimate that on the PXA (instrument), then modify the xo_correct value until this received tone frequency is exactly the frequency we expect.
Can you elaborate it?