kissfft

Библиотека быстрого преобразования Фурье (FFT) на чистом C, основанная на принципе Keep It Simple, Stupid. Поддерживает типы данных float, double, Q16, Q32 и SIMD.

Подключение к проекту

conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps", "CMakeDeps"

    requires = ("kissfft/<version>@aurora",)

.spec файл

%define __provides_exclude_from ^%{_datadir}/%{name}/lib/.*$
%define __requires_exclude ^(libkissfft.*|libm.*)$

BuildRequires: conan

В секции %build:

CONAN_LIB_DIR="%{_builddir}/conan-libs/"
conan-install-if-modified --source-folder="%{_sourcedir}/.." --output-folder="$CONAN_LIB_DIR" -vwarning
PKG_CONFIG_PATH="$CONAN_LIB_DIR":$PKG_CONFIG_PATH
export PKG_CONFIG_PATH

CMakeLists.txt

include(FindPkgConfig)
pkg_check_modules(KISSFFT REQUIRED IMPORTED_TARGET kissfft-float)
target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::KISSFFT)

Пример использования

Заголовочные файлы:

  • kiss_fft.h - одномерное комплексное БПФ
  • kiss_fftnd.h - многомерное БПФ
  • kiss_fftr.h - БПФ с оптимизацией для вещественных данных
  • kissfft.hh - шаблонная версия на C++
#include "kiss_fft.h"
#include <stdio.h>

int main() {
    int nfft = 1024;
    int is_inverse = 0;
    kiss_fft_cfg cfg = kiss_fft_alloc(nfft, is_inverse, 0, 0);

    kiss_fft_cpx in[nfft], out[nfft];
    /* заполнить входные отсчёты */
    for (int i = 0; i < nfft; i++) {
        in[i].r = 0;
        in[i].i = 0;
    }

    kiss_fft(cfg, in, out);
    printf("DC component: %f + %fi\n", out[0].r, out[0].i);

    kiss_fft_free(cfg);
    return 0;
}

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "kissfft/131.1.0@aurora",
    )    

Процесс локальной сборки описан в документации.

kissfft

a Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid
Лицензия
BSD-3-Clause
Версия
Домашняя страница
Скачать
x86_64
18.64 Kb
MD5: 39e9c6dc603667cc437d5afaf59ff40c
Updated: 08.04.2026, 00:16:13
armv7
18.34 Kb
MD5: 035762b263563acb8c4949db211d848e
Updated: 08.04.2026, 00:16:12
armv8
17.95 Kb
MD5: 9363be371a56b69c1bafc9da11b0c1bb
Updated: 08.04.2026, 00:16:08
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.