BME/CENG/ELEC/SENG 499 Projects
Supervisor: E.G. Manning, CSc/ECE, emanning@Engr.UVic.CA (Apr. 2010)
PDEM1 (Co-Supervisor: P.F. Driessen) Radio Contest Robot
Draws on knowledge of, and/or interest in:
- artificial intelligence / expert systems
- software engineering
- wireless telecommunication
Amateur radio operators provide our only civilian disaster telecommunications networks, networks which are robust against disaster, e.g. protracted loss of grid power or rupture of landlines, whether by flood, explosion, tsunami or earthquake. Amateurs also innovate in wireless communication methods [Moonbounce, meteor scattering, hf Phase-shift keying, Hellschreiber, ...] which require minimal resources, e.g. low power, modest antenna arrays or low cost.
A major amateur pastime which sharpens operating skills - emergency communication skills in particular - and fosters innovation in equipment, human interface design and operator technique is contesting. The most skilful and accomplished operators, the NHL-class guys, are typically found in the ranks of the contesters.
A typical contest asks the contester - often several hundreds of them - to contact as many other contesters as possible, in as many counties [UHF], states [VHF] or countries [HF] as possible, in a 48-hour period. The scoring function is usually of the form:
- (number of contacts) * ( number of counties/states/countries contacted)
Unlike most services, the Amateur service is not confined to fixed frequencies; stations are allowed to roam freely within wide bands of spectrum ["the Amateur Bands"], typically a few hundred kHz to a few MHz wide. Hence contesting resembles a highly competitive kind of hunting, and has much the same attractions. [And nobody gets killed! ]
The contest operator who searches across a band for contacts ["hunt and pounce, H&P "] is constrained by the narrow bandwidth of her receivers [ often 2kHz for SSB or 200 Hz for PSK or CW] and so can hear only one or two stations at a time. Hence the need to continually twist the frequency control dial in search of contacts, a bit like inspecting a landscape through a pinhole. However, in the past few years pan adaptors which sample the receiver's wideband IF [upstream of IF filters] and display the amplitude vs. frequency graph for a large chunk of a band [100 kHz or so] on an LCD display have become common, allowing one to spot the signals [but not to hear or understand them].
In the past few months, however, Alex Shovkoplyas' CW Skimmer software [http://www.dxatlas.com/CWSkimmer/ ] has burst upon the contesting world - like a grenade.
Skimmer displays frequency on the display's vertical axis, and each CW [Morse code] signal detected by the receiver within a wide band, [typically 100kHz or so] on a horizontal line corresponding to its frequency. Moreover, it decodes CW [and doubtless soon other modes] and displays the ASCII text being sent by each station, including callsign. Thus, the entire contest "landscape" is now simultaneously visible to the contest operator - the pinhole has been replaced by a panorama.
Design and implement a contest robot operator C-OP, software which sits atop Skimmer, and thus receives from Skimmer a string of tuples of the form:
where the value of s state is one of
- [callsign, frequency, state]
Soliciting contacts is called "Running a String, or SR [of contacts]" and is done by sending the phrase
- CQ Contest from VE7AB
- General call, anyone hearing this and wanting a contact with VE7AB, Please return this broadcast call, by convention on this frequency.
Every contest station at any given time is in either state
- Hunt and Pounce [H&P] OR in state
- Running a String [SR]
A contact requires that an H&P station hears a CQ broadcast from an SR station, and successfully responds on the frequency of the broadcast.
[The response may fail if
- propagation does not allow the SR to hear the response [no, the Reciprocity Theorem is not always applicable]
- other H&P stations on the same frequency get the nod, perhaps due to being louder, or being in a rare country. ]
One of the contester's key decisions is when to enter state H&P and when to enter state SR, to maximize her contest score.
Simplifying Assumption: C-op Version I will ONLY do H&P.
Thus the robot, running our station with callsign VE7COP will:
by an API call to an off-the-shelf logging program.
- select a suitable tuple from Skimmer, e.g.
- (VE7AB, 14020 KHz, SR) where SR means that the signal on 14020 KHz is currently sending "CQ from VE7AB "
- tune the radio to its frequency -- 14020 KHz
- call the station by callsign [ by transmitting "VE7AB this is VE7COP"]
- complete a contest exchange with VE7AB, [typically signal strengths and sequence numbers], and
- log the results as a record of form
- [ 0130:27 hours, VE7AB, his strength 9, my strength 8, his sequence number 123, my sequence number 456]
The robot will continue until the contest is finished, when the sequence of log records [the log] is sent over the Internet to the contest authority for checking against all of the other logs, followed by awarding a confirmed score to each entrant and glory to a few of them.
It will employ heuristics based on Artificial Intelligence to decide, among other things:
- which advertisement to answer next, i.e. which tuple to choose to call next
- which band to use next
- whether to look for new countries or settle for new stations in countries already worked
It will be expert enough in assigning meaning to the phrase
and in making the other decisions described above to win worldwide contests, defeating the best human operators.
- "a suitable tuple"
Software to do most of the things mentioned above already exists1; the missing piece is an expert system to scan tuples from Skimmer , select a good one to contact next, send suitable control messages to the radio, send the exchange, and call a logging program to log the completed exchange.
1 For example, we have tested, reliable software to get operational data from the radio - frequency, mode, power level, ... - and to control the radio by tuning it to another frequency, mode or power level. We have programs to do contest logging and scoring. And finally, we have CW Skimmer.