Jens, I got interested in this discussion and looked at the standard briefly and at your matlab code. I have a couple of initial points; I will spend more time sometime this week on your code: 1) where in the standard it says that this is pi/4 DQPSK ? I only saw that the modulation used is DQPSK. 2) You have done frequency correction manually: did you do this by looking at the DC subcarrier (no power transmitted here) in the received signal prior to OFDM demod? Frequency synchronization in OFDM is very crucial, because the OFDM symbol rate is small! To see why, try to understand the effect of a small frequency error at the output of the FFT demodulator. 3) You have found the beginning of the frame manually. In your matlab code you posted there is a variable "start_resamp" that indicates this. How do you know that the begining of frame is not BETWEEN two samples? in other words there is no fine timing synchronization. I wonder what the effect of a small timing error is at the output of the FFT demodulator. Achilleas

on 2006-04-04 17:51

on 2006-04-04 18:40

Achilleas, thanks for taking the time. My goal is to implement COFDM in gnuradio, DAB is a nice start. To your points: > I got interested in this discussion and looked at the > standard briefly and at your matlab code. > I have a couple of initial points; I will spend more time sometime this > week on your code: > > 1) where in the standard it says that this is pi/4 DQPSK ? > I only saw that the modulation used is DQPSK. Page 161, 14.7. "pi/4 shift DQPSK" (standard ETSI EN 300 401 V1.4.1) > 2) You have done frequency correction manually: did you do this by > looking at the DC subcarrier (no power transmitted here) in the > received signal prior to OFDM demod? Yes. As can be seen in the code, I used frequency domain correlation with the pilot symbol. Works perfectly and can also be automated. There are a lot of papers on frequency offset estimation in OFDM. > Frequency synchronization in OFDM is very crucial, because the OFDM > symbol rate is small! To see why, try to understand the effect of a > small frequency error at the output of the FFT demodulator. Of course - I need to hit the subcarriers within a few Hz. But that works, as can be seen from the demodulated results. > 3) You have found the beginning of the frame manually. In your matlab > code you posted there is a variable "start_resamp" that indicates this. > How do you know that the begining of frame is not BETWEEN two samples? > in other words there is no fine timing synchronization. I wonder what > the effect of a small timing error is at the output of the FFT demodulator. Time sync is not a problem in OFDM - the guard interval takes care of that. Nice property. Try playing along with the "start_resamp" value - it will work for an offset up to about 504 (this is the length of the guard interval). Jens

on 2006-04-04 19:05

I guess I was a little bit too quick with my answer... In more detail: > 2) You have done frequency correction manually: did you do this by > looking at the DC subcarrier (no power transmitted here) in the > received signal prior to OFDM demod? > Frequency synchronization in OFDM is very crucial, because the OFDM > symbol rate is small! To see why, try to understand the effect of a > small frequency error at the output of the FFT demodulator. The fractional offset (0.35) was found manually by look at the cross-correlation in the frequency domain and taking df = (left_of_max - right_of_max) / (left_of_max+right_of_max). Should be correct, shouldn't it? > 3) You have found the beginning of the frame manually. In your matlab > code you posted there is a variable "start_resamp" that indicates this. > How do you know that the begining of frame is not BETWEEN two samples? > in other words there is no fine timing synchronization. I wonder what > the effect of a small timing error is at the output of the FFT demodulator. I didn't quite understand what you are saying until I though about it: This should be equivalent to a small modulation in the frequency domain? I just simulated that by: % simulate fractional offset d_resamp = d_resamp .* exp(j*linspace(0,2*pi*0.1,length(d_resamp)).'); No effect - after all I did resampling before. Jens

on 2006-04-04 19:50

Jens Elsner wrote: > that. Nice property. Try playing along with the "start_resamp" value - > it will work for an offset up to about 504 (this is the length of the guard > interval). > > Jens > > > AHA! Now we are getting some place. This last paragraph was very revealing. Time sync is not a problem because of the guard interval BUT varying depth in to the guard interval will IMMEDIATELY translate into phase shifts on each and every bin that will vary with frequency and depth into the guard interval. I am sorry I have not had time to spend on the code but I have a lot going at the moment. There is simply no such thing as a free lunch anywhere anytime, not even with OFDM. Bob -- AMSAT VP Engineering. Member: ARRL, AMSAT-DL, TAPR, Packrats, NJQRP/AMQRP, QRP ARCI, QCWA, FRC. ARRL SDR Wrk Grp Chairman Laziness is the number one inspiration for ingenuity. Guilty as charged!

on 2006-04-05 06:11

On 4/4/06, Robert McGwier <rwmcgwier@comcast.net> wrote: > > > > > AHA! Now we are getting some place. This last paragraph was very > revealing. Time sync is not a problem because of the guard interval BUT > varying depth in to the guard interval will IMMEDIATELY translate into > phase shifts on each and every bin that will vary with frequency and > depth into the guard interval. I am sorry I have not had time to spend > on the code but I have a lot going at the moment. There is simply no > such thing as a free lunch anywhere anytime, not even with OFDM. > > Bob Yes, I think this is a critical step. small letters are time domain and capital letters are frequency domain. x(n) -----------> X(k) FFT x(n-n') ---------> e^(j*2*pi*n'*k/N) * X(k) FFT for one OFDM symbol, 0 <= k <= N-1 Therefore as you can see the phase shift will increase with k. For k=0, there will be no phase shift and for k=N-1, there will be a phase shift of almost 2*pi*n'. Therefore for a QPSK, when you map symbols to bits, there will be more errors for higher subcarrier (index). You have to start sampling exactly after the cyclic prefix ends. In general if your timing error is towards cyclic prefix, you effectively cyclic shift your data. In case your shift is away from the end of the cyclic prefix, you take some samples from next symbol and introduce ISI. You need to see how this will effect you in DQPSK case. Please look at this link for relevant papers http://www.cds.caltech.edu/~yasi/publications.html Also for frequency offset, what really matters is not the frequency offset in Hz, but the relative frequency offset delta_f/F_s, where F_s is the subcarrier spacing. Please look at *BER sensitivity of OFDM systems to carrier frequency offset andWiener phase noise* Pollet, T.; Van Bladel, M.; Moeneclaey, M. Communications, IEEE Transactions on Volume 43, Issue 234, Feb/Mar/Apr 1995 Page(s):191 - 193 Digital Object Identifier 10.1109/26.380034 In general if your relative frequency offset is .01 or less, I think you will not be affected much. But again I am not too sure for DQPSK. Again QAM is more sensitive to these errors than QPSK. Please correct me if I am wrong somewhere. I am sharing what I have recently learnt about these things .... Regards Prateek Dayal --

on 2006-04-05 06:17

Prateek Dayal wrote: > Also for frequency offset, what really matters is not the frequency > In general if your relative frequency offset is .01 or less, I think > you will not be affected much. But again I am not too sure for DQPSK. > Again QAM is more sensitive to these errors than QPSK. > > Please correct me if I am wrong somewhere. I am sharing what I have > recently learnt about these things .... > > Regards > Prateek Dayal > > Thank you very much for the reference. This was a very nice link to Mostofi's work. The following paper is also pertinent to Jen's thinking on the guard interval offset being irrelevant. It is not of course: *Y. Mostofi*, D. Cox and A. Bahai, "Effect of Timing Synchronization Errors on Pilot-aided Channel Estimation in OFDM: Analysis and Solution," /Proceedings of 5^th IEEE International Symposium on Wireless Personal Multimedia Communications (WPMC),/ Honolulu, Hawaii, Oct. 2002, pp. 1309-1313. http://www.cds.caltech.edu/~yasi/papers/WPMC02.pdf Best wishes, Bob -- AMSAT VP Engineering. Member: ARRL, AMSAT-DL, TAPR, Packrats, NJQRP/AMQRP, QRP ARCI, QCWA, FRC. ARRL SDR Wrk Grp Chairman Laziness is the number one inspiration for ingenuity. Guilty as charged!

on 2006-04-05 18:12

Thanks for the reply! I'm really struggeling here... > > Therefore as you can see the phase shift will increase with k. For k=0, > there will be no phase shift and for k=N-1, there will be a phase shift of > almost 2*pi*n'. Therefore for a QPSK, when you map symbols to bits, there > will be more errors for higher subcarrier (index). You have to start > sampling exactly after the cyclic prefix ends. In general if your timing > error is towards cyclic prefix, you effectively cyclic shift your data. In > case your shift is away from the end of the cyclic prefix, you take some > samples from next symbol and introduce ISI. You need to see how this will > effect you in DQPSK case. Please look at this link for relevant papers The phase shift doesn't matter in differential demodulated systems. To sum up: Frequency offset results in ICI. This is "white noise" interference. Time offset results in a) ISI, if offset results in taking values from other symbols. This is also "white" interference. b) phase shift, if offset results in taking values from the cyclic prefix. This results in a "circle" structure, as the phase shift is higher for subcarriers of higher frequency. The time offset effect b) is removed by differential demodulation, since the phase shift will be the same. The effect I am seeing is a constant phase shift for all subcarriers, different for each OFDM symbol. Nothing that could be explained with a frequency offset or a time offset. I am clueless. > In general if your relative frequency offset is .01 or less, I think you > will not be affected much. But again I am not too sure for DQPSK. Again QAM > is more sensitive to these errors than QPSK. A small frequency offset results just in a SNR degradation - my estimation is pretty accurate. Jens

on 2006-04-05 18:15

```
> http://www.cds.caltech.edu/~yasi/papers/WPMC02.pdf
Bob,
I am still convinced that using differential demodulation removes the
phase shift (see reply to Prateek). Or is there something I am not
seeing so far?
Jens
```

on 2006-04-05 20:05

Yes. Here is what you are missing: Let us concentrate (as does your nice animated gif) on one channel in the OFDM. Let us suppose you have a variable delay into the signal after its onset. This will happen with probability one because your clock and the transmitter clock will not be the same except in your computer simulation. If you took the FFT beginning (say) 39 samples into the symbol at t, and then 52 samples after the beginning time for symbol at t+1, this will be an additional rotation due to the frequency offset of this channel from zero. Notice this means that every channel will have a different rotation which will be a multiple of the frequency offset from correct and the difference in time after symbol onset you go into the symbol to take the FFT. This is definitely a nontrivial exercise to get right. Bob Jens Elsner wrote: >> http://www.cds.caltech.edu/~yasi/papers/WPMC02.pdf > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > http://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > -- AMSAT VP Engineering. Member: ARRL, AMSAT-DL, TAPR, Packrats, NJQRP/AMQRP, QRP ARCI, QCWA, FRC. ARRL SDR Wrk Grp Chairman Laziness is the number one inspiration for ingenuity. Guilty as charged!

on 2006-04-06 11:28

(comments inlined) On Wed, Apr 05, 2006 at 02:02:23PM -0400, Robert McGwier wrote: > Yes. Here is what you are missing: > > Let us concentrate (as does your nice animated gif) on one channel in > the OFDM. Yes, what's depicted are all decoded symbols in one OFDM frame. > Let us suppose you have a variable delay into the signal after its > onset. This will happen with probability one because your clock and the > transmitter clock will not be the same except in your computer simulation. Agreed. But this delay will only be fractional, as I can determine the exact start by correlation. The oscillators are pretty stable, so I can exactly time one symbol. The offset will thus be fractional and constant. I verified this by correlating every OFDM symbol with itself. This shows that the cyclic prefix does not move. > If you took the FFT beginning (say) 39 samples into the symbol at t, > and then 52 samples after the beginning time for symbol at t+1, > this will be an additional rotation due to the frequency offset of this > channel from zero. Notice this means that every channel will have a > different rotation which will be a multiple of the frequency offset from > correct and the difference in time after symbol onset you go into the > symbol to take the FFT. I agree. But, as stated above, my time offset is fractional and constant. Jens