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.
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
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?
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 of the transmitted tone. Since the two devices have disjoint oscillators, if we transmit a tone from Pluto at some frequency, the estimated frequency on the receiving PXA will be slightly different. Then we increase/decrease the xo_correction attribute on Pluto which controls the clock frequency. We tune this until we get exactly the frequency on the PXA we expect. This process will essentially closely match the oscillators of the PXA and Pluto.