1
$\begingroup$

I wrote a python program to generate OFDM packets (i.e. the IQ samples) with a custom payload to, for example, be transmitted via an SDR. After mapping the chunk of bits corresponding to one ofdm symbol to a constellation mapping (e.g. 64QAM), I perform the IFFT (using numpy.fft.ifft) and add the 16-sample cyclic prefix. In the IEEE standard, the resulting 80-sample time snippet is multiplied by a windowing function (x0.5 for first and last value). However, when I test the whole thing and perform FFT on the 64-sample snipped again the whole mapping has a rather large error. Constellation mapping with windowing applied.

If I omit the windowing its perfect. I can't really understand the heavy influence, since its only one single value that has been altered by the window function in the end (concerning the fft). Constellation mapping without windowing applied.

Now I've read in the standard that symbols are appended one after another with one sample overlap, which I am currently not doing, so I guess there lies my mistake. If I append them with an overlap of one though, I would end up with a wrong overal sample count, wouldn't i? ( i.e. $80 * nSymbols - nSymbols$ instead of $80 * nSymbols$)

Thanks for every hint! Cheers Lucas

$\endgroup$
1
$\begingroup$

First value is from cyclic prefix and last value is the last sub-carrier which you are messing up by windowing of 1 sample. As a result of this, the frequency orthogonality of the sub-carriers is lost. And this inter-carrier interference is causing your QAM sliced symbols to randomly change phase and amplitude around true value.

The way actually windowing is done is by adding cyclic suffix of one sample in the end also like cyclic prefix and then overlap the next symbol with the first one by 1 sample. Then ICI won't happen. For a detailed code of how windowed overlap and add (wola) is performed you can check my code at : 5GNR Wola Waveform Simulation

$\endgroup$
  • $\begingroup$ Thanks ! Also thank you for sharing your code, i'll have a look at that. $\endgroup$ – Luuke L May 13 '20 at 12:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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