I'm sending a signal from a 433Mhz transmitter to a receiver. I want to validate that the receiver is in-fact receiving the signal from my transmitter, rather than just "noise", or other non-related signals that may happen on that channel frequency.
The easiest way of modulating my transmitter is On-Off-Keying (OOK), with a 50-50% duty cycle. In fact, the receiver expects OOK; it uses an AC-coupled detector, so that a steady-carrier would not be detected properly. The keying rate can be between 2Hz and 3kHz.
If the receiver sees just noise (no signal), the receiver output randomly pulses between a logic high and a logic low, where the period between up-edges is quite random. I plan to do a histogram of noise-induced periods, and I will choose a OOK rate which is away from the peak.
If the receiver sees my OOKed signal, the period between up-edges is determined by the OOK keying signal period.
I would like to implement a software "tone-decoder", which effectively validates the receiver output based on getting n-successive periods of the expected duration, sort of like an old NE567 PLL tone-decoder. n should be settable to something like 10 to 50 periods. It can take a second or so to validate the signal...
I plan to use a low-power processor (simple PIC?) to watch the period between up-edges. For further power saving, I would like to use some sort of period measurement based on a free-running (but slow, like 32kHz) crystal clock, where clock cycles are counted in a timer-counter, and where the processor only wakes-up (comes out of sleep) briefly during each up-edge of the receiver detector output.
I can rely on the stability of a similar 32kHz clock at the transmitter, so I might not actually have to implement a PLL; just rely on the two oscillators being close enough.
Anybody done anything like this before? Any previous threads?
The easiest way of modulating my transmitter is On-Off-Keying (OOK), with a 50-50% duty cycle. In fact, the receiver expects OOK; it uses an AC-coupled detector, so that a steady-carrier would not be detected properly. The keying rate can be between 2Hz and 3kHz.
If the receiver sees just noise (no signal), the receiver output randomly pulses between a logic high and a logic low, where the period between up-edges is quite random. I plan to do a histogram of noise-induced periods, and I will choose a OOK rate which is away from the peak.
If the receiver sees my OOKed signal, the period between up-edges is determined by the OOK keying signal period.
I would like to implement a software "tone-decoder", which effectively validates the receiver output based on getting n-successive periods of the expected duration, sort of like an old NE567 PLL tone-decoder. n should be settable to something like 10 to 50 periods. It can take a second or so to validate the signal...
I plan to use a low-power processor (simple PIC?) to watch the period between up-edges. For further power saving, I would like to use some sort of period measurement based on a free-running (but slow, like 32kHz) crystal clock, where clock cycles are counted in a timer-counter, and where the processor only wakes-up (comes out of sleep) briefly during each up-edge of the receiver detector output.
I can rely on the stability of a similar 32kHz clock at the transmitter, so I might not actually have to implement a PLL; just rely on the two oscillators being close enough.
Anybody done anything like this before? Any previous threads?
Last edited: