LASP 1.0
Library for Acoustic Signal Processing
Loading...
Searching...
No Matches
lasp_fft.h
Go to the documentation of this file.
1// lasp_fft.h
2//
3// Author: J.A. de Jong - ASCEE
4//
5// Description: FFT class
6// Interface to the FFT library, multiple channel FFT's
8#pragma once
9#include <memory>
10#include "lasp_mathtypes.h"
11
17class Fft_impl;
18
24class Fft {
25 std::unique_ptr<Fft_impl> _impl;
26
27 public:
33 Fft(const us nfft);
34 ~Fft();
35
36 Fft(const Fft&) = delete;
37 Fft& operator=(const Fft&) = delete;
38
44 us nfft() const;
45
52 vc fft(const vd& timedata);
53
62 cmat fft(const dmat& timedata);
63
71 vd ifft(const vc& freqdata);
72
79 dmat ifft(const cmat& freqdata);
80
87 static void load_fft_wisdom(const std::string& wisdom);
88
95 static std::string store_fft_wisdom();
96
97};
98
Perform forward FFT's on real time data. Computes single-sided spectra, equivalent to Numpy's rfft an...
Definition lasp_fft.h:24
Fft & operator=(const Fft &)=delete
~Fft()
Definition lasp_fft.cpp:119
vd ifft(const vc &freqdata)
Definition lasp_fft.cpp:145
static std::string store_fft_wisdom()
Return a string containing FFT wisdom storage. String is empty for backend != FFTW.
Definition lasp_fft.cpp:175
Fft(const Fft &)=delete
vc fft(const vd &timedata)
Definition lasp_fft.cpp:126
us nfft() const
Return nfft.
Definition lasp_fft.cpp:121
static void load_fft_wisdom(const std::string &wisdom)
Load FFT wisdom from a wisdom string. Function does nothing if FFT backend is not FFTW.
Definition lasp_fft.cpp:163
arma::Col< d > vd
arma::Mat< d > dmat
arma::Col< c > vc
arma::Mat< c > cmat
size_t us
We often use boolean values.
Definition lasp_types.h:29