Hi everyone,
I am a beginner, I have a question: we are using the Adalm Pluto and Matlab to transmit and receive wireless signals. After configuration for sdrtx and sdrrx using Matlab, I can transmit and receive the signal.
However, sometimes, I cannot receive the transmitted signal, when I plot the received signal, it is only noise. Therefore, I think the signal is not transmitted by the Adalm Pluto successfully. I am using
transmitRepeat function to transmit signal by Matlab. How can verify that the Adalm Pluto is transmitted successfully?
Thank you so much
You can use iio-oscilloscope to plot the signal received on Rx. You can use a loopback cable between Rx and Tx to check out what was received.
Alternatively from the AD9361 Advanced iio-oscilloscope plugin, from the BIST tab, you can set Digital Tx->Digital Rx loopback.
Thank you so much, ASuciu
I have another question, I am using two Adam Pluto, one for the transmitter and the other for receiving.
Even though, I config the center frequency and baseband sample rate to be exactly the same for two Adalm Pluto, however, when I try to plot the received signal, the received signal is look like a distorted amplitude. (Please refer to figure 1 and Figure 2). Can you tell me why it is happening with the received signal?
Thank you so much
Figure 1: transmitted signal
Figure 2: Received signal
There is a configurable attenuation on the receive path.
The inputs can be scaled using automatic gain control (AGC) so the receiver sensitivity is scaled according to the received signal.
Thank you so much,
Can you tell me how to fix this problem?
Hi ASuciu,
I am having a problem with Adalm Pluto. Sometimes, It looks like the receiver does not receive any signal from the transmitter. The received signal is only noise ( please refer to the attached figure). I tried with two scenarios: (1) transmitter and receiver are implemented on the same Adalm Pluto. (2) transmitter and receiver are implemented on different Adalm Plutos. But the problem was happening with both scenarios. Can you help me to overcome this problem?
Thank you so much!
Are you using the transmitRepeat functionality on the transmitter? Can you provide a simplified example?
-Travis
Hi, travisfcollins
I am using Adalm Pluto to transmit PSK ( narrow band signal) by using transmitRepeat function. At the receiver, I configured a rxPluto to receive the wireless signal.
Can you provide the rest of the code where you are moving data?
-Travis
Hi Travis,
This is my program that is used for transmitting and receiving the RF signals by Adalm Pluto.
fsampling = 7.5e6;
rxPluto = sdrrx('Pluto','BasebandSampleRate', 7.5e6, 'CenterFrequency',2402225000, 'RadioID','usb:1'); %2402225000, 2411600000, 2411756000
rxPluto.ShowAdvancedProperties = true;
rxPluto.SamplesPerFrame = 24700;
rxPluto.GainSource = 'AGC Fast Attack';
rxPluto.Gain = 70;
rxPluto.EnableQuadratureCorrection = true;
rxPluto.FrequencyCorrection = 0;
txPluto = sdrtx('Pluto','BasebandSampleRate', 7.5e6, 'CenterFrequency',2402225000,'RadioID','usb:1'); % 241256250
txPluto.ShowAdvancedProperties = true;
txPluto.FrequencyCorrection = 0;
% txPluto.BISTLoopbackMode = true;
txPluto.Gain = -20;
info(txPluto);
% info(txPluto);
Ts = 1/fsampling;
fc= 1e5;%mc*(1/Tb); % carrier frequency for bit 10
Ac = 1;
fi1=0; % carrier phase for bit 1
fi2=pi; % carrier phase for bit 0
N = 100; % transmit 128 bits payload + 4 bytes preamble
x_input = randi([0,1], N, 1) ;
Tb = 10*1e-6;
t2=Ts:Ts:Tb;
for (n=1:1:N)
if (x_input(n)==1)
x_mod0=Ac*cos(2*pi*fc*t2+fi1);%modulation signal with carrier signal 1
else
x_mod0=Ac*cos(2*pi*fc*t2+fi2);%modulation signal with carrier signal 2
end
x_mod = [x_mod x_mod0];
end
modSignal=(complex(x_mod)');
transmitRepeat(txPluto, modSignal); %doawnload basedband signal to radio and transmit.
received_signal = rxPluto();
received_signal = (received_signal);
r_n = real(received_signal)';
figure(1);
plot( r_n );
adding mod = [] and running your code with Pluto connected RX to TX with a cable I get:
-Travis
I've run it a dozen times without issue. The only probably issue I could see is that you start the capture before the transmitter is fully initialized. In that case just add a small delay before running the RX code.
-Travis
I try to connect Tx and Rx by cable, I saw that some time the received signal is attenuated 10 times compare with the normal case. Therefore I think that the Tx gain is not stable?
I saw that some time the received signal is attenuated 10 times compare with the normal case.
You are using the device with the AGC enabled, so there is no guarantee it always evolves to the same point. If you want it constant put the RX in manual gain mode.
-Travis
I were tried to use tbe manual gain mode, but it is still happen. Do you think that the bandwidth of signal may cause the problem? I am using bandwidth 100KHz
Can you provide plots that show this deviation?
-Travis
Please look at the two figures, I am using the same configuration for Tx and Rx, but the received signal is smaller than the received signal of Figure 2 almost 10 times. Note that I am using the Tx gain is small ( -40db).
Have you updated your Pluto to operate in the 2T2R mode?
-Travis
I have not updated my pluto to operate in the 2T2R mode yet. I am using Matlab to control Pluto, is it necessary to update Pluto to 2T2R mode?
Hi Travis,
Can you tell me the way to adjust the Tx output power while fixing the gain of TxPluto?
Thanks
Hi travisfcollins,
Can you tell me how to solve the problem of the signal being scaled at the receiver as shown in the figure? I tried to use all of the configurations for gain at the receiver as Manual, AGC Fast Attack, and AGC Slow Attack, but the problem is still happening. Thank you so much