Reply by mnentwig August 24, 20112011-08-24
Hi,

What comse to mind is (for example)
- polyphase 2/5 from 12 Msps to 4.8 Msps, maybe 14 taps as starting point
- polyphase 8/5 to 7.68 Msps
- RRC filter decimates by 2 to 3.84 Msps

The RRC filter running at the lower rate should save some resources,
compared to your original design.

Reply by Huzaifa Kapasi August 24, 20112011-08-24

Small clarification. There is no channel at the  moment and is not
expected. However, farrow structure as you suggest, would be a better
choice to address the issue.

Regards
Huzaifa



>Hi Eric > >Thanks for your reply. I visited your articles on jitter. It was very >helpful. > >Regarding the problem I had, I managed to have some architectural changes >and get the sampling frequency as integer multiple. I thought this was >relatively the only best solution that could be worked out at the moment. >Now the onus is on the accuracy and stability of my ADC. > > >Regards >Huzaifa > > >>Generally, yes, if you don't mind some significant residual error rate >>due to the jitter you can upsample to 4-8x (or higher) and just pick >>the sample that is closest to the eye opening, depending on the >>rolloff rate (i.e., excess bandwidth) of the RRC filter. >> >>You can look at Figure 7 here and get an idea of how the pulse shape >>affects the sensitivity to jitter: >> >>http://www.dsprelated.com/showarticle/60.php >> >>Interpolating every sample and picking the best, however you decide >>how to pick the best one, is also fairly inefficient computationally >>since you wind up computing a bunch of samples that you don't need or >>use. >> >>The main avantages of using a polyphase or Farrow structure in the >>demodulator is that you compute only the samples that you're going to >>use and you can interpolate exactly where you want, i.e., where you >>think the zero-ISI point is. >> >> >>On Mon, 01 Aug 2011 03:50:17 -0500, "Huzaifa Kapasi" >><huzaifa.kapasi@n_o_s_p_a_m.tcs.com> wrote: >> >>> >>> >>>Hi Steve, >>> >>>Thanks for your inputs. >>> >>>I had one more question >>> >>> >>>If I use data at 4x or 8x before downsampling, I may have better chance >>>of hitting the correcting sampling point and reduce jitter to
acceptable
>>>level. >>>Or adjust the DAC sampling at integer U/D sampling at higher rate. >>> >>>Is this understanding correct? >>> >>>Regards >>>Huzaifa >>>>>Hi Steve, >>>>> >>>>>Yeah, I actually meant Jitter. Is there any way of reducing this >jitter. >>>>>I also tried to use interpolation by estimating Early ontime late >>>>>mechanism. But no use. I have only tried linear interpolation so far. >>>>> >>>>>Although resampling pattern seems horrible, it is not as bad. I get >>>Mean >>>>>Squared Error of about 7dB.This is still not good enough for higher >>>>>modulation. >>>>> >>>>>Seems I will have to use polyphase mechanism to resample. >>>>> >>>>>Thanks >>>>>Huzaifa >>>> >>>>As I said before, your 7dB figure is an average over the 25 sample >>>>sequence. With your pattern, you build up 7/8ths of a sample of timing >>>>error, and release it in one go. If you look at the 8 RMS errors >>>calculated >>>>from the 8 phases of your sequence you will see very different errors >>>>across those phases. >>>> >>>>Steve >>>> >>>> >> >>Eric Jacobsen >>http://www.ericjacobsen.org >>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >> >
Reply by Huzaifa Kapasi August 24, 20112011-08-24
Just add a clarification. I dont have any channel at the moment. All I need
to is resample the received data at correct timing instant.However, farrow
structure, as you suggested, would be a better option otherwise.

Regards
Huzaifa

>Hi Eric > >Thanks for your reply. I visited your articles on jitter. It was very >helpful. > >Regarding the problem I had, I managed to have some architectural changes >and get the sampling frequency as integer multiple. I thought this was >relatively the only best solution that could be worked out at the moment. >Now the onus is on the accuracy and stability of my ADC. > > >Regards >Huzaifa > > >>Generally, yes, if you don't mind some significant residual error rate >>due to the jitter you can upsample to 4-8x (or higher) and just pick >>the sample that is closest to the eye opening, depending on the >>rolloff rate (i.e., excess bandwidth) of the RRC filter. >> >>You can look at Figure 7 here and get an idea of how the pulse shape >>affects the sensitivity to jitter: >> >>http://www.dsprelated.com/showarticle/60.php >> >>Interpolating every sample and picking the best, however you decide >>how to pick the best one, is also fairly inefficient computationally >>since you wind up computing a bunch of samples that you don't need or >>use. >> >>The main avantages of using a polyphase or Farrow structure in the >>demodulator is that you compute only the samples that you're going to >>use and you can interpolate exactly where you want, i.e., where you >>think the zero-ISI point is. >> >> >>On Mon, 01 Aug 2011 03:50:17 -0500, "Huzaifa Kapasi" >><huzaifa.kapasi@n_o_s_p_a_m.tcs.com> wrote: >> >>> >>> >>>Hi Steve, >>> >>>Thanks for your inputs. >>> >>>I had one more question >>> >>> >>>If I use data at 4x or 8x before downsampling, I may have better chance >>>of hitting the correcting sampling point and reduce jitter to
acceptable
>>>level. >>>Or adjust the DAC sampling at integer U/D sampling at higher rate. >>> >>>Is this understanding correct? >>> >>>Regards >>>Huzaifa >>>>>Hi Steve, >>>>> >>>>>Yeah, I actually meant Jitter. Is there any way of reducing this >jitter. >>>>>I also tried to use interpolation by estimating Early ontime late >>>>>mechanism. But no use. I have only tried linear interpolation so far. >>>>> >>>>>Although resampling pattern seems horrible, it is not as bad. I get >>>Mean >>>>>Squared Error of about 7dB.This is still not good enough for higher >>>>>modulation. >>>>> >>>>>Seems I will have to use polyphase mechanism to resample. >>>>> >>>>>Thanks >>>>>Huzaifa >>>> >>>>As I said before, your 7dB figure is an average over the 25 sample >>>>sequence. With your pattern, you build up 7/8ths of a sample of timing >>>>error, and release it in one go. If you look at the 8 RMS errors >>>calculated >>>>from the 8 phases of your sequence you will see very different errors >>>>across those phases. >>>> >>>>Steve >>>> >>>> >> >>Eric Jacobsen >>http://www.ericjacobsen.org >>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >> >
Reply by Huzaifa Kapasi August 24, 20112011-08-24
Hi Eric

Thanks for your reply. I visited your articles on jitter. It was very
helpful.

Regarding the problem I had, I managed to have some architectural changes
and get the sampling frequency as integer multiple. I thought this was
relatively the only best solution that could be worked out at the moment.
Now the onus is on the accuracy and stability of my ADC.


Regards
Huzaifa


>Generally, yes, if you don't mind some significant residual error rate >due to the jitter you can upsample to 4-8x (or higher) and just pick >the sample that is closest to the eye opening, depending on the >rolloff rate (i.e., excess bandwidth) of the RRC filter. > >You can look at Figure 7 here and get an idea of how the pulse shape >affects the sensitivity to jitter: > >http://www.dsprelated.com/showarticle/60.php > >Interpolating every sample and picking the best, however you decide >how to pick the best one, is also fairly inefficient computationally >since you wind up computing a bunch of samples that you don't need or >use. > >The main avantages of using a polyphase or Farrow structure in the >demodulator is that you compute only the samples that you're going to >use and you can interpolate exactly where you want, i.e., where you >think the zero-ISI point is. > > >On Mon, 01 Aug 2011 03:50:17 -0500, "Huzaifa Kapasi" ><huzaifa.kapasi@n_o_s_p_a_m.tcs.com> wrote: > >> >> >>Hi Steve, >> >>Thanks for your inputs. >> >>I had one more question >> >> >>If I use data at 4x or 8x before downsampling, I may have better chance >>of hitting the correcting sampling point and reduce jitter to acceptable >>level. >>Or adjust the DAC sampling at integer U/D sampling at higher rate. >> >>Is this understanding correct? >> >>Regards >>Huzaifa >>>>Hi Steve, >>>> >>>>Yeah, I actually meant Jitter. Is there any way of reducing this
jitter.
>>>>I also tried to use interpolation by estimating Early ontime late >>>>mechanism. But no use. I have only tried linear interpolation so far. >>>> >>>>Although resampling pattern seems horrible, it is not as bad. I get >>Mean >>>>Squared Error of about 7dB.This is still not good enough for higher >>>>modulation. >>>> >>>>Seems I will have to use polyphase mechanism to resample. >>>> >>>>Thanks >>>>Huzaifa >>> >>>As I said before, your 7dB figure is an average over the 25 sample >>>sequence. With your pattern, you build up 7/8ths of a sample of timing >>>error, and release it in one go. If you look at the 8 RMS errors >>calculated >>>from the 8 phases of your sequence you will see very different errors >>>across those phases. >>> >>>Steve >>> >>> > >Eric Jacobsen >http://www.ericjacobsen.org >http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php >
Reply by Eric Jacobsen August 1, 20112011-08-01
Generally, yes, if you don't mind some significant residual error rate
due to the jitter you can upsample to 4-8x (or higher) and just pick
the sample that is closest to the eye opening, depending on the
rolloff rate (i.e., excess bandwidth) of the RRC filter.

You can look at Figure 7 here and get an idea of how the pulse shape
affects the sensitivity to jitter:

http://www.dsprelated.com/showarticle/60.php

Interpolating every sample and picking the best, however you decide
how to pick the best one, is also fairly inefficient computationally
since you wind up computing a bunch of samples that you don't need or
use.

The main avantages of using a polyphase or Farrow structure in the
demodulator is that you compute only the samples that you're going to
use and you can interpolate exactly where you want, i.e., where you
think the zero-ISI point is.


On Mon, 01 Aug 2011 03:50:17 -0500, "Huzaifa Kapasi"
<huzaifa.kapasi@n_o_s_p_a_m.tcs.com> wrote:

> > >Hi Steve, > >Thanks for your inputs. > >I had one more question > > >If I use data at 4x or 8x before downsampling, I may have better chance >of hitting the correcting sampling point and reduce jitter to acceptable >level. >Or adjust the DAC sampling at integer U/D sampling at higher rate. > >Is this understanding correct? > >Regards >Huzaifa >>>Hi Steve, >>> >>>Yeah, I actually meant Jitter. Is there any way of reducing this jitter. >>>I also tried to use interpolation by estimating Early ontime late >>>mechanism. But no use. I have only tried linear interpolation so far. >>> >>>Although resampling pattern seems horrible, it is not as bad. I get >Mean >>>Squared Error of about 7dB.This is still not good enough for higher >>>modulation. >>> >>>Seems I will have to use polyphase mechanism to resample. >>> >>>Thanks >>>Huzaifa >> >>As I said before, your 7dB figure is an average over the 25 sample >>sequence. With your pattern, you build up 7/8ths of a sample of timing >>error, and release it in one go. If you look at the 8 RMS errors >calculated >>from the 8 phases of your sequence you will see very different errors >>across those phases. >> >>Steve >> >>
Eric Jacobsen http://www.ericjacobsen.org http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php
Reply by Huzaifa Kapasi August 1, 20112011-08-01

Hi  Steve,

Thanks for your inputs.

I had one more question


If I use data at 4x or 8x before downsampling, I may have better chance
of hitting the correcting sampling point and reduce jitter to acceptable
level.
Or adjust the DAC sampling at integer U/D sampling at higher rate. 

Is this understanding correct?

Regards
Huzaifa
>>Hi Steve, >> >>Yeah, I actually meant Jitter. Is there any way of reducing this jitter. >>I also tried to use interpolation by estimating Early ontime late >>mechanism. But no use. I have only tried linear interpolation so far. >> >>Although resampling pattern seems horrible, it is not as bad. I get
Mean
>>Squared Error of about 7dB.This is still not good enough for higher >>modulation. >> >>Seems I will have to use polyphase mechanism to resample. >> >>Thanks >>Huzaifa > >As I said before, your 7dB figure is an average over the 25 sample >sequence. With your pattern, you build up 7/8ths of a sample of timing >error, and release it in one go. If you look at the 8 RMS errors
calculated
>from the 8 phases of your sequence you will see very different errors >across those phases. > >Steve > >
Reply by steveu August 1, 20112011-08-01
>Hi Steve, > >Yeah, I actually meant Jitter. Is there any way of reducing this jitter. >I also tried to use interpolation by estimating Early ontime late >mechanism. But no use. I have only tried linear interpolation so far. > >Although resampling pattern seems horrible, it is not as bad. I get Mean >Squared Error of about 7dB.This is still not good enough for higher >modulation. > >Seems I will have to use polyphase mechanism to resample. > >Thanks >Huzaifa
As I said before, your 7dB figure is an average over the 25 sample sequence. With your pattern, you build up 7/8ths of a sample of timing error, and release it in one go. If you look at the 8 RMS errors calculated from the 8 phases of your sequence you will see very different errors across those phases. Steve
Reply by Huzaifa Kapasi August 1, 20112011-08-01

Hi Steve,

Yeah, I actually meant Jitter. Is there any way of reducing this jitter.
I also tried to use interpolation by estimating Early ontime late
mechanism. But no use. I have only tried linear interpolation so far.

Although  resampling pattern seems horrible, it is not as bad. I get Mean
Squared Error of about 7dB.This is still not good enough for higher
modulation.

Seems I will have to use polyphase mechanism to resample.

Thanks
Huzaifa

>>I need to do fractional downsampling. Issue is I dont have many MIPS
with
>>me so I chose 3 3 3 4 3 3 3 3 pattern. By doing this I see noise in my >>constellation. > >Let me get this clear. You are working over 25 samples, taking the 3rd, >6th, 9th, 13th, 16th, 19th, 22nd and 25th? That's a pretty horrible form
of
>downsampling. > >>I dont think it is match RRC filter that is giving noise because I did >>fractional downsampling using RRC filter in Matlab. UpFirDn() function
in
>>Matlab. I get perfect constellation. So, I believe probelm is with my >>fractional estimation of samples. > >Well, of course. If you use proper downsampling things work. > >>The constellations look similar to about 10dB SNR. I am unable to use >>Higher modulation scheme due to this. > >This is highly misleading. The N in your SNR isn't random. Its a highly >structured pattern of error, cycling every 25 samples. You may have an >average of 10dB error, but the peak is far worse. > >>My issue is, whether I can remove this noise distortion (jitter) or I >need > >Now you are expressing things better. Jitter is far more descriptive of >what you have than saying noise. > >>to implement proper polyphase filter to fractionally resample ( >downsample >>) my data. Is it feasable on DSP in case I use PolyPhase Filter >>Downsampler? >>Matlab UpFirDn() internally uses polyphase filter to resample and the >>constellations are very good. > >Matlab offers you a fairly high quality downsampler, but you can probably >get away with something a lot simpler, unless you are aiming for very
high
>order QAM. You just can't get away with something as crude as you are
using
>right now. > >Steve > >
Reply by steveu July 31, 20112011-07-31
>I need to do fractional downsampling. Issue is I dont have many MIPS with >me so I chose 3 3 3 4 3 3 3 3 pattern. By doing this I see noise in my >constellation.
Let me get this clear. You are working over 25 samples, taking the 3rd, 6th, 9th, 13th, 16th, 19th, 22nd and 25th? That's a pretty horrible form of downsampling.
>I dont think it is match RRC filter that is giving noise because I did >fractional downsampling using RRC filter in Matlab. UpFirDn() function in >Matlab. I get perfect constellation. So, I believe probelm is with my >fractional estimation of samples.
Well, of course. If you use proper downsampling things work.
>The constellations look similar to about 10dB SNR. I am unable to use >Higher modulation scheme due to this.
This is highly misleading. The N in your SNR isn't random. Its a highly structured pattern of error, cycling every 25 samples. You may have an average of 10dB error, but the peak is far worse.
>My issue is, whether I can remove this noise distortion (jitter) or I
need Now you are expressing things better. Jitter is far more descriptive of what you have than saying noise.
>to implement proper polyphase filter to fractionally resample (
downsample
>) my data. Is it feasable on DSP in case I use PolyPhase Filter >Downsampler? >Matlab UpFirDn() internally uses polyphase filter to resample and the >constellations are very good.
Matlab offers you a fairly high quality downsampler, but you can probably get away with something a lot simpler, unless you are aiming for very high order QAM. You just can't get away with something as crude as you are using right now. Steve
Reply by Huzaifa Kapasi July 31, 20112011-07-31
Thanks all for replying.

I am replying with new user name because previous one was from gmail group
comp.dsp. It seems I cannot use the same ID here.

Okay, let me explain in a different way so that my question is better
understood.

I need to do fractional downsampling. Issue is I dont have many MIPS with
me so I chose 3 3 3 4 3 3 3 3 pattern. By doing this I see noise in my
constellation.

I dont think it is match RRC filter that is giving noise because I did
fractional downsampling using RRC filter in Matlab. UpFirDn() function in
Matlab. I get perfect constellation. So, I believe probelm is with my
fractional estimation of samples.

The constellations look similar to about 10dB SNR. I am unable to use
Higher modulation scheme due to this. 

My issue is, whether I can remove this noise distortion (jitter) or I need
to implement proper polyphase filter to fractionally resample ( downsample
) my data. Is it feasable on DSP in case I use PolyPhase Filter
Downsampler?
Matlab UpFirDn() internally uses polyphase filter to resample and the
constellations are very good.

Please help

Thanks
Huzaifa

Please help.





>>Dear all, >> >>I will be grateful if I can get some light on this. >> >>I have Tx Data upsampled from 3.84MHz to 12 MHz (@3.125X. On the Tx >>side I use a nice >>RRC filter to perform interpolation and upsample using Matlab inbuild >>polyphase filter to generate Test vectors. >> >>Problem is , on the receiver side, I do not use polyphase filter. I >>use RRc filter at the begining then downsample using 3,3,3,4,3,3,3,3 >>pattern. That is out of 25 samples I select 8. That gives me >>fractional downsampling of 3.125X. >> >>I compared the downsampled data with Tx data at 1x. The curve visually >>looks pretty good. Mean squared error is about 7dB. When I use this >>downsampled data to descramble, there is lot of noise. For BPSK case >>its fine due to good decision boundry. But for higher modulation rates >>it gives all CRC failure. >> >>I also tried to interpolate linearly to minimize MSE. But no use. >> >>Can you please suggest if I have done anything wrong conceptually. Do >>I need to use better interpolator or I will have to implement >>polyphase filter for resampling too. >> >>BTW, I used matlab polyphase downsampler at Rx also and the >>constellation is not noisy. >> >>Please help > >Why did follow the pattern 3 3 3 4 3 3 3 3 I thought you will need proper >fractional downsampler > >kadhiem >> >>Regards >> >