Skip to content

Adds support for FFTW3 and improved time resolution of frames.#4

Open
pjsg wants to merge 4 commits into
ka9q:masterfrom
pjsg:kiss-fftw-option
Open

Adds support for FFTW3 and improved time resolution of frames.#4
pjsg wants to merge 4 commits into
ka9q:masterfrom
pjsg:kiss-fftw-option

Conversation

@pjsg
Copy link
Copy Markdown

@pjsg pjsg commented Feb 1, 2026

This does a number of things:

  • Uses fftw3 instead of kiss by default. This is to improve CPU performance
  • Uses a log10 approximation. This improves CPU performance
  • Sets kTime_osr to a value such that we get output timestamps to 10ms precision. Uses optimised search process not to create lots of candidates.
  • Adds the decoded hex packet to the end of the log line
  • Adds compiler options (-march=native) to make it compile better on specific chipsets

The result of this is reduced CPU consumption (around halved apples-to-apples). However, since this version defaults to oversampling in time by 16 or 5 (ft8, ft4) rather than 2, it actually does a lot more work and ends up using about the same amount of CPU. It also generates maybe 5% more decodes as it aligns the ft4/8 packet better (in time).

The Makefile builds both versions of the decode_ft8 -- one using FFTW3 and one using KISS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant