The EDACS Beep Eliminator
Does your public service agency use a GE/Ericsson trunked system?
Are you tired of listening to a conversation, only to have it end by
"beep beep beep"? If you have a Bearcat BC895XLT and a
sound card with proper drivers, this piece of software will virtually
eliminate the beeps from the conversation! THIS PROGRAM DOES NOT TRACK
GE SYSTEMS. If you are interested in tracking a GE system, please search
the Net for the recently uploaded format of the GE control channel.
However, if you just want to monitor a GE system and don't have the
desire or soldering prowess to tap the output of your scanner's discriminator,
this program is for you!
How It Works
The GE trunked system is designed so that at the end of every
conversation, a series of anti-scanner "beeps" is produced to dissuade
you from monitoring the service. When you run this program, you provide it
with the channel numbers in your scanner where you have stored your GE
system frequencies. A DFT (Discrete Fourier Transform) routine detects
the 4800 Hz beep. When a beep is detected, the program "locks out"
the channel for a configurable amount of time until the beeps are gone.
Thus, when you scan the system with this program, you'll hear the beep
for only a very short period of time as the program detects it. Then
the program will search your GE system frequencies for the next active
one. When the beep time has expired, the program allows that channel
to be monitored again.
What You Need
- A Bearcat BC895XLT scanner with RS-232 control cable
- A soundcard with the proper drivers
- A 1/8" cable to connect the LINE OUT of your scanner to the input of your sound card
- A computer with a math coprocessor (or processor with a built-in math coprocessor)
- Windows 95 or Windows NT
- The program below
What About Windows 3.1?
Since the multimedia calls are available in Windows 3.1, you should be
able to use the program. However, since the provided executable is
currently only available as a 32-bit program, you will have to make a
few changes to the source and recompile it as a 16-bit application.
Since I currently do not have a 16-bit compiler, I'm afraid I cannot
provide an executable.
Does This Program Work?
I have used this program to monitor a small GE system in my region.
However, your mileage may vary. This program is released to the public
domain as freeware, but I make no warranties as to its effectiveness,
express or implied, nor will I be held liable for any damage you do to
your computer, yourself or society from the use of this program.
In other words, if you screw up your machine with this program and
suffer irreperable damage, you have only yourself to blame. Likewise,
if this program frustrates you to the point where you "go postal"
and take out a dozen or so people, I'm truly sorry--but leave me alone.
Consider yourself warned. Furthermore, I cannot provide technical
support for this program. If you have any nice comments or concerns, do
not hesitate to E-mail me. However, I cannot (and will not) tell you
what you need to do to get it to work with your particular system. The
instructions provided here are your only guide and should be enough to
get you started.
How Do I Use It?
First, make sure that you have a working cable to connect your computer
to your BC895XLT's computer control port. Place the scanner in
remote mode by holding down the RMT button until you hear two
beeps. Now your scanner is ready to be controlled by GE-Ease.
From the command line, issue the follwing command:
gedos comx threshold
In the above, x represents the COM port to which you have your
scanner's interface cable connected. This can be a value from 1 to 4.
Threshold is a number representing the beep threshold.
Generally, you can't calculate this number directly, but if you run the
program with a ridiculously high value for this parameter, you can get
an idea of what this number should be. Each time a signal is
encountered, a number is printed to your screen representing the value
of the DFT (see above) for the sampling period. This number is constantly
updated while the the program has stopped on a channel and is listening for
the beeo. Run the program and monitor a GE system with this program
using a threshold value of 1000 or so. When you hear the first GE
transmission, watch for the jump in value of the printed number when
the beeps start. Use a value just below the biggest number you see for
your threshold and you should be OK. For example, the first time I ran
the program, I saw:
Note the tremendous jump in value as the beep began. I used 30 as a
threshold value and it worked quite well. Follow the above procedure
and you should get good results. If you find that you aren't detecting
many beeps reliably, try decreasing the value. Similarly, if the lockout
triggers without the beeps, try increasing the value. Trial and error
is the best way to determine this value.
When you start the program, you will be asked for the channels on your
scanner where the GE system frequencies are stored. DO NOT ENTER
THE CONTROL CHANNEL. If you do, you will lock up on this channel
and not be able to monitor the system. So, enter each frequency, one
per line, ending each with the ENTER key. When you are done, hit ENTER
on a blank line.
The next thing you are prompted for is which sound card to take the
input from. Normal people should see only one sound card with index 0.
Weird people like me, on the other hand, have two or more sound cards in
my system (I also do multitrack music recording), so I see two indices.
Normally, all you have to do is enter 0 and the correct sound card will
At this point the program should be up and running successfully. If you
have any major errors, the program will let you know, and if sufficiently
fatal, will stop. When activity on a channel you have entered is detected,
a message will be printed to the screen and then a set of values corresponding
to the value of the DFT. As soon as the carrier is lost, or the beep is
detected (whichever comes first), the program scans the next channel that you
have entered. If you notice poor tracking of the beeps, reconfigure as described
above and try again.
How Do I Quit This Program?
Use the ultimately elegant CONTROL-C combination. The program will stop.
Can I Monitor Other Services While Using GEEZ?
Yes you can. Simply enter channels into the program that correspond to
non-GE systems. Even if a beep is not detected, the program will continue
scanning when the carrier is lost on that channel. Be aware, however,
that by doing this, you run the risk of encountering the GE beeps close
to the end of their about three second period, and you could end up
locking out a channel near the end of this period. This may mean you
miss the start of some conversations on the GE system. This could
happen simply monitoring a GE system anyway. Like I said before, use at your risk.
This program ain't perfect, but it helps.
The Good Stuff
And without further adieu, the program! The .EXE is the executable file.
Simply download it to your computer and provided you've met the conditions
above, go ahead and run. Following the .EXE is the source code in C++.
Click here to download the executable (gedos.exe)
NOTE: If you downloaded this either Friday or Saturday before 11:00, you
will have a non-working version. Turns out the Release version doesn't work,
while the Debug does. To all who downloaded the bad one, I'm very sorry. It's been a bad
weekend so far with regards to computer stuff (see below). This one should work.
If you can't tell, the bad version is around 48000 bytes while the good one
is about 120000 bytes. Sorry.
Click here to download the source code (gesrc.zip)
Accept my sincerest apologies for being late with this one. Some memory I
bought blew up my motherboard last night. I'll spare you the details, but
paying over $200 for 32MB of RAM makes me a little angry. Lousy cheap SIMMs!
WARNING! This program is untested under Windows NT. It should
work under NT. If it doesn't, well, sorry.
Can I Modify The Source Code?
Be my guest. I don't care what you do with it, as long as you credit
me in the comments for having created this program. Also, if you make
the big bucks with this program, do try to cut me in.
Can I Mail You Kudos Or Questions?
Most certainly, as long as their not flames or of the "I can't
get this damned thing to work on my system! Tell me what I'm doing
wrong, or come over and fix it!" type. Once again, I will not
answer questions about how to get it to work on your particular system.
Read this entire document over carefully, experiment for yourself, and
you should have some measure of success. General questions or
congratulations are always welcome.
© 1998 Aaron Rossetto