Post Go back to editing

ADALM PLUTO SDR

Category: Software
Product Number: ADALM PUTO

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, 

    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, 

    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. 

    the configuration for TxPluto and rxPluto are given as follows: 
    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);
  • 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