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. 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. 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. 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 5) adding 4 bits resolution to the NCO phase, accumulator and amplitude has no effect. 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
RE: Demod Woes
Started by ●October 28, 2005
Reply by ●October 28, 20052005-10-28
I don't have a specific answer but some general suggestions... you know of course that the BW of an FM signal in considerably wider compared to the deviation? maybe as much as 270 kHz in your case...there is nothing in the system that restricts the BW too much? is the distortion worse with high modulating frequencies for a given deviation? indicates a BW issue.. plot out all the Bessel sidebands to see this does the distrotion suddently get worse when you exceed a certain deviation regardless of modulating freq? may indicate overflow issue what does the demodulated tone look like on a scope? is there any clipping, crossover distortion? any visable error? odd order distortion indicates you have the same error for the + and - portions of the demodulated waveform,.... can you see if it is sudden clipping or a gradual compression? Mark
Reply by ●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 > effectWhat 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