nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
freq.hpp
Go to the documentation of this file.
1
3// toolboxes/control/include/nk/control/freq/freq.hpp
4//
5// Frequency-domain responses for tf / zpk / ss systems.
6// Implementation reduces every input form to a (num, den) coefficient
7// pair and evaluates the rational at s = jω (continuous) or
8// z = exp(jω·Ts) (discrete) directly.
9
10#pragma once
11
12#include <memory_resource>
13#include <nk/value/value.hpp>
14#include <utility>
15
16namespace nk::control {
17
20
21
35Value evalfr(const Value &sys, double f,
36 std::pmr::memory_resource *mr = nullptr);
37
46Value freqresp(const Value &sys, const Value &w,
47 std::pmr::memory_resource *mr = nullptr);
48
55
73BodeResult bode(const Value &sys, const Value &wArg,
74 std::pmr::memory_resource *mr = nullptr);
75
82
94NyquistResult nyquist(const Value &sys, const Value &wArg,
95 std::pmr::memory_resource *mr = nullptr);
96
115std::pair<Value, Value>
116rlocus(const Value &sys, const Value &kVec,
117 std::pmr::memory_resource *mr = nullptr);
118
119
121} // namespace nk::control
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
NyquistResult nyquist(const Value &sys, const Value &wArg, std::pmr::memory_resource *mr=nullptr)
Nyquist plot data ([re, im, w] = nyquist(sys, w)).
Value freqresp(const Value &sys, const Value &w, std::pmr::memory_resource *mr=nullptr)
Frequency response on a user-supplied grid (H = freqresp(sys, w)).
std::pair< Value, Value > rlocus(const Value &sys, const Value &kVec, std::pmr::memory_resource *mr=nullptr)
Root locus ([r, k] = rlocus(sys, k)).
Value evalfr(const Value &sys, double f, std::pmr::memory_resource *mr=nullptr)
Single-point frequency response (H = evalfr(sys, f)).
BodeResult bode(const Value &sys, const Value &wArg, std::pmr::memory_resource *mr=nullptr)
Bode magnitude and phase response ([mag, phase, w] = bode(sys, w)).
Result of bode(sys, w).
Definition freq.hpp:50
Value w
Frequencies used (rad/s).
Definition freq.hpp:53
Value phase
Phase in degrees, column vector (continuously unwrapped).
Definition freq.hpp:52
Value mag
Linear magnitude |H(jω)|, column vector.
Definition freq.hpp:51
Result of nyquist(sys, w).
Definition freq.hpp:77
Value im
Imaginary part of H(jω).
Definition freq.hpp:79
Value w
Frequencies used (rad/s).
Definition freq.hpp:80
Value re
Real part of H(jω).
Definition freq.hpp:78