Incremental frequency keying

Modulation method
Reading time: less than 1 minute

What is Incremental Frequency Keying?

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

Implementation 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

The following pages link here

Citation

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

Comments

© 2024 Gokberk Yaltirakli