In tonight's TechNet (a weekly net held by the club I'm a member of) one caller (Ed, K9EW) asked about the idle tones that various MFSK implementations, given that he's noticed that different MFSK generators seem to generate different idle patterns. No clear answer was given on the net, although the discussion came to the conclusion that it was, at least to some degree, up to the programmer to decide how to do this.
The ARRL publishes formal technical specifications for some common digital modes, including MFSK. According to section 3.8 of this specification, compliant MFSK implementations must inject a non-printing character every 20 symbol periods, in order to avoid sending an extended period of a single tone. The standard does not specify which nonprinting character must be sent (although ASCII NUL, 0x00, is suggested). A programmer could elect to send any of several nonprinting characters, which would result in different bitstreams.
The reason for not allowing a extended single tone is that this would allow the symbol clock between the sender and the receiver to desynchronize. The specification requires that receivers maintain clock for at least 50 cycles, so sending a character every 20 cycles guarantees that sync is maintained as the receiver will resync its clock with each "diddle".
For more on the technical specifications of digital modes, see fldigi's excellent Digital Modes page.
The ARRL publishes formal technical specifications for some common digital modes, including MFSK. According to section 3.8 of this specification, compliant MFSK implementations must inject a non-printing character every 20 symbol periods, in order to avoid sending an extended period of a single tone. The standard does not specify which nonprinting character must be sent (although ASCII NUL, 0x00, is suggested). A programmer could elect to send any of several nonprinting characters, which would result in different bitstreams.
The reason for not allowing a extended single tone is that this would allow the symbol clock between the sender and the receiver to desynchronize. The specification requires that receivers maintain clock for at least 50 cycles, so sending a character every 20 cycles guarantees that sync is maintained as the receiver will resync its clock with each "diddle".
For more on the technical specifications of digital modes, see fldigi's excellent Digital Modes page.
Kelly,
ReplyDeleteAs the designer of MFSK16, I believe I'm qualified to answer the question about idle tones. The ARRL specifications are based on my definition document. The exact pattern generated by the non-printing character depends on the character used, how often they are sent, and the way the data stram is processed by the FEC system. All are equivalent at the receiver.
Please note that improved MFSK systems such as DominoEX require NO sync stuffing, as the tone pattern is rotated at each symbol to avoid ISI, and a secondary message character is sent whenever the main channel is idle.
If you want more information on the design of these modes, please contact me.
73,
Murray ZL1BPU
murray@rakon.co.nz