nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
spec_driven.hpp
Go to the documentation of this file.
1
3// toolboxes/signal/include/nk/signal/digital_filtering/spec_driven.hpp
4//
5// Spec-driven filter wrappers: lowpass / highpass / bandpass / bandstop.
6// One-call signal-in → signal-out, with sample rate provided. Internally
7// use Butterworth design + zero-phase filtfilt (default order 8).
8
9#pragma once
10
11#include <memory_resource>
12#include <nk/value/value.hpp>
13
14namespace nk::signal {
15
18
19
36 double fpass,
37 double fs,
38 int order = 8,
39 std::pmr::memory_resource * mr = nullptr);
40
52 double fpass,
53 double fs,
54 int order = 8,
55 std::pmr::memory_resource * mr = nullptr);
56
75 double flo,
76 double fhi,
77 double fs,
78 int order = 8,
79 std::pmr::memory_resource * mr = nullptr);
80
94 double flo,
95 double fhi,
96 double fs,
97 int order = 8,
98 std::pmr::memory_resource * mr = nullptr);
99
100
102} // namespace nk::signal
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value highpass(const Value &x, double fpass, double fs, int order=8, std::pmr::memory_resource *mr=nullptr)
One-call zero-phase Butterworth highpass filter.
Value bandpass(const Value &x, double flo, double fhi, double fs, int order=8, std::pmr::memory_resource *mr=nullptr)
One-call zero-phase Butterworth bandpass filter.
Value bandstop(const Value &x, double flo, double fhi, double fs, int order=8, std::pmr::memory_resource *mr=nullptr)
One-call zero-phase Butterworth bandstop (notch) filter.
Value lowpass(const Value &x, double fpass, double fs, int order=8, std::pmr::memory_resource *mr=nullptr)
One-call zero-phase Butterworth lowpass filter.