SPECIFICATION MENU |
|
A. Objectives | D. The Receiver |
B. Description of Modes | E. Other Requirements |
C. Transmission Technique | F. Documentation |
Each numbered paragraph in this specification is open to comment and revision by consensus for later releases. Please circulate your comments to all interested parties, via the (invitation only) mailing list MFSK@egroups.com. To join the list, send email to the moderator at as149@detroit.freenet.org. Your comments will be distilled into future enhancements of the specification.
"Comments" and "Suggestions" which follow the specification paragraph are editorial notes and do not form part of the specification.
Comment: Very slick operation (as required for RTTY and CW contests) is not
considered to be a goal of this mode. Latency is not an issue at all for
beacon and bulletin broadcast use.
The default mode will be 16-FSK, 16 tone 15.625 baud with FEC ON,
Interleaver ON. The FEC will be R=1/2 K=7, using the NASA algorithms. (CCIR
definition 316HF1B)
Comment:
Comment:
The suggested LF/VHF modes place extreme stability and tuning requirements on
the equipment. FEC is not recommended at the slower speeds as latency of
decoder and interleaver become excessive.
In deference to the average Joe Ham, many potential options
are omitted. Even-tone non-FEC modes have been omitted. The LF/VHF
modes should be hidden completely via a setup option. Then Joe Ham
will have fewer settings to choose from.
Unique descriptive names may be given to the modes ultimately selected for
general use. Different modes with clearly different performance will only provided from
a limited list which descriptively names the modes.
Comment:
For expert users, extra menus (normally hidden) could offer changes of
numbers of tones and baud rate for experimental purposes.
Comment:
Tests have shown this to be a reasonable assumption. The signal sounds pleasing
and is not aggressive and is reasonably sharp to tune across.
Comment: Comment:
Suggestion:
Comment: Comment: The interleaver will be self-synchronising, based on 10 concatenated 4 x 4
bit IZ8BLY diagonal interleavers as described in the attached document.
The coder will employ a simple interleaver to reduce burst error damage.
Interleaver algorithm to be determined from tests .
Comment:
Comment:
Other options such as binary file transfer, non-varicode ASCII and other
character sets may be offered, but are not part of this specification.
Idle will be achieved by sending ASCII NULL or other non-printing
character, followed by an extended zero bit stream, e.g. "0000000000000000".
The latter will be rejected by the receiver as an invalid character.
Comment: The purpose of the "diddle" is to allow the receiver symbol clock to remain
in lock. The diddle must not be continuous, as the idle period is used for
signal tuning purposes.
Comment: Comment: Comment: Comment:
Perhaps an R=1/3 FEC code could be used for 8 tones, since Nino IZ8BLY
has successfully demonstrated an R=1/3 technique, in a single
bit stream. I don't believe FEC need be offered with 32FSK, as it is
not inline with the KISS principle.
I'd prefer to only offer FEC on even tone modes, and
not offer even tone modes for non-FEC operation. I'd prefer to see just one
coder and decoder used, once again for simplicity.
Comment:
Comment: Suggestion: Submitted source code will not be published without the authors'
permission, but if the software is approved will be retained and offered to
interested developers on request.
Permission to use the MFSK16 logo will be provided for incorporation into
approved software.
Comment: A reference version of the source code will be made available to interested
developers. These released documents, along with this specification, will
constitute the complete description of the mode.
A. Objectives
Slick operation requires both low latency (the
time for data to trickle through the system), and low turn around time (the
time to end an over plus the time to start a transmission and have synchronism
acquired at the other end). Obviously the typing speed is dependent on mode
and FEC settings, and the turn-around time will scale with baud rate changes
and increase with addition of FEC.
B. Description of Modes
Nino proposes different baud rates for each mode chosen, as this allows
auto baud rate selection, and therefore auto mode selection.
This would imply only one choice from each of the groups in the table in section B.2.
Final choice of modes will be made once tests have ascertained which
modes (very limited number) provide the best mix of performance.
MFSK
NAMEMFSK
ModeeSymbol
RateBandwidth
HzData Rate
bpsApprox Spd
Non-FECApprox Spd
FEC
8FSK8
8FSK
8 baud
96 Hz
23.44
25 WPM
-----
16FSK8
16FSK
8 baud
192 Hz
31.25
30 WPM
15 WPM
32FSK8
32FSK
8 baud
384 Hz
39.07
37.5 WPM
-----
8FSK16
8FSK
16 baud
192 Hz
46.88
50 WPM
-----
16FSK16
16FSK
16 baud
384 Hz
62.50
-----
30 WPM
32FSK16
32FSK
16 baud
768 Hz
78.13
75 WPM
-----
8FSK4
8FSK
4 baud
48 Hz
11.72
10 WPM
-----
16FSK4
16FSK
4 baud
96 Hz
15.63
15 WPM
7.5 WPM
The first six modes are to be assessed for the normal HF mode, the last two are for
LF or VHF use. The user documentation and the design of the software
should discourage the use of the widest modes, and should also
discourage changing to a wider mode during an established QSO,
which is considered by some to be poor operating procedure.
The purpose is to ensure that the average user cannot easily end up with
the wrong selection.
C. Transmission Technique
This implies a sin(x)/x transmission with sidelobes. Expert advice is
that filtering these sidelobes will (a) require a linear transmitter,
(b) will only reintroduce the sidelobes and additional in-band intermod
if the transmitter is not linear, and (c) would result in a transmission not
well matched to the receiver. The solution is in line with the KISS principle,
but we will therefore need to consider the width of
each selected mode carefully.
This is outside the second sidelobe, so should be
easily achievable. The CCIR requirement is for less than 0.005% of the total
power to be outside the necessary bandwidth, which is 316 Hz for the
default mode 16FSK16. See FCC Part 47, paragraph 2.202.
If tone spacing = baud rate, i.e.
spacing = 1/T, orthogonal reception with non-coherent
demodulation is assured.
Exact baud rates suggested will be 25, 15.625 baud, 7.8125 and 3.90625 baud, for
PC sound card sampling rate compatability, but when referred to in menus and
documentation should be rounded up to "16 baud", "8 baud" and "4 baud" respectively.
As suggested in C.2. and this paragraph, the baud rate and number
of tones in use will be obvious from the nature of the signal. FEC selection
is similarly fixed to specific modes. The fewer the modes offered,
the lesser the identification problem will be. Nino's opinion on speeds
offers differs at present. Final speeds and modes (other than the default
16FSK16F) to be determined.
This approach allows maximum flexibility, for
example it would also allow data block transmission over sequential tones,
such as is used in Piccolo, with two sequential tones per character.
Source code for optimised R=1/2, K=7 Viterbi decoder is available from KA9Q.
There is no good reason for using the exact G3PLX Varicode, since there
is no inter-operability with PSK31. Alterations include swapping LF for BS,
since the latter is widely used and the former rarely. The code is also changed
to reflect the different use of idle. Inter-character framing will consist
of detecting the sequence "001", rather than "00", which will allow considerably
more shorter sequences to be valid. Sequences "000" and "0000" now become
viable within characters. A number of non-printing control character additions
will also be made.
It is intended in future releases of this
specification to describe a "secondary data channel". Special characters for
secondary channel data, which will be outside the extended ASCII character set
defined in paragraph C.10, will allow transmission of low priority data during
idle, exactly like the IZ8BLY MT63 "secondary channel". The data rate would be
very low, but would permit automatic ID. These super-ASCII characters would be
used in place of the above mentioned NULL character.
The purpose of the idle carrier is to allow accurate
manual tuning.
Tone Weight Tone Weight
0 (lowest) 0000 8 1100
1 0001 9 1101
2 0011 10 1111
3 0010 11 1110
4 0110 12 1010
5 0111 13 1011
6 0101 14 1001
7 0100 15 (highest) 1000
D. The Receiver
Reduction of multi-path reception effects can be
achieved by windowing the symbol sample period to exclude, for example, the
first and last 5ms worth of samples.
Phil KA9Q recommends that each data bit be recovered from the
symbol received not by direct binary decoding, but by weighing all the
decoder bins potentially carrying that bit against those bins that don't.
This mode will be very sensitive, and very
narrow, so will require very accurate tuning. Due consideration needs to be
given to accurately tuning almost inaudible signals, through use of a good
expanded waterfall display. A S/N meter in arbitrary units based on data from
the symbol decision decoder will be useful. AGC is not required with an FFT
approach.
The FEC regime can identify the FEC dibits
unambiguously from the fixed weight bits in the received symbols.
This use of non-printing special characters
permits these characters to provide symbol sync or carry a secondary channel
text thread where supported by the software, without requiring support to be
part of this specification. E. Other Requirements
The original Piccolo used AM modulation of tones
to transmit sync. MFSK16 does not, but transmits constant-phase carriers.
CPFSK transmissions make these techniques possible.
OOK of the lowest tone, or FSK between lowest
and highest tones would be suitable for the ID, as it would assist receiver
tuning. Transmitter idle will suffice for the tuning signal.
F. Documentation
The purposes of this paragraph are to (a)
discourage commercial exploitation of the product or concept without approval
and involvement of the developers; and (b) to protect the developers from
unreasonable demands.
The GNU licence used for Linux products is an example of this technique.
Links to the available release software will be made on the MFSK web site,
http://www.qsl.net/zl1bpu/MFSK.
A general guide to the use of MFSK will also be published on the web site.