Generating accurate rf-frequency of 11,7511629629 Mhz
radiotechscan
Posts: 2
Generating accurate rf-frequency of 11,7511629629 Mhz
Hi,
I´m not a programmer but an Rf-technician
My partner in a project (who is a programmer) states that
below is very doable with the propellor.
I would like to know if anyone can confirm this.
I need to generate an RF-signal of 11,7511629629 Mhz
it´s used as a clock-signal for a UHF data-receiver chip.
In that UHF-receiver chip it will be transformed to a receiver-frequency·in that·370 mhz range.
where it should not be more then 1 khz off·from that center-frequency.
After generating that first frequency it will have to pause for 10 mSec
and then generate the next RF-frequency...like that it will be a scanning receiver.
That UHF-receiver chip likes best a sinus but a block will also do.
My Questions
a) Can i generate that frequency ?
b) How many digits after the comma can it be accurate·for·above example-frequency ? (11,7511629629 Mhz)
c) Can it be a sinus ? (preferred...if that´s·complicated i will use·analog circuits to make it sinus·)
d) How fast could i hop frequencies ?· ·in order to make a fast sweep ...10 mSec is fine for this project
··· but just like to·know the max achievable for future projects (fast-sweeping-rf-stuff...Mhz range)
··· The current frequency will be either calculted from a formula or···
··· looked-up from a table (probably inside the propellor).
I would be happy with a simple answer without programmers-language
a simple YES or NO will do for me...but on the other hand you may
explain in programmers-style so i can show it to my programmer.
I need to know before i invest time and money...if doable ill go for it.
Thanks !
Ron
Comments
The frequency generator is only capable of generating square waves, so you'd have to devise a system for converting it to sinusoidal.
Now for the silver lining to the dark cloud, if you divide the increment value by 2 and turn the counter's pll onto x2, and your sinusoidal genrating circuit has averaging quality and the PLL of the UHF settles slow enough, you may just be able to get the system to work with fewer birdies than the signal generated by the Propeller.
The alternative is to use a crystal for the Propeller that is half your target frequency, this makes the computation very straightforward and produces a spectrally pure waveform.
For more information on the counters used to generate frequencies, refer to AN001 - Propeller Counters availible in the Downloads section of the Propeller pages.
Switching frequencies is instantaneous, if the PLL is being used its settle time is dependant on the delta of the frequencies and is in the microseconds range.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Post Edited (Paul Baker (Parallax)) : 1/24/2007 1:03:33 AM GMT
b) Nowhere near as accurately as you sound like you want. The Propeller generates its system clock from an attached crystal or an attached oscillator, then usually multiplies that frequency using a phase-locked loop to something on the order of 80MHz max. for its system clock. In order to generate higher frequencies, it has another phase-locked loop that it can use to generate a digital pulse train up to 128MHz. All of these are derived from the original crystal or external oscillator (or an internal imprecise oscillator used as a default). The accuracy of the frequencies the Propeller can generate depend entirely on the accuracy and stability of the supplied clock and a simple crystal will not be able to provide you with the accuracy you seem to want, nor will it be stable enough over time or with ambient temperature changes. In addition, the phase-locked loops add jitter and noise to the signals they generate.
c) No. The Propeller can approximate a fairly good sine wave using pulse width modulation and simple output filtering, but only at relatively low frequencies.
d) The Propeller is a very fast processor, but this question is very complex (what frequencies? how far to hop? how much noise and other transients can you tolerate?) Basically, the Propeller is acting as a smart counter with the most significant bit brought to an I/O pin. It can generate outputs up to 128MHz, but the accuracy and stability depend on the source of the system clock and the numerical relationship between the clock and the desired output frequency. Power of 2 relationships are much much better than any other.
As another perspective on why the Propeller might not give you the spectral purity that you need, consider the fact that the period is approximately 85 nanoseconds at your target frequency. The Propeller output is quantized in units of 12.5 nanoseconds (that assuming that the Propeller is running with an 80 megahertz master clock). So it can give you an individual period of either 75 nanoseconds or 87.5 nanoseconds, but never exactly 85. The way the NCO hits your exact frequency in the long term is by mixing periods of 75 and 87.5 nanoeconds in a manner that averages out over the long term (about 1 minute) to well within 0.02 hertz of your target frequency. But over a short term (milliseconds) the main frequency components will be dominated by the 87.5 nanosecond period, a frequency of 11.42875... megahertz. What I mean is that there will be about 4 periods of 87.5 nanoseconds for every period of 75 nanoseconds, but the numerical pattern will be more difficult even than simple alternation. Plenty of jitter and subharmonic content. As has already been said, a PLL with a long enough integration time might make up some of that, however, it would have to have an integration time consideraby longer than your intended 10 millisecond hopping rate.
The NCO works much cleaner at lower target frequencies, where the target period is much greater than the 12.5 nanosecond granularity. So better results might be had by operating the NCO at around 100 kilohertz instead of 11 megahertz and use an external PLL to step it up. But if you are going to do that, the external DDS starts to sound like a good option that will give you a sinus too and resolution of better than 0.05 hertz and fast hopping.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com
Ofcourse my main goal would be to make it work with as less as possible circuitry.
Yes i have been looking at that frequency-generator chip from Analog Devices
for my project it would be this one :
http://www.analog.com/UploadedFiles/Data_Sheets/AD5932.pdf
But it would be nicer to have the propellor do that·
The UHF-receiver chip that i like to use is this one :
http://www.micrel.com/_PDF/micrf010.pdf
Both are lowcost somewhere between 3 and·10 US$
Before i give up on the propellor let me explain again :
The whole idea is to make a lowcost signal-detector
for the frequency range of lets say 370 to 380 mhz.
!!!·· ALL IT NEEDS TO DO IS··· ·" TELL ME IF THERE´S A SIGNAL··· and··· HOW STRONG IS IT "·· !!!
Basicly you hear the signal from a speaker and a 10-bar LED meter shows the avaraged fieldstrength.
I´m not intersted in the detailed contents of the signal !
Functions for the Propellor:
1) Generate a variable RF-signal-Clock for the UHF chip (11 mhz range).
2) Squelch (simple comparator function...changes state on reception above·a level)
3) Signal-strength-meter (voltage to 10-Led bar).
4) Signal-strength audible as tone (500-1500 Hz).
5) Various simple on/off functions.
I have thought of so-called wideband-receiver/detectors...these are very
simple since they receive the whole range at once.no uP needed.
...but they are not sensitive enough and an exact frequency-range can not
be determined (freq-range is only determined by the frontend saw-filter)
Since i have very-strong-signals on very-nearby-channels i will have a problem.
So my choice is a scanning receiver wich will will scan the range in 0.025 mhz steps.
1) All i want to know if there is a signal or not.
2) The signal is slow-pulsed data not voice.
3) I don´t need to decode the data so it may be fairly distorted.
So i decided on above mentioined cheap and complete UHF-receiver chip wich seems
to be perfect for my solution it even includes an AGC output wich outputs
a voltage relative to the received signal strength (RSSI).
Now...instead of using it on a single frequency it should be scanning
over all frequencies (250 channels).
In this example scanning is :
Receive first frequency· > listen for 10 mSec· > receive next frequency...etc.
if a signal is received it will stop scanning.
To do that i need a variable clock-source in the 11 Mhz range
and connect that to the receivers clock-input,
if it can switch it´s frequency every lets say 1 to 5 mSec or less
then that is fast enough for this project.
I guess the UHF chip can easely keep up with that (PLL).
Harmonics
I´m not shure about propellor generated harmonics causing a problem
since i could easely cut them off using a simple RC lowpass-filter inbetween
the propellor and the UHF-chips clock-input.
That is if you mean with "harmonics"· the 2nd,3rd,4th "overtones"
They will (should be) considerably weaker then the wanted freq.
Also for example the 2nd harmonic of 11 Mhz would be 22 Mhz and that
is a clock-frequency outside of the design of the UHF-receiver chip
and should be neglected by that chip...or at least attenuated a lot.
Such clock-frequency would also result in a far out-of-band received frequency
wich will not be received due to the frontend filter (saw).
Maybe there could be "spurii" or "mixing products" ...these are not the same as "harmonics".
In analog RF these are caused by mixing RF-signals...such "spurii" might be very well be
very close to the wanted frequency and cause problems...not shure if these occur in the propellor.
Jitter and Frequency-errors
I suppose jitter means "unstable" frequency...that would only
cause a problem if in the end (after being multiplied inside the UHF-chip)
it would cause an off-center receive frequency of more then 1 khz
Since the received signal in my case is about 20 khz wide...an off-center error
of even 3 khz would be acceptable.
I understand that jitter occurs·with the propellor...caused by the way the signals
are calculated/processed.
It would be a problem·also if those "jitters" last much longer
then the smallest pulse i like to receive...do·they last longer ?
Noise and spikes or interuptions would also cause no problem if their duration
is much shorter then the data i want to receive (only detecting its presence),
the shortest puls that i need to receive lasts about 10 mSec...if any spikes or noise
are much shorter it will only cause small interruptions in the data wich is not a real
problem since i dont need to decode that data (data errors/distortion are no problem)
Actually i´m only looking at a block of data (4QPSK) wich looks like a 10 mS pulse on my receiver.
I cant·say anything about the PLL timings inside the UHF chip...it´s not mentioned.
I will listen on each channel for about 100 mSec if there is any signal-level above
a preset level and a preset duration then the squelch will open
so being off-frequency for a few nSec (nano-seconds) should´nt be a problem since
the signal strength is avaraged (capacitor on the AGC).
I hope i´m correct here but since the (propellor)generated freq of 11,xxxxxxxx mhz
gets roughly multiplied 34 times (370 Mhz / 11 Mhz = 34) the error·should be·multiplied
by·that same number (34).
Resuming
In this rare case where i dont care about received data being noisy or distorted.
And only want to know if it is there or not (for rough fieldstrength measurements only),
And it will be acceptable if the generated waveform is a block,
And it will be acceptable if the RX freq is max 3 khz off,
And harmonics will be neglected since they will be outside the UHF-receivers functionality
caused by the UHF-chips PLL working range and receivers-frontend filtering.
And·any error in (propellor) generated frequency gets roughly
multiplied a 34 times and an received frequency error of 1 ~ 3 Khz is acceptable.
And short glitches of less then 1 mSec don´t matter
Would you say that after reading above... (hope you had a look at thAT RX-chip as well)
THAT I CAN I USE THE PROPELLOR FOR THIS PURPOSE AND HAVE IT DIRECTLY GENERATE·A 11 MHZ SIGNAL ?
Thanks again !
Ron