nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
multirate.hpp
Go to the documentation of this file.
1
3// toolboxes/signal/include/nk/signal/multirate/multirate.hpp
4#pragma once
5
6#include <memory_resource>
7#include <nk/value/value.hpp>
8
9namespace nk::signal {
10
13
14
31 size_t n,
32 std::pmr::memory_resource * mr = nullptr,
33 size_t phase = 0);
34
51 size_t n,
52 std::pmr::memory_resource * mr = nullptr,
53 size_t phase = 0);
54
69 size_t factor,
70 std::pmr::memory_resource * mr = nullptr);
71
90 size_t p,
91 size_t q,
92 std::pmr::memory_resource * mr = nullptr);
93
94
96} // namespace nk::signal
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value downsample(const Value &x, size_t n, std::pmr::memory_resource *mr=nullptr, size_t phase=0)
Integer-rate downsampling — keep every n-th sample.
Value decimate(const Value &x, size_t factor, std::pmr::memory_resource *mr=nullptr)
Integer-factor decimation with anti-alias filtering.
Value resample(const Value &x, size_t p, size_t q, std::pmr::memory_resource *mr=nullptr)
Rational rate conversion: change rate by factor p/q.
Value upsample(const Value &x, size_t n, std::pmr::memory_resource *mr=nullptr, size_t phase=0)
Integer-rate upsampling — zero-stuff between samples.