5G Downlink Waveform

15 views (last 30 days)
Bryan Ehlers
Bryan Ehlers on 2 Sep 2020
Commented: Carlos Lopez on 14 Sep 2020
I'm using the demo here: https://www.mathworks.com/help/5g/gs/downlink-carrier-waveform-generation.html to generate the waveform. Here is a picture of the magnitude of the waveform.
My question is why is there a spike in the last few samples? According to the resource grids, no symbol is allocated in that part.

Accepted Answer

Carlos Lopez
Carlos Lopez on 14 Sep 2020
Hi Bryan,
Windowing and overlapping are automatically applied to the modulated waveform. In order to keep the waveform length independent of the window length and make it easy to concatenate with itself without additional processing, the first N samples (window size) of the waveform are overlapped with the last N. For alignment purposes, the waveform is circularly shifted so that these overlapped samples are moved to the end of the resulting waveform.
This effect will only be visible for channels/signals allocated in the first OFDM symbol. You can undo the circular shift operation as:
info = [bwpset.Info];
w = max([info.Windowing]);
wave = circshift(waveform(:,:),w);
If windowing is not a requirement, you can also disable it by setting:
waveconfig.Windowing = 0;
in NRDownlinkWaveformGenerationExample.m before the call to hNRDownlinkWaveformGenerator function.
  2 Comments
Bryan Ehlers
Bryan Ehlers on 14 Sep 2020
Thanks for the answer. I also found that there is a line in hOFDMModulate.m:
waveform(end-size(head,1)+1:end,:) = waveform(end-size(head,1)+1:end,:) + head;
I think an alternate solution to yours is to not do this addition. I just need to keep in mind that should I want to concatenate I will have to do this addition to keep the waveform smooth. If my reasoning is correct, then I understand your answer, could you confirm this for me before I accept the answer?
Carlos Lopez
Carlos Lopez on 14 Sep 2020
Yes, you can do that as well.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!