.

Incremental frequency keying

Modulation method
Reading time: less than 1 minute

Incremental frequency keying (IFK) is a modulation scheme where the transmitted bits are represented by an increase or decrease in the frequency of the signal.

Example

For example, a bitstring 1010011 can be transmitted with IFK with a base frequency of 500 Hz and a shift of 50 Hz can be sent as follows.

  1. 550 Hz
  2. 500 Hz
  3. 550 Hz
  4. 500 Hz
  5. 450 Hz
  6. 500 Hz
  7. 550 Hz

Useful properties

IFK is useful because it is a self-clocking signal. Each transmitted bit causes a shift in the frequency, and can be detected easily.

Downsides

If there are long runs of 0’s or 1’s, the tone will deviate too much from the base frequency.

Example code in C++

const auto DATA = "0101010111001101010100010101010100010111101000";

// Incremental frequency keying
auto freq = 900;

for (size_t i = 0; i < strlen(DATA); i++) {
    auto c = DATA[i];
    auto shift = 200;
    if (c == '0')
        shift = -shift;
    freq += shift;

    play_tone(freq);
}

References and related links

Citation

If you find this work useful, please cite it as:
@article{yaltirakli,
  title   = "Incremental frequency keying",
  author  = "Yaltirakli, Gokberk",
  journal = "gkbrk.com",
  year    = "2025",
  url     = "https://www.gkbrk.com/incremental-frequency-keying"
}
Not using BibTeX? Click here for more citation styles.
IEEE Citation
Gokberk Yaltirakli, "Incremental frequency keying", March, 2025. [Online]. Available: https://www.gkbrk.com/incremental-frequency-keying. [Accessed Mar. 19, 2025].
APA Style
Yaltirakli, G. (2025, March 19). Incremental frequency keying. https://www.gkbrk.com/incremental-frequency-keying
Bluebook Style
Gokberk Yaltirakli, Incremental frequency keying, GKBRK.COM (Mar. 19, 2025), https://www.gkbrk.com/incremental-frequency-keying

Comments

© 2025 Gokberk Yaltirakli