DSPRelated.com
Forums

OFDM Constellation.

Started by SenSen 6 years ago17 replieslatest reply 6 years ago942 views
Currently testing Blind Demodulation methods on recorded OFDM signal. The recordings were done with coax cables. While the estimated Frequency and Time shifts were not accurate enough for compensation of all the symbols of the frame, some were compensated fairly well(marked red). The constellation, however, is peculiar(not a standard 4 PSK). Wondered what may be the explanation/reason for such structure(the signal was up-sampled by a factor of 10 compared to the received one).


const.jpg


The question relates to the two areas marked below

const2.jpg

[ - ]
Reply by SlartibartfastOctober 1, 2018

The signal is not sufficently synchronized to recover the constellations.   You need proper timing and phase lock, and how to do that will depend on the signal details, like what the preamble might look like, the locations and nature of any pilot subcarriers, etc., etc.

Until synchronization is achieved and any channel equalization performed (which may also require the use of the preamble and/or pilot subcarriers), you should not expect to get much clarity on discerning the constellations.


[ - ]
Reply by spetcavichOctober 1, 2018

most likely frequency offset but probably a combination of phase + frequency offset

http://inst.cs.berkeley.edu/~n225c/sp08/synch_pape...


https://www.researchgate.net/figure/The-constellat...

[ - ]
Reply by SenSenOctober 1, 2018

Thank you for the reply.

The question relates to the two areas marked below

const2.jpg

[ - ]
Reply by spetcavichOctober 1, 2018

Do you have any mix of bpsk and qpsk in the symbols? This could be caused by poor timingn synchronization. What is the input to the FFT of the training symbols? 


Also, is each photo exactly one symbol? Or is it an overlay of multiple symbols? If its an overlay and one of your training/preamble/pilots symbols is bpsk sometimes you might be demodulating bpsk because of poor synchronization/bug in your software and sometimes qpsk, so bpsk consequently gets overlayed onto your qpsk data. 


I suspect it is multiple symbol overlay + poor timing synchronization. See attached figure + matlab of how I generated it. Note line 174 in the matlab file : t_data = (start: start + 63)-1; 

The -1 takes the timing one sample off, and causes dramatic 'spin' in the data.

ofdmmodem.m

demoOFDM.png

[ - ]
Reply by SenSenOctober 1, 2018

The timing and frequency synchronization is done using the blind CP based method[1], which was implemented and tested for simulated WiFi signal.

Examining the indexes of the ‘BPSK’ part, it can be seen that the upper group(red) consists of 2 segments.

The first has ~12 indexes ranging between 30 and 336 with a step of ~20.

The second has ~12 indexes ranging between 8700 and 9100 with a step of ~20.

Similar situation can be observed in the lower(green) group.

(The signal in hand was up sampled by 10)

const4.jpg



[1]https://www.semanticscholar.org/paper/On-Synchroni...


[ - ]
Reply by SenSenOctober 1, 2018

Following the previous post, progress was made.

Seems that the data bins of the symbol are QPSK while the pilots are BPSK.

The following summarizes the findings and presents several additional questions:

  • Is it possible, that the number and the indexes of the zeros and the pilot differ between symbols?
  • Is there a better method to determine the FFT size beside the one mentioned in the document?

Details can be found in:

https://drive.google.com/open?id=1NhzkutwVK_BkeLow...

[ - ]
Reply by shafie7October 1, 2018

Is this simulation or measured by equipment?

The plot is not clear whether there are multiple snapshots of the same QPSK at different time interval? or ....

Shahram

https://ortenga.com/

[ - ]
Reply by SenSenOctober 1, 2018

Hi Shahram,


Sorry for not being clear.

This is a recorded signal.

Each burst consists of 2(LFSR)+14(Data) Symbols.

The three plots varies in the value of SNR coefficient used by the estimator - rho(CP Based ML Estimator[1]).


[1]https://www.semanticscholar.org/paper/On-Synchroni... 


[ - ]
Reply by shafie7October 1, 2018

Sounds like you are feeding the recorded data to your data analysis tool, such as matlab to demodulate the recorded signal, correct?


What does "each Square" represent?

I mean, is each Square represents I/Q constellations for QPSK?

[ - ]
Reply by SenSenOctober 1, 2018

Correct.

Working on blind demodulation(using Matlab) of recorded OFDM signal.

"Each square" is the IQ of a symbol of the up-sampled burst.

[ - ]
Reply by shafie7October 1, 2018

OK, the circle on the I/Q constellation represents CW/carrier (i.e. a sinusoidal). That is impairment that could be part of the recorded signal or generated by the demodulator in the simulaiton.

I'm just guessing that is generated by the demodulator, since you did not expect it.

So check your demodulator simulation and find out if there is any thing can cause that.

Hope that helps.

Shahram 


[ - ]
Reply by SenSenOctober 1, 2018

Thanks.

Not sure what do you call circle.

Below the two unexpected areas are marked.


const2.jpg


The demodulate is very simple and works on the first training symbols, as can be seen below.


const3.jpg

[ - ]
Reply by shafie7October 1, 2018

The circle is in "const3.jpg" file, which is smearing all symbols.

If the demodulator works with training symbols, then the recorded signal may have the impairment.  

You can test your demodulator by feeding a generated "carrier", i.e. sinusoidal of the carrier frequency.  

You should see the circle in the I/Q constellation diagram.

[ - ]
Reply by SenSenOctober 1, 2018

The ML Blind demodulator functionality was tested using simulated signal(related document sent in private email to info@ortenga.com).

I wonder whether the additional pair of non 4psk carriers are indeed impairments or there by design.

Will analyze the indexes of the down sampled signal and update.

[ - ]
Reply by shafie7October 1, 2018

Any carrier could cause the smearing of the I/Q constellations.

Can you remove them?

[ - ]
Reply by napiermOctober 1, 2018

Also, there really isn't enough information here to help much.

You want metrics for each of the frequency bins.  How much phase roll is there over the band?  Can you plot out the phase error vs. frequency?  There are many things that can cause similar looking smearing.  Jitter in the A/D converter, frequency offset, phase noise in the system, etc.

Now phase offset shouldn't be a problem if the demodulator is using pilots to determine the phase.  Also, assuming you can achieve course timing then the demodulator should be able to adjust fine timing to get out of the Cyclic Prefix into the area where you are not seeing reflections distorting the symbols.

What it is not going to like is any Frequency Offset.  One way to help debug that is by looking at the measured phase of the pilots and determine what the phase roll looks like.  This won't help with gross offset but if you are close then it is a decent metric.

Another similar metric is phase roll vs. time.  If there is a consistent pattern of the phase walking WRT symbol time as you look out from the center bin that may give you a clue.  Can you get to a 2D phase plot?

Another plot I've seen in analyzers is to show the Error Vector Magnitude.  Plot this vs. Frequency.  Also Plot vs. Time.  If the EVM vs Freq is "V" shaped then it is an offset problem.  Tinker with the Freq Offset to flatten the "V".  If that is flat (at the pilots) look at EVM vs. time.  If it rises (ramp shaped) from the pilots to the end then there may be a problem with symbol timing.  Fine adjust the symbol timing to flatten the ramp.

Hope any of this helps,

Mark Napier

[ - ]
Reply by dgshaw6October 1, 2018

Plot your constellations as a 3D plot.

plot3(symbol1:symbolN,real(symbol1:symbolN),imag(symbol1:symbolN))

I even go so far as to plot two to form a stereoscopy image.

---------

figure(1)

subplot(1,2,1)

plot3(symbol1:symbolN,real(symbol1:symbolN),imag(symbol1:symbolN))

camproj('perspective')

view(50,10)

grid on

subplot(1,2,2)

plot3(symbol1:symbolN,real(symbol1:symbolN),imag(symbol1:symbolN))

camproj('perspective')

view(45,10)

grid on

------

Stretch the image wider, and cross your eyes to view the left image with right eye, and right with left eye.

Voila 3D!  May be wrong on the view angles, may need to be swapped.

------

Look for twisting like a helix as the burst progresses.

Look for spreading of the constellation points as the burst progresses.

Look for BPSK early in the burst, and QPSK later to account for your question about the funny two points in const2.jpg.

At least three things need to be synchronized (in addition to Freq. Domain EQ), in order to obtain a nice looking constellation.

1) The timing phase of the first sample at the beginning of the FFT needs to be right, even down to fractional sample delay.

2) The sample rate will probably be close to spec for the duration of a TX burst.  However, if it is not, then the constellations will appear to twist over the duration of the burst.  Causes the apparent circular plots you have.

3) The carrier offset has to be nearly zero (perfect down to < single digit Hz) compared to the 2.4GHz carrier for example.

Good luck.

David