nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
apsk.hpp
Go to the documentation of this file.
1
3// toolboxes/comm/include/nk/comm/modulation/apsk.hpp
4//
5// Amplitude-Phase Shift Keying multi-ring constellation.
6
7#pragma once
8
9#include <memory_resource>
10#include <nk/value/span.hpp>
11#include <nk/value/value.hpp>
12
13namespace nk::comm {
14
17
18
42 const Value &phaseoffset = Value::Empty,
43 const Value &mapping = Value::Empty,
44 std::pmr::memory_resource *mr = nullptr);
45
63 const Value &phaseoffset = Value::Empty,
64 const Value &mapping = Value::Empty,
65 std::pmr::memory_resource *mr = nullptr);
66
67
69} // namespace nk::comm
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
static const Value Empty
MATLAB-style empty matrix sentinel — a 0×0 DOUBLE value.
Definition value.hpp:136
Value apskmod(const Value &x, Span< const size_t > M, Span< const double > radii, const Value &phaseoffset=Value::Empty, const Value &mapping=Value::Empty, std::pmr::memory_resource *mr=nullptr)
APSK modulator (y = apskmod(x, M, radii, phaseoffset, mapping)).
Value apskdemod(const Value &y, Span< const size_t > M, Span< const double > radii, const Value &phaseoffset=Value::Empty, const Value &mapping=Value::Empty, std::pmr::memory_resource *mr=nullptr)
APSK demodulator (z = apskdemod(y, M, radii, phaseoffset, mapping)).