GENIE (GENetic Information Exchange)
A Method for Station Identification and Information/Status Exchange
General Philosophy of GENIE:-
The idea for GENIE came to me after thinking about different schemes for making the "first contact" over long distances in marginal conditions where the window of opportunity in propagation terms is very limited. A minimal scheme which provided just station ID developed. This was called SQUID. The SQUID protocol is solely for station ID in the minimum time, and a second protocol was developed for exchange of information which I call GENIE (GENetic Information Exchange). That protocol is described here.
Proposed Protocol for GENIE:-
The GENIE scheme was developed as an expansion of SQUID and shares many of SQUID's characteristics -
- Be as short as possible.
- Contain the minimum number of tones for ease of implementation (DFCW users can manage two tones, target for SQUID is three and should not be too difficult). The use of three tones narrows the bandwidth and allows far simply tone generation. Also should be able to use serial port to control a non-soundcard based interface.
- Each sequence of tones should possess the property such that when they are repeated end to end (no times when there isn't a tone), they can be unambiguously decoded against all the other sequences in the set. One of the weaknesses of QRSS/DFCW is that if you don't see a tone, you cannot be sure if that QSB has taken out the tone, or it actually is a space.
- Given the reception of any sequence of tones (short band opening), it must be possible to decode the ID. That is, if the ID consists of, say, a sequence of 9 tones which are transmitted continuously, as long as any consecutive 9 tones is sufficient to decode the ID. This allows identification of a station even if the the band opens, say, half-way through a cycle of the sequence and continues to the end of that cycle and half-way through the next cycle. There is no need for synchronisation of any sort as part of the decoding.
- Each sequence will contain at least the highest frequency and the lowest frequency (like SQUID). This eliminates any need to somehow determine absolute frequency as part of the decoding. For example, if you chose 1 to N tones to encode information, how do you determine whether you are receiving tone 1 and tone 2, or, tone 2 and tone 3 ? The answer is either fiddle until the message makes sense or wait for some synchronising bit to tell you. In GENIE (like SQUID) the ambiguity is eliminated directly in the encoding.
GENIE Format:-
- Three tones only (A, B and C).
- Each sequence ID is 9 bits (i.e. a 9-tone sequence). Each sequence has three 3-bit sections (sub-sequence). The first sub-sequence is always the transmitting station ID. The second sub- sequence is either the transmitting station ID again for beacon and calling modes, or the second station ID for exchange of signal reports.
- Frequency spacing between tones dependant on tone duration (ideally matched to Argo screen). See suggested tone spacings below.
- Use the designation GENIE60 for 60 second tones, GENIE120 for 120 second tones and so on.
- There are only 7 station ID sub-sequences available. This should cover the extremely small number of stations who might be interested in this protocol.
ID Number
|
Tone Sequence
|
Allocated Station
|
1
|
BAA
|
AXSO
|
2
|
BAB
|
|
3
|
BBA
|
|
4
|
BBB
|
|
5
|
BCB
|
|
6
|
CBA
|
|
7
|
CBB
|
|
There are 5 mode ID sub-sequences. These sub-sequences form the third section of the complete sequence.
ID Number
|
Tone Sequence
|
Allocated Station
|
1
|
ABC
|
Beacon
|
2
|
ACB
|
CQ
|
3
|
CAA
|
T
|
4
|
CAB
|
M
|
5
|
CAC
|
O
|
Suggested Tone Spacings for Argo Display:-
ARGO Mode
|
Argo Screen Span
|
Suggested Tone Spacing
|
10 second
|
27Hz
|
1 or 2Hz
|
30 second
|
6.7Hz
|
0.5Hz
|
60 second
|
3.3Hz
|
0.2Hz
|
120 second
|
1.7Hz
|
0.1Hz
|
Example ID Sequence (for AXSO - BAA):-
I have reserved ID sequence #1 for AXSO. The sequence is BAA (I feel a bit sheepish about it though). As for SQUID, the 'A' tone is the highest frequency, the 'B' tone the middle frequency and the 'C' tone the lowest frequency.
To transmit a beacon sequence you would transmit - Xmit ID + Xmit ID + Beacon ID. For AXSO I would transmit:-
...BAABAAABC...
To transmit a CQ sequence you would transmit - Xmit ID + Xmit ID + CQ ID. For AXSO I would transmit:-
...BAABAAACB...
To transmit a signal report to a station you would transmit - Xmit ID + Rcvr ID + T/M/O ID. For AXSO giving a 'M' signal report (CAB) to a station using station ID #7 (CBB), I would transmit:-
...BAACBBCAB...
The sequence is transmitted continuously with no pauses between sequence cycles. Note that each mode ID has an 'A' tone and a 'C' tone to ensure each 9-bit sequence has the upper and lower frequency limits of the tones.