Correlation of FSK modulated PRBS - Confused!

Started by STEVER 3 years ago5 replieslatest reply 3 years ago94 views
I'm trying to use SIMULINK to investigate the auto-correlation of a PRBS sequence when 2-FSK modulated. The correlation results I am getting don't make sense to me. I expected the auto-correlation to be very small apart from at the zero delay position but the results I am getting a show correlation of 0.5 for any delay that is an integer number of chips. I had a look at the output of the SIMULINK baseband FSK modulator block (using the scope block). Here's what I found.... the Binary 1 data bits are: real = cos(wt) Imag = +sin(wt), Binary 0 data bits are: real = cos(wt) Imag = -sin(wt). The output of the baseband modulator block is therefore a positive frequency for binary 1 and the same frequency but negative for binary 0. I think the problem I have is that the real part is always the same regardless of whether I have a binary 1 or binary 0 so the correlation for delays of whole chips will never be below 0.5. What am I missing here (apart from the obvious DSP education!). Regards, Steve
[ - ]
Reply by Y(J)SDecember 4, 2017

Your normalization is not clear.

When you are shifted by an integer number of chips, then the autocorrelation would be zero if the PRBS had precisely the same number of ones as zeros (since half of the bits would give the same sine phases and half antiphase). If you have any imbalance, which there must be since there are an odd number of bits, there is residual autocorrelation in the FSK as well.


[ - ]
Reply by STEVERDecember 4, 2017

Regarding normalisation, the integrate and dump block is integrating for k samples where k is the number of samples in the length of the prbs. I then multiply the end result by 1/k to scale the result to unity.

I don't think the residual autocorrelation should be nowhere near as much as the 0.5 I am seeing. It should be approx 1/n where n is number of chips in my prbs.


[ - ]
Reply by Y(J)SDecember 5, 2017

I agree. If you are normalizing to 1 when the lag is zero, then the side lobes should not be 1/2. Now that I read your question more carefully, I understand that your modulator is mixed down to center frequency zero (so that your frequencies are -w and w). These two frequencies are not orthogonal! The idea of FSK is that when you have two different frequencies the integral of the product should be zero (not minus 1) at least if the bit is long enough. So mix up to some frequency and make the signals real.


[ - ]
Reply by STEVERDecember 5, 2017

Yes, I've used the standard BASEBAND m-fsk block from the SIMULINK library because simulation at baseband is encouraged in the SIMULINK literature (to reduce required sample rates). I thought there might be a way to do the correlation with the baseband signals but perhaps not.

I will try up converting the baseband signal and then correlating. I could also just use the passband m-fsk block to get the same passband signal. I'll try this out tomorrow and let you know how I get on.

Not sure what you mean by the last part of your reply, "make the signals real"?

[ - ]
Reply by STEVERDecember 6, 2017


Up conversion didn't help (got the same results).

However, after a bit more pondering I believe I have discovered the problem. The orthogonality (or the lack of it) depends on the frequencies chosen for binary 1 and binary 0, plus the symbol rate. My original choices were +200k and -200k for 1 and zero with a 200kchip rate. The up converted signal's '1' and '0' symbols are still nowhere near orthogonal.

I changed the frequencies so they're not integer related to the symbol rate and the correlation value at integer chip delays is now more like the value I would expect.