I have a police radio scanner that I listen to a lot.
When there is a crime in progress, or something life threatening happening, the dispatchers broadcast an audible alert tone over the radio followed by a description of the situation.
I want to create a circuit that "listens" for the radio alert tone, and then sounds another louder alert. When I hear the louder alert (from the circuit), I will know to go turn up the volume on my scanner and find out what the emergency is.
Is something like this possible? My goal is to not have to listen to all the non-emergency police transmissions and just the emergencies, or priorities as the police call them.
Ahh, this is called a quick-call. Some scanners actually have this feature built in. It is either two tones separated by about 1s of silence or a pair of tones, silence, then another pair of tones.
It doesn't sound like there is a standard for the exact frequencies used. You will need to know the frequencies used by the service that you are interested in.
I do not know what the exact tone is. Do you think I can try and figure out the "range" of the tone by looking at the input numbers that a microphone reads? Then when the microphone hears that range, it will play the louder alert tone.
Record the tones and post them. It would be simple to look at them in a waveform editor to find out what they are. I would advise recording directly from the output jack, not through a microphone so you don't pick up other noise. Set your squelch so it is silent except during transmission.
When you build the circuit, I also wouldn't recommend using a microphone. Connect directly to the audio output.
Well, let's look at the tones first. I would still recommend a tone decoder of some sort. But a LM567 would get set for a single tone. So, if there are four different tones in sequence, for example, there are some other options besides using four LM567 circuits. Once we identify the tones, it would be easier for me to recommend a circuit.
Another option would be shaping the input to a digital level and using pulsein() to identify the tones, but trying to catch them properly might be tricky and the circuitry might be a bit tricky to filter out normal audio.
PeterH:
It might be overkill, but I suppose you could use a voice recognition system such as EasyVR.
By the way, is it legal to use the scanner where you are? It seems like the sort of thing that might be legislated against.
In most places around the world, listening to unencrypted police radio is not prohibited. That is because of the way the broadcast happens (broadcast being a keyword here). They are sending their voice over the air, which is a public medium, unencrypted, in a public frequency range. If your HAM happens to listen that frequencies (generally between 144MHz and 174MHz), it is not your fault.
In Brazil, it is ok to listen, as long as you don't interfere with the communications (you cannot send anything over the same frequencies the authorities use).
However, if they are using a private frequency range, and encrypted signals, then you cannot listen to them.
You need a 180K resistor for R1, 4.7pF cap for C1, and a 51pF cap for C2. This gives you a center frequency of 1.075KHz with a bandwidth of about 695Hz. The goal is to get that bandwidth as small as possible, but you are limited in real-world values of components. The component that affects the bandwidth the most is C1. Regardless, it should work fine for these values. The concer with the bandwidth is that it will trigger for anything from approx 400hz to 1600hz. RL on the input helps the sensitivity (meaning it has to be above a certain volume to register.) So, selecting the right value there will exclude most noise.
Also, you have the characteristics of the tone. The output of the 567 is going to be HIGH when the tone is sensed and LOW when it is not. So if you trigger an interrupt on the rising edge and count the time until triggers again, it should be within 4 secs of each other. If your code does not sense those characteristics, just ignore the signal.
If you find it simply triggers just like you want with only the LM567, you could actually just use that HIGH output to trigger whatever you want and wouldn't even need a microcontroller in there. One fun addition to your project might be to trigger recording of the audio (and time/date stamp would be nice) when it hears those tones. For that, the Arduino would be useful.
Sorry, the important characteristic is the silence between the tones. If it is less than 2 seconds or greater that 3 secs, it is likely a false trigger. Anyway, you will probably have to play around with it to get it to work exactly like you want. But having the tone-decoder will simply things tremendously.
Attached is what I came up with. I read the datasheet a little more closely and found that if we use a 10uF cap on pin 2, we can get that bandwidth down to about 50hz. The drawback is how quickly it responds. However, each tone is over a second long, so I believe that we will be ok. If not, you will need to try lower values until it triggers quickly enough. I don't really think you will encounter an issue because the tone amplitude is at max (about 200mv RMS.) We could come up with a filter to help block out sounds if needed. Let's try it without first to keep things simple.
I also discovered that I was incorrect about it going HIGH on the presence of a tone. It actually goes LOW. So the added components on pin 8 reflect that. R5 is a pullup so the arduino would always see 5V when no tone is present. The 150 ohm R1 is just to limit the current. You probably don't need it, but I put it in there to be safe.
I put a 500K potentiometer between pins 5 & 6 in place of the 180K so you can tune it. Use a trimmer pot which allows very fine adjustments. With that it is possible to nail exactly 1KHz at about 193K ohm. You could try it with just the 180K and it should be fine because of the bandwidth.
To test this, use that audio that you recorded as the input. The headphone output of your soundcard will be compatible. Line level will likely be too high. I couldn't really do much here because I do not know the parameters of the audio output of your scanner. Do you know? If you have trouble, you could try a few things:
use a 1:1 audio transformer from radioshack (before the cap.) And place a 1K resistor is series with the audio and a 10K to ground. This will convert from line level audio (max 2V rms) to the 200mV we expect here. I would have drawn it in, but if your signal already is headphone compatible, it would lower the audio way too much.
Come to think of it, a slower response is actually desireable. Whatever 1KHz audio there is mixed in the normal audio will likely not last long enough to trigger. The whole reason that I was concerned about this is that 1KHz is the center frequency of voice. Nearly all of the energy in the voice is right around that frequency. But the majority is around 400-600Hz.
With a slower response, it will take a fairly long burst of 1KHZ to trigger it.
Just for extra credit, pin 2 is the loop filter. It determines how many pulses it takes to lock on to the signal. The way a tone decoder works is to generate a frequency (we do that by selecting the components on pins 5 and 6) then synchronize that with input (the Phase-Lock-Loop part) and output these both to an NAND gate with a bit of sample and hold. As you probably know, a NAND gate will only go low when both inputs are high. So if the tone matches exactly, it will will output a LOW.
The LM567 is also used to demodulate signals in nearly the same way, but with unmatching tones.
The cap on pin 6 determines the pulse-width (amount of time the oscillator is HIGH), BTW. If that were too far off the original signal, it will either not trigger or trigger multiple times instead of staying LOW (because the signals would not both be HIGH for the same amount of time.
Just extra info we need if we need to troubleshoot and fine-tune things.
Hey Retro i'm also going to do a similar project. But instead of single frequency in my project it has a fundamental frequency an some other harmonics. So in that case can i use LM567?
PeterH:
It might be overkill, but I suppose you could use a voice recognition system such as EasyVR.
By the way, is it legal to use the scanner where you are? It seems like the sort of thing that might be legislated against.
Good question.
There are a quite a few places in the world where it is illegal to listen to police broadcasts, it is illegal in the UK for sure and in some US states I beleive;