Reply by dbell October 28, 20052005-10-28
I have used the I,Q,dI,dQ equation below in a high-performance FM
receiver. It worked really well.  See questions below.

Dirk

Paul Solomon wrote:
> Hi All, > > This email is partly an update and thanks for past help, and partly a plea > for further help. > > Thanks for your replies from my previous thread on my demod issues, I have > had someone send me some fir coeff's for the differentiators which I implemented > with no noticable improvement in the intermod problem.
What were you differentiating? Phase I assume, but derived /unwrapped how? The equation below avoids phase unwrapping problems. I have also implemented
> the FM demod as a I*d(Q)/dt - Q*d(I)/dt method which Clay has mentioned several > times and I still have the same issue with that (I used the diagram on pg > 551 of ricks understanding DSP as a guide and so I am using (1, 0, -1) for > the differentiator, but I believe that the differentiator will have no noticeable > effect from the tests I did with the FIR differentiators after the cordic > ATAN in the last design), so I am now at a loss. >
(-1,0,1) is a HORRIBLE differentiator UNLESS you are GROSSLY oversampled. Did you remember to correspondingly delay I and Q to plug into the equation everywhere except for the deriviative inputs?
> The current condition is that when I use a external FM modulator (test equipment) > and a FM test receiver and a Audio test set, I can get a Total Harmonic Distortion(THD) > through the system of about 0.2% Is I remove the FM test receiver and use > my FPGA demod then I am getting THD figures of about 1.9% Looking at the > spectrum, the harmonics are about 25dB down from the main signal and they > are only odd harmonics, (but the first harmonic is not present). So I get > the 3rd, 5th, 7th, and 9th harmonic typically, although the number of harmonics > that I get varies with the modulation depth (All the normal tests are done > with standard 75kHz deviation). > > I have tried everything I can think of to work out the cause of these harmonics > and this consists of the following. > > 1) Put the test signal through my FPGA using the ADC and DAC to purely pass > the FM signal > - This works fine and there are no harmonics. > > 2) Using a Cordic ATAN2 phase detector and a differentiator, I tried several > FIR differentiators and none had any effect.
Phase unwrapping problems will cause errors.
> 3) Decimation rate of 16, 32, and 64 has no effect > 4) Increasing the CIC filter in the front end from 3rd order to 4th has no > effect
What kind of decimators did you use after the CIC filter? CIC filters aren't real good for bandlimiting by themselves. Usually there is more decimation to be done (commonly multiple decimating half-band filters) before a final good FIR.
> 5) adding 4 bits resolution to the NCO phase, accumulator and amplitude has > no effect.
How big is your phase accumulator? What is a nominal increment? Which bits are extracted?
> 6) adding extra bits in the data path of the demod has no effect (currently > using 20bit for I and Q) > > The FIR filter that I use for the channel selection has about 70dB stop band > rejection and it large (~300 tap) which I would have thought would be sufficient. > I can try modifing that later. > > But with all these changes, I have had no improvement or degridation in the > harmonic performance, I have no ideas why I am getting these harmonics or > how to get rid of them.. > > Any ideas would be greatly appreceiated. > > Regards, > > Paul Solomon
Reply by dbell October 28, 20052005-10-28
I have used the I,Q,dI,dQ equation below in a high-performance FM
receiver. It worked really well.  See questions below.

Dirk

Paul Solomon wrote:
> Hi All, > > This email is partly an update and thanks for past help, and partly a plea > for further help. > > Thanks for your replies from my previous thread on my demod issues, I have > had someone send me some fir coeff's for the differentiators which I implemented > with no noticable improvement in the intermod problem.
What were you differentiating? Phase I assume, but derived /unwrapped how? The equation below avoids phase unwrapping problems. I have also implemented
> the FM demod as a I*d(Q)/dt - Q*d(I)/dt method which Clay has mentioned several > times and I still have the same issue with that (I used the diagram on pg > 551 of ricks understanding DSP as a guide and so I am using (1, 0, -1) for > the differentiator, but I believe that the differentiator will have no noticeable > effect from the tests I did with the FIR differentiators after the cordic > ATAN in the last design), so I am now at a loss. >
(-1,0,1) is a HORRIBLE differentiator UNLESS you are GROSSLY oversampled. Did you remember to correspondingly delay I and Q to plug into the equation everywhere except for the deriviative inputs?
> The current condition is that when I use a external FM modulator (test equipment) > and a FM test receiver and a Audio test set, I can get a Total Harmonic Distortion(THD) > through the system of about 0.2% Is I remove the FM test receiver and use > my FPGA demod then I am getting THD figures of about 1.9% Looking at the > spectrum, the harmonics are about 25dB down from the main signal and they > are only odd harmonics, (but the first harmonic is not present). So I get > the 3rd, 5th, 7th, and 9th harmonic typically, although the number of harmonics > that I get varies with the modulation depth (All the normal tests are done > with standard 75kHz deviation). > > I have tried everything I can think of to work out the cause of these harmonics > and this consists of the following. > > 1) Put the test signal through my FPGA using the ADC and DAC to purely pass > the FM signal > - This works fine and there are no harmonics. > > 2) Using a Cordic ATAN2 phase detector and a differentiator, I tried several > FIR differentiators and none had any effect.
Phase unwrapping problems will cause errors.
> 3) Decimation rate of 16, 32, and 64 has no effect > 4) Increasing the CIC filter in the front end from 3rd order to 4th has no > effect
What kind of decimators did you use after the CIC filter? CIC filters aren't real good for bandlimiting by themselves. Usually there is more decimation to be done (commonly multiple decimating half-band filters) before a final good FIR.
> 5) adding 4 bits resolution to the NCO phase, accumulator and amplitude has > no effect.
How big is your phase accumulator? What is a nominal increment? Which bits are extracted?
> 6) adding extra bits in the data path of the demod has no effect (currently > using 20bit for I and Q) > > The FIR filter that I use for the channel selection has about 70dB stop band > rejection and it large (~300 tap) which I would have thought would be sufficient. > I can try modifing that later. > > But with all these changes, I have had no improvement or degridation in the > harmonic performance, I have no ideas why I am getting these harmonics or > how to get rid of them.. > > Any ideas would be greatly appreceiated. > > Regards, > > Paul Solomon
Reply by dbell October 28, 20052005-10-28
I have used the I,Q,dI,dQ equation below in a high-performance FM
receiver. It worked really well.  See questions below.

Dirk

Paul Solomon wrote:
> Hi All, > > This email is partly an update and thanks for past help, and partly a plea > for further help. > > Thanks for your replies from my previous thread on my demod issues, I have > had someone send me some fir coeff's for the differentiators which I implemented > with no noticable improvement in the intermod problem.
What were you differentiating? Phase I assume, but derived /unwrapped how? The equation below avoids phase unwrapping problems. I have also implemented
> the FM demod as a I*d(Q)/dt - Q*d(I)/dt method which Clay has mentioned several > times and I still have the same issue with that (I used the diagram on pg > 551 of ricks understanding DSP as a guide and so I am using (1, 0, -1) for > the differentiator, but I believe that the differentiator will have no noticeable > effect from the tests I did with the FIR differentiators after the cordic > ATAN in the last design), so I am now at a loss. >
(-1,0,1) is a HORRIBLE differentiator UNLESS you are GROSSLY oversampled. Did you remember to correspondingly delay I and Q to plug into the equation everywhere except for the deriviative inputs?
> The current condition is that when I use a external FM modulator (test equipment) > and a FM test receiver and a Audio test set, I can get a Total Harmonic Distortion(THD) > through the system of about 0.2% Is I remove the FM test receiver and use > my FPGA demod then I am getting THD figures of about 1.9% Looking at the > spectrum, the harmonics are about 25dB down from the main signal and they > are only odd harmonics, (but the first harmonic is not present). So I get > the 3rd, 5th, 7th, and 9th harmonic typically, although the number of harmonics > that I get varies with the modulation depth (All the normal tests are done > with standard 75kHz deviation). > > I have tried everything I can think of to work out the cause of these harmonics > and this consists of the following. > > 1) Put the test signal through my FPGA using the ADC and DAC to purely pass > the FM signal > - This works fine and there are no harmonics. > > 2) Using a Cordic ATAN2 phase detector and a differentiator, I tried several > FIR differentiators and none had any effect.
Phase unwrapping problems will cause errors.
> 3) Decimation rate of 16, 32, and 64 has no effect > 4) Increasing the CIC filter in the front end from 3rd order to 4th has no > effect
What kind of decimators did you use after the CIC filter? CIC filters aren't real good for bandlimiting by themselves. Usually there is more decimation to be done (commonly multiple decimating half-band filters) before a final good FIR.
> 5) adding 4 bits resolution to the NCO phase, accumulator and amplitude has > no effect.
How big is your phase accumulator? What is a nominal increment? Which bits are extracted?
> 6) adding extra bits in the data path of the demod has no effect (currently > using 20bit for I and Q) > > The FIR filter that I use for the channel selection has about 70dB stop band > rejection and it large (~300 tap) which I would have thought would be sufficient. > I can try modifing that later. > > But with all these changes, I have had no improvement or degridation in the > harmonic performance, I have no ideas why I am getting these harmonics or > how to get rid of them.. > > Any ideas would be greatly appreceiated. > > Regards, > > Paul Solomon