nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
pulse.hpp
Go to the documentation of this file.
1
3// toolboxes/comm/include/nk/comm/eq/pulse.hpp
4//
5// Pulse-shaping filter design (raised-cosine, root-raised-cosine,
6// Gaussian) and rectangular pulse / integrate-and-dump operators.
7
8#pragma once
9
10#include <memory_resource>
11#include <nk/value/value.hpp>
12#include <string>
13
14namespace nk::comm {
15
18
19
40Value rcosdesign(double beta, int span, int sps,
41 const std::string &shape = "normal",
42 std::pmr::memory_resource *mr = nullptr);
43
60Value gaussdesign(double BT, int span, int sps,
61 std::pmr::memory_resource *mr = nullptr);
62
76Value rectpulse(const Value &x, int n,
77 std::pmr::memory_resource *mr = nullptr);
78
92Value intdump(const Value &x, int n,
93 std::pmr::memory_resource *mr = nullptr);
94
95
97} // namespace nk::comm
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value rectpulse(const Value &x, int n, std::pmr::memory_resource *mr=nullptr)
Rectangular pulse shaping (y = rectpulse(x, n)).
Value intdump(const Value &x, int n, std::pmr::memory_resource *mr=nullptr)
Integrate-and-dump (y = intdump(x, n)).
Value rcosdesign(double beta, int span, int sps, const std::string &shape="normal", std::pmr::memory_resource *mr=nullptr)
Design a raised-cosine or root-raised-cosine FIR filter (h = rcosdesign(beta, span,...
Value gaussdesign(double BT, int span, int sps, std::pmr::memory_resource *mr=nullptr)
Design a Gaussian FIR pulse-shaping filter (h = gaussdesign(BT, span, sps)).