enter image description hereenter image description hereenter image description hereenter image description hereenter image description hereenter image description hereenter image description hereenter image description hereenter image description hereenter image description hereenter image description hereFirst of all, please consider my lack of experience/background in real time transmission using SDR especially if my explanation was expressed technically well.enter image description here

I have transmitted an OFDM signal of length 64 samples (6-zeros; 26 subcarriers; zero, 26 subcarriers, 5-zeros), fs=20 MHz, fsym=312.5 KHz, baseband modulation is BPSK.

I have transmitted and received the ofdm signal using ADALM-Pluto SDR (real wireless channel) and got the following figure where the amplitudes of the samples are increasing and decreasing in a sine shape after the fft-block. I have already corrected the frequency offset and phase offset in frequency domain after the fft-block and I also got the constellation diagram where some samples are approaching towards zero.

Alternatively, I have used a coaxial cable between the Tx and Rx of the same ADALM-Pluto SDR to neglect the effect of the wireless channel but the issue remains the same.

In both cases above, I have successfully retrieved the transmitted bits with BER=0.

I would be so glad if you could explain to me what is the reason behind this issue and how it can be solved! enter image description here

enter image description here


1 Answer 1


At first I suspected an offset in the time domain, which would cause rotations in the frequency domain given the Fourier Transform of a time delay $T$ given as:

$$\mathscr{F}\{x(t-T)\}= X(f)e^{-j2\pi f T}$$

However I no longer conclude this with the updated plots the OP has added, showing the direct FFT output plotted on a complex plane, and plotted as real and imaginary components; for clarity the relevant plots are repeated below:

Plots from OP

If it was simply a delay in time, we would expect to see a cosine for the real and sine for the imaginary given $e^{-j2\pi f T}=\cos(2\pi f T)-j\sin(2\pi f T)$. We do see what appears to be a sine envelope for the real, and it wouldn't be out of the ordinary for the real and imaginary outputs to be swapped, however we don't see a cosine on the imaginary at the same rate- so it is not simply due to a time offset.

I recognized the plot of the complex plane as the frequency response of a delay and subtraction, combined with the 0/180° modulation of the BPSK subcarriers. So I proceeded to do a quick simulation to confirm this, and was able to closely reproduce the OP's results with the following set-up:

experimental set-up

Note the distortion is given by a network with a transfer function:

$$H(z) = \frac{1.35 - z^{-4}}{2}$$

Below shows what we should expect if we didn't have the network inserted:

correct result

The frequency response for the network is:

Freq Response

Note how this frequency response appears if we plot the positive and negative to get the envelope from the BPSK modulation:

Freq response envelope

The experimental result with random data came out as plotted below:

experimental result

I removed the zero bins as the OP has obviously done, which results in a very close match:

result with zero bins excluded

With the following plot when viewed on the complex plane, also matching the OP's:

complex plot

The network determined to cause the distortion is conveniently minimum phase, which means it has a stable inverse given as:

$$H_{inv}(z) = \frac{2}{1.35 - z^{-4}}$$

Which can be implemented as the equalization network below placed in the receiver ahead of the FFT:


Which when processed with the distorted waveform above, results in the following corrected result:


This has shown what process would be occurring to cause the distortion, and how it could be corrected. But the real question remains as to why this is happening in the first place. The delay of four samples and a subtraction seems to be indicative of a problem in the implementation, as it is not the result of a typical time or frequency offset nor any channel we would expect with the direct connection the OP has done.

  • $\begingroup$ Why this issue occurs! Even when I use a coaxial cable which means no channel effect! $\endgroup$
    – Walkürie
    Oct 5, 2023 at 17:14
  • $\begingroup$ Do you suggest to do an equalizer and channel estimation! I have corrected the time offset in time domain and the phase offset in frequency domain as you can see in the constellation diagram $\endgroup$
    – Walkürie
    Oct 5, 2023 at 17:37
  • $\begingroup$ (I see from the time domain plot that you haven’t removed the time offset, and I see from the constellation that you have removed the imaginary terms- but we need those to complete the correction and for higher order demod such as QAM) $\endgroup$ Oct 5, 2023 at 17:42
  • $\begingroup$ The both figures you see above are in frequency domain after the fft-block. I also did the phase correction in frequency domain after the fft-output. Please note that I have done a BPSK baseband modulation. $\endgroup$
    – Walkürie
    Oct 5, 2023 at 18:07
  • $\begingroup$ Here I got the constellation diagram for the QAM $\endgroup$
    – Walkürie
    Oct 5, 2023 at 18:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.