DSPRelated.com
Forums

Premodulation filter/PLL loop filter

Started by Jon Mcleod July 17, 2007
Mayby not the right group, but..

On my bench, I have created an ad-hoc signal generator to drive some old 
paging receiver boards.  I am using a DDS to generate phase-continuous, 
4-level FSK.  I'm then "multiplying" the output of the DDS (using a 
PLL/VCO module) by 11, creating an RF carrier.  The output of the VCO is 
the RF carrier (~929MHz).

Doing this, I can actually create a carrier that meets the transmission 
mask, but the modulation doesn't really work.  I'm using the PLL loop 
filter to replace the premodulation filter that might have been in a 
commercial paging transmitter 15 years ago.  My problem is that the PLL 
is either unstable, or the loop filter flattens out the symbols.  I 
can't seem to get it right.

For premodulation, the protocol specifies a "10th order bessel with 
fc=3.9KHz".  Generally speaking, is there any analytical way to 
"convert" a baseband premodulation filter into the correct loop filter 
for my setup?

[At this point, the project is basically moot.  A guy here found an old 
paging transmitter somewhere that still works.   But I would like to see 
my setup work before I scrap it.  I'd like to walk away from this 
learning SOMETHING.   Any thoughts are appreciated].

Thanks.

Jon Mcleod wrote:

> Mayby not the right group, but..
Why not? Here you can find the best specialists. They are very nice people, too.
> On my bench, I have created an ad-hoc signal generator to drive some old > paging receiver boards. I am using a DDS to generate phase-continuous, > 4-level FSK. I'm then "multiplying" the output of the DDS (using a > PLL/VCO module) by 11, creating an RF carrier. The output of the VCO is > the RF carrier (~929MHz).
I did a very similar design for the professional paging transmitter somewhat 14 years ago. This is a good approach although you should be carefull about all kinds of noise and spurs from PLL and DDS.
> Doing this, I can actually create a carrier that meets the transmission > mask, but the modulation doesn't really work. I'm using the PLL loop > filter to replace the premodulation filter that might have been in a > commercial paging transmitter 15 years ago. My problem is that the PLL > is either unstable, or the loop filter flattens out the symbols. I > can't seem to get it right.
This is not right. The PLL filter should be relatively wide; that reduces the noise of VCO. The main filtering should be done in the digital domain prior to the DDS modulation. The PLL filer should have just enough of attenuation to kill the digital aliases and spurs.
> For premodulation, the protocol specifies a "10th order bessel with > fc=3.9KHz".
Bessel-10 is the heritage of the old time analog transmitters. Actually, any linear phase lowpass filter with the 60dB/oct rolloff at 3.9kHz will do the job.
> Generally speaking, is there any analytical way to > "convert" a baseband premodulation filter into the correct loop filter > for my setup?
Yes, you can do it that way however it would not be the optimal solution for the spectral purity of the transmitter.
> [At this point, the project is basically moot. A guy here found an old > paging transmitter somewhere that still works. But I would like to see > my setup work before I scrap it. I'd like to walk away from this > learning SOMETHING. Any thoughts are appreciated].
Well, now you know that it is possible to make it work :) Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky wrote:
> > > Jon Mcleod wrote: > >> Mayby not the right group, but.. > > Why not? Here you can find the best specialists. They are very nice > people, too. > >> On my bench, I have created an ad-hoc signal generator to drive some >> old paging receiver boards. I am using a DDS to generate >> phase-continuous, 4-level FSK. I'm then "multiplying" the output of >> the DDS (using a PLL/VCO module) by 11, creating an RF carrier. The >> output of the VCO is the RF carrier (~929MHz). > > > I did a very similar design for the professional paging transmitter > somewhat 14 years ago. This is a good approach although you should be > carefull about all kinds of noise and spurs from PLL and DDS.
We did this about 16 years ago for an Ermes type signal, but at 928MHz - Ermes never took off, so the transmitter never went into production. With the cheaper DDS chips at that time, and the available DACs, we could only generate our digitally crafted signal at a few MHz. By the time we multiplied that to 928MHz the noise was troublesome. We ended up with a mixed approach, which gave clean results more easily. These days the DDS can be much faster, and I guess multplying by only 11 will work well. Steve
Vladimir Vassilevsky wrote:

>> Doing this, I can actually create a carrier that meets the >> transmission mask, but the modulation doesn't really work. I'm using >> the PLL loop filter to replace the premodulation filter that might >> have been in a commercial paging transmitter 15 years ago. My problem >> is that the PLL is either unstable, or the loop filter flattens out >> the symbols. I can't seem to get it right. > > This is not right. The PLL filter should be relatively wide; that > reduces the noise of VCO. The main filtering should be done in the > digital domain prior to the DDS modulation. The PLL filer should have > just enough of attenuation to kill the digital aliases and spurs.
I see. The uC talking to the DDS should interpolate and then filter the base band "square wave," and then pass the result to the DDS as a string of frequency words. I don't think the uC I was using would have had nearly enough horsepower to do this .. I'd need a real DSP. Actually, the DDS has a "linear sweep" function that maybe could have helped, sweeping continuously between the 4 levels? I think there was also a version of this part with RAM inside of it, so I could have precalculated the waveforms and loaded them in.
>> For premodulation, the protocol specifies a "10th order bessel with >> fc=3.9KHz". > > Bessel-10 is the heritage of the old time analog transmitters. Actually, > any linear phase lowpass filter with the 60dB/oct rolloff at 3.9kHz will > do the job.
This would have been a "FIR" filter?
>> Generally speaking, is there any analytical way to "convert" a >> baseband premodulation filter into the correct loop filter for my setup? > > Yes, you can do it that way however it would not be the optimal solution > for the spectral purity of the transmitter. > >> [At this point, the project is basically moot. A guy here found an >> old paging transmitter somewhere that still works. But I would like >> to see my setup work before I scrap it. I'd like to walk away from >> this learning SOMETHING. Any thoughts are appreciated]. > > Well, now you know that it is possible to make it work :)
Yes, but I think I did have one very weak link -- my uC was not powerful enough to do the DSP required! Thanks for the answers!
Jon Mcleod wrote:
> Vladimir Vassilevsky wrote: > >>> Doing this, I can actually create a carrier that meets the >>> transmission mask, but the modulation doesn't really work. I'm using >>> the PLL loop filter to replace the premodulation filter that might >>> have been in a commercial paging transmitter 15 years ago. My >>> problem is that the PLL is either unstable, or the loop filter >>> flattens out the symbols. I can't seem to get it right. >> >> This is not right. The PLL filter should be relatively wide; that >> reduces the noise of VCO. The main filtering should be done in the >> digital domain prior to the DDS modulation. The PLL filer should have >> just enough of attenuation to kill the digital aliases and spurs. > > I see. The uC talking to the DDS should interpolate and then filter the > base band "square wave," and then pass the result to the DDS as a string > of frequency words. I don't think the uC I was using would have had > nearly enough horsepower to do this .. I'd need a real DSP. Actually, > the DDS has a "linear sweep" function that maybe could have helped, > sweeping continuously between the 4 levels? I think there was also a > version of this part with RAM inside of it, so I could have > precalculated the waveforms and loaded them in. > >>> For premodulation, the protocol specifies a "10th order bessel with >>> fc=3.9KHz". >> >> Bessel-10 is the heritage of the old time analog transmitters. >> Actually, any linear phase lowpass filter with the 60dB/oct rolloff at >> 3.9kHz will do the job. > > This would have been a "FIR" filter? > >>> Generally speaking, is there any analytical way to "convert" a >>> baseband premodulation filter into the correct loop filter for my setup? >> >> Yes, you can do it that way however it would not be the optimal >> solution for the spectral purity of the transmitter. >> >>> [At this point, the project is basically moot. A guy here found an >>> old paging transmitter somewhere that still works. But I would like >>> to see my setup work before I scrap it. I'd like to walk away from >>> this learning SOMETHING. Any thoughts are appreciated]. >> >> Well, now you know that it is possible to make it work :) > > Yes, but I think I did have one very weak link -- my uC was not powerful > enough to do the DSP required! > > Thanks for the answers!
Depending on what you need it for you may be able to just use the square frequency output -- the pagers will probably still be able to decode the result, but your transmitted bandwidth will be wider than spec. As long as you're doing it on a bench you'll be OK. Your linear phase change idea may also be close enough, and the sidebands would be lower. I'd be tempted to generate my signal then run it through a series of doublers and/or triplers to multiply by 9 or 12. No, this isn't as cool as a PLL, but I could probably design the circuit in my head and assemble it dead-bug on a ground plane, all without recourse to a pad and pencil, much less a computer, for the design. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" gives you just what it says. See details at http://www.wescottdesign.com/actfes/actfes.html

Steve Underwood wrote:

>>> I am using a DDS to generate >>> phase-continuous, 4-level FSK. I'm then "multiplying" the output of >>> the DDS (using a PLL/VCO module) by 11, creating an RF carrier. The >>> output of the VCO is the RF carrier (~929MHz). >> >> I did a very similar design for the professional paging transmitter >> somewhat 14 years ago. This is a good approach although you should be >> carefull about all kinds of noise and spurs from PLL and DDS. > > > We did this about 16 years ago for an Ermes type signal, but at 928MHz - > Ermes never took off, so the transmitter never went into production.
Our primary goals were POCSAG and FLEX standards. From the RF prospective, ERMES and FLEX are very similar. We built about 100 transmitters. At that time it became apparent that paging as a whole goes to the decline.
> With the cheaper DDS chips at that time, and the available DACs, we > could only generate our digitally crafted signal at a few MHz.
Likewise. However the main limitation for me was the PLL chip. It was very problematic to use the phase comparator at higher frequencies. Also, with the higher DDS clock the frequency resolution is lower; the 32bit phase accumulator is not very big at all.
> By the > time we multiplied that to 928MHz the noise was troublesome. We ended up > with a mixed approach, which gave clean results more easily. These days > the DDS can be much faster, and I guess multplying by only 11 will work > well.
It was possible to get a clean signal by the direct multiplication by PLL even at that time. However it took a lot of work on optimization of everything. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com