Reply by joelove168 March 7, 20062006-03-07
>If you use a sinusoid as input and you plot your baseband I,Q data you >should get a perfect circle, right? You'll find as you increase the >frequency of that sinusoid that eventually you no longer get a perfect >circle, i.e. it becomes an oval. This is is because the half sample
delay
>filter has a frequency response (like any other filter) and as you get >toward the edge of the filter the amplitude of the Q path starts to drop >while the I path stays the same (since it is passed straight through). > >If you want to see the difference in matlab do the following: > >freqz([1 1]) %this is the response of your linear approximation >b = fir1(24, 0.5); >b = b(2:2:end); >figure >freqz(b) %this is the reponse of the half sample delay filter after >decimation > >The superiority of the half sample delay filter will be obvious. The
linear
>approximation is only flat to about 0.2 while the hsd is flat to about
0.75.
> >And, yes, DVB-T is cofdm. I must have been thinking about atsc
terrestrial.
>Are you recording over the air signals to work against or are you
generating
>yourself? > >-Clark > > >
Clark, Maybe I should study DSP first. I know that highter tap filter can get slight ripple pass-band. But, I think if designing IQ demod by digital method that I can simply get 2 times original IQ date, i.e. I1 Q1 -I1 -Q1 I2 Q2 -I2 -Q2.... Then, I just get correct IQ data by removing even samples of each path(I and Q) without using filter. I don't know whether my concept is right or not. Now I just generate random patterns to work. --Wen
Reply by Anonymous March 2, 20062006-03-02
"joelove168" <joelove168@yahoo.com.tw> wrote in message
news:ZeydnRubXv5OO5vZnZ2dnUVZ_tudnZ2d@giganews.com...
> >You need to delay the Q path by half a sample. (Q0+Q1)/2 is a linear > >approximation for that but you won't get very good performance with > it(the > >bandwidth for which the half sample delay is correct will be small). I > >usually use fir1 with a cutoff off of exactly 0.5 in Matlab: > > > >hs_dly_filt = fir1(24,0.5); > > > >Don't forget to decimate the taps by 2 (every other tap from above is > zero) > >and don't forget to delay your I path by the same amount of delay > through > >this filter. In this case it's 24/2/2 = 6. (first 2 is decimation, second > 2 > >is half way through the filter) > > > >-Clark > > > >P.S. - I'd be interested in hearing about your dvb-t demodulation. I > assume > >its the 8-vsb kind? Are you working against OTA samples? > > > > > > > > Clark, > > Thanks for yours help. I am a novice at DSP, communication system and > DVB-T, so many common senses are strange to me. I don't understand that > "the bandwidth for which the half sample delay is correct will be small." > I suppose that s(t)=i(t)*cos(2*pi*f*t)+q(t)*sin(2*pi*f*t) is sampled at > 4*f frequency, then I get I0,Q0,-I0,-Q0,I1,Q1,-I1,-Q1,I2,Q2,-I2,-Q2...and > so on. So, I can just use delay to achieve synchronization. Then decimate > by 2 to get original I and Q path, i.e. I0,Q0,I1,Q1,I2,Q2... > > --Wen > > PS. DVB-T use COFDM method to modulate.
If you use a sinusoid as input and you plot your baseband I,Q data you should get a perfect circle, right? You'll find as you increase the frequency of that sinusoid that eventually you no longer get a perfect circle, i.e. it becomes an oval. This is is because the half sample delay filter has a frequency response (like any other filter) and as you get toward the edge of the filter the amplitude of the Q path starts to drop while the I path stays the same (since it is passed straight through). If you want to see the difference in matlab do the following: freqz([1 1]) %this is the response of your linear approximation b = fir1(24, 0.5); b = b(2:2:end); figure freqz(b) %this is the reponse of the half sample delay filter after decimation The superiority of the half sample delay filter will be obvious. The linear approximation is only flat to about 0.2 while the hsd is flat to about 0.75. And, yes, DVB-T is cofdm. I must have been thinking about atsc terrestrial. Are you recording over the air signals to work against or are you generating yourself? -Clark
Reply by joelove168 March 2, 20062006-03-02
>You need to delay the Q path by half a sample. (Q0+Q1)/2 is a linear >approximation for that but you won't get very good performance with
it(the
>bandwidth for which the half sample delay is correct will be small). I >usually use fir1 with a cutoff off of exactly 0.5 in Matlab: > >hs_dly_filt = fir1(24,0.5); > >Don't forget to decimate the taps by 2 (every other tap from above is
zero)
>and don't forget to delay your I path by the same amount of delay
through
>this filter. In this case it's 24/2/2 = 6. (first 2 is decimation, second
2
>is half way through the filter) > >-Clark > >P.S. - I'd be interested in hearing about your dvb-t demodulation. I
assume
>its the 8-vsb kind? Are you working against OTA samples? > > >
Clark, Thanks for yours help. I am a novice at DSP, communication system and DVB-T, so many common senses are strange to me. I don't understand that "the bandwidth for which the half sample delay is correct will be small." I suppose that s(t)=i(t)*cos(2*pi*f*t)+q(t)*sin(2*pi*f*t) is sampled at 4*f frequency, then I get I0,Q0,-I0,-Q0,I1,Q1,-I1,-Q1,I2,Q2,-I2,-Q2...and so on. So, I can just use delay to achieve synchronization. Then decimate by 2 to get original I and Q path, i.e. I0,Q0,I1,Q1,I2,Q2... --Wen PS. DVB-T use COFDM method to modulate.
Reply by Anonymous March 1, 20062006-03-01
"joelove168" <joelove168@yahoo.com.tw> wrote in message
news:XJydnVbyUZpzcpjZ4p2dnA@giganews.com...
> Hi~ > > I am now studying digital IQ demod for DVB-T. I knew the principle of > fs/4 method which the A/D converter operates at the fourfold carrier > frequency, then using a 2-to-1 de-multiplexer takes odd samples for I path > and even samples for Q path. After this step, each second sample in the I > and Q path has a negative sign and so has to be multiplied by -1, i.e. > they multiply the samples alternately by =1 and -1 in the I and Q path. > After all above steps, we can get double original I and Q datum. But I and > Q path at this time are asynchronous (time-imbalance). So, we need a
16-tap
> symmetric FIR filter to interpolate Q values to retrieve the sample
between
> two values. > > After de-mux and multiply, the I and Q path as below... > time: t0 t1 t2 t3 t4 t5..... > I path: I0 I1 I2......... > Q path: Q0 Q1 Q2..... > > Now my question is .... > (1)Why we need a 16-tap symmetric FIR filter? Can we use delay instead of > FIR filter. IF FIR filter is need, can we use (Q0+Q1)/2 instead of 16-tap > symmetric FIR filter? > (2)I and Q path as above. Are I0 and I1, I2 and I3,...,Q0 and Q1,Q2 and > Q3,...the same? > > > * Need all of yours help. Thx~ > > > >
You need to delay the Q path by half a sample. (Q0+Q1)/2 is a linear approximation for that but you won't get very good performance with it(the bandwidth for which the half sample delay is correct will be small). I usually use fir1 with a cutoff off of exactly 0.5 in Matlab: hs_dly_filt = fir1(24,0.5); Don't forget to decimate the taps by 2 (every other tap from above is zero) and don't forget to delay your I path by the same amount of delay through this filter. In this case it's 24/2/2 = 6. (first 2 is decimation, second 2 is half way through the filter) -Clark P.S. - I'd be interested in hearing about your dvb-t demodulation. I assume its the 8-vsb kind? Are you working against OTA samples?
Reply by joelove168 March 1, 20062006-03-01
Hi~

   I am now studying digital IQ demod for DVB-T. I knew the principle of
fs/4 method which the A/D converter operates at the fourfold carrier
frequency, then using a 2-to-1 de-multiplexer takes odd samples for I path
and even samples for Q path. After this step, each second sample in the I
and Q path has a negative sign and so has to be multiplied by -1, i.e.
they multiply the samples alternately by =1 and -1 in the I and Q path.
After all above steps, we can get double original I and Q datum. But I and
Q path at this time are asynchronous (time-imbalance). So, we need a 16-tap
symmetric FIR filter to interpolate Q values to retrieve the sample between
two values.

After de-mux and multiply, the I and Q path as below...
time:    t0  t1  t2  t3  t4  t5.....
I path:  I0      I1      I2.........
Q path:      Q0      Q1      Q2.....

Now my question is ....
(1)Why we need a 16-tap symmetric FIR filter? Can we use delay instead of
FIR filter. IF FIR filter is need, can we use (Q0+Q1)/2 instead of 16-tap
symmetric FIR filter?
(2)I and Q path as above. Are I0 and I1, I2 and I3,...,Q0 and Q1,Q2 and
Q3,...the same?


* Need all of yours help. Thx~