Recover QAM constellation of undersampled OFDM signal?

Started by ReachRF 6 years ago6 replieslatest reply 6 years ago135 views

Target signal: OFDM rated for a 204.8MHz sampling rate.

Challenge: Limited to 20MHz sampling rate. 

Status: I can view the power spectrum of the sub-carriers I'm interested in just fine with the 20MHz sampling rate.

Desire: I need to recover the QAM constellation from the sub-carriers that I'm interested in.

Competency level: PhD in networking and signal processing.

Caveat: I'm used to having the full sample rate at my disposal! 

Thanks for any insider comments.

[ - ]
Reply by SlartibartfastJuly 20, 2018

OFDM symbols are pretty simply defined for the FFT size in order to recover the subcarriers with an FFT (one subcarrier per bin).   If the FFT size is changed (to maintain the symbol size with a lower sample rate) or the symbol size is increased (to reduce the sample rate and keep the same FFT size) you'll not be able to recover the subcarriers in either case due to distortion.  Subcarrier recovery also requires that the FFT is properly synchronized in time to the symbol.

Is a 20MHz sampling rate still sufficient to properly synchronize the correct FFT size to the OFDM symbol?

[ - ]
Reply by ReachRFJuly 20, 2018


Target Signal Specs:

Sub-carrier Spacing: 50Khz

Number of sub-carriers: 4096

Right now I'm only concerned about observing the QAM constellation for a subset of sub-carriers spanning about 6MHz. At 20MHz that's an DFT size of 400 v.s. 4096. Of which I'm only interested in exactly 120 sub-carriers.

If I change my spectrum analyzer to the nominal center sub-carrier frequency of the 6MHz band I'm interested in, I can see the energy content of the continuous pilot sub-carriers which are of interest to me to extract the timing information.

To answer your question: I'm not sure.

But you have enlightened me to be aware of the distortion I'm introducing by changing the fft size to maintain the symbol size with a lower sampling rate, narrowed to a small window. 

I'm narrowing my view to 20MHz windows across the symbol. I'm not concerned with recovering the entire symbol with one 4096-DFT capture, just a section of it (i.e. 120 sub-carriers out of what should be an fft of 4096).

I do have an excellent SNR, and no concerns for significant multipath interference, or other transmitter interference.

[ - ]
Reply by SlartibartfastJuly 20, 2018

A few things:

If I understand correctly, the symbol is 20us long.  If you stretch a 400-pt DFT to cover the entire symbol the bins will be much wider (about 10x, obviously) than the original subcarriers and you won't be able to discern individual subcarriers.   You still will have to time synchronise the DFT aperture with the symbol timing.

If you maintain the sample rate so that the 400-pt DFT subcarrier centers and widths align with the original subcarriers, the DFT time aperture length will be much shorter than the symbol time.  With a high SNR this does not preclude you from seeing "something" in the bins, but interpreting the results will require care, and it may not represent what one would see if detecting subcarriers with the entire symbol energy instead of a fraction of it.   If there are pilot subcarriers in among the 400-pts, you may be able to use them as a phase reference for the data subcarriers but, again, care must be taken since only a partial symbol is being recovered rather than an entire symbol.

Doing that also requires very careful anti-alias filtering to prevent energy from the discarded subcarriers from interference, and careful frequency synchronization so that the DFT bins line up with the subcarriers.

I think it can be done, but it sounds like a lot of work to me, and the utility of it may depend on what you are trying to do.  e.g., I wouldn't put much weight on analysis of phase noise or SNR or performance results using a partial symbol.

[ - ]
Reply by ReachRFJuly 20, 2018

Your analysis is exactly what I was looking for. Thank you very much for your responses, I hope that the community at large will benefit from this thread.

[ - ]
Reply by SlartibartfastJuly 20, 2018

FWIW, an alternative approach might be to use a 4096-pt DFT, but compute only the subcarriers of interest, i.e., a sparse DFT.   This is pretty easy with a DFT, not so much with an FFT.

This would get the same results as a full FFT, but would save some computational load.   It would require collecting samples at the full sample rate, but would also avoid the requirement for any anti-aliasing or decimating filters.

[ - ]
Reply by dgshaw6July 20, 2018

I'm not sure exactly where to jump in here.

I have read the discussion with @Slartibartfast, and I'm not as pessimistic as he is about what you can achieve.

If you have band limited the signal to the region of the spectrum that you care about, and then demodulated to baseband, then a 400 point DFT will work great.  You will still have 50kHz bins, and should be able to see the QAM constellation points that you desire.

It should be pretty easy to synchronize, because the cyclic prefix will tell you where to look in time. Simply run a delay line of the right symbol length, take the output samples and subtract them from the input samples, and then take the abs() of the result.  When it gets and stays close to zero, you are in the cyclic prefix.

If you only want the 120 bins, then simply run a complex Goertzel for each bin of interest and run your integrate and dump time for the Goertzels to match the symbol time.  The complex content of the Goertzel at the end should be your constellation point.

You may have to tinker with a delay adjustment to match/find the beginning of the symbols from the CP technique described above.

The constellations may be tilted, but you can deal with that if you apply the required rotations at the end.

Best of luck,