Incremental Frequency Keying
An Experimental Modulation Method - Incremental Frequency Keying (IFK)
Firstly, I am sure that this is also not a new idea. If it is a new idea, you heard it first here - if not, don't be too unkind!!
General Philosophy of IFK: -
The IFK mode idea came after the AFK and FDK mode ideas. The early experiments were conducted at LF frequencies, and so it became apparent that it would be difficult to achieve the frequency accuracy/stability at those frequencies sufficiently for the AFK mode. The IFK and FDK modes were an attempt to overcome at least the frequency accuracy hurdle.
The problem with AFK is that it requires accuracies better than 100ppm. While most soundcards should meet this requirement, this cannot be guaranteed. At a penalty of 3dB, FDK was an attempt to eliminate the frequency accuracy problem, leaving only the stability problem.
IFK eliminates the 3dB penalty while eliminating the accuracy problem from AFK with the penalty that the first character could be undetermined for inaccurate systems (worse than 100ppm). Another penalty is that an error in one character causes two consecutive characters to be received incorrectly.
An advantage of IFK is that a fixed interfering tone tone can be identified and eliminated as even a string of the same character results in a different tone for each character.
IFK Transmission Mode:- When transmitting a character, the tone frequency increment is assigned to that character is calculated (say 5Hz for the space character ' '). The incremental frequency for the current character is added/subtracted from the last tone sent (or the space tone if it is the first character in a transmission) and that frequency is sent. Whether the incremental frequency is added or subtracted depends on the position of the last tone sent with respect to the centre frequency. The transmitting software always chooses between addition or subtraction on the basis of moving the tones back towards the centre frequency.
Each burst of the tone for each character sent lasts for 60secs and is synchronised with the transmitting PC clock time. The 'channel spacing' for each characters incremental frequency has been initially set to 0.1Hz. A beacon mode is provided for repeating a set message if necessary.
IFK Reception Mode:- The receiver synchronises to the receiving PC clock time and acquires data for 47.6 seconds giving a record length of 524288 samples. This is because FFT raw data should have a length which is a power of 2. The nearest block time to one minute using 11025Hz sampling is (524288 / 11025)= 47.6 seconds.
The audio data is fed to the FFT algorithm.
The output spectrum is scanned for the maximum amplitude frequency and
the character corresponding to the increment between the previous
tone frequency and the current frequency is displayed.