IT++ 4.3.1
source.h
Go to the documentation of this file.
1
28
29#ifndef SOURCE_H
30#define SOURCE_H
31
32#include <itpp/base/vec.h>
33#include <itpp/itexports.h>
34
35namespace itpp
36{
37
39
44class ITPP_EXPORT Sine_Source
45{
46public:
48 Sine_Source(double freq, double mean = 0.0, double ampl = 1.0, double inphase = 0.0);
50 double operator()() { return sample(); }
52 vec operator()(int n);
54 mat operator()(int h, int w);
55protected:
56private:
57 double sample();
58 double m, A, theta, dtheta;
59};
60
65class ITPP_EXPORT Square_Source
66{
67public:
69 Square_Source(double freq, double mean = 0.0, double ampl = 1.0, double inphase = 0.0);
71 double operator()() { return sample(); }
73 vec operator()(int n);
75 mat operator()(int h, int w);
76protected:
77private:
78 double sample();
79 double m, A, theta, dtheta;
80};
81
86class ITPP_EXPORT Triangle_Source
87{
88public:
90 Triangle_Source(double freq, double mean = 0.0, double ampl = 1.0, double inphase = 0.0);
92 double operator()() { return sample(); }
94 vec operator()(int n);
96 mat operator()(int h, int w);
97protected:
98private:
99 double sample();
100 double m, A, theta, dtheta;
101};
102
107class ITPP_EXPORT Sawtooth_Source
108{
109public:
111 Sawtooth_Source(double freq, double mean = 0.0, double ampl = 1.0, double inphase = 0.0);
113 double operator()() { return sample(); }
115 vec operator()(int n);
117 mat operator()(int h, int w);
118protected:
119private:
120 double sample();
121 double m, A, theta, dtheta;
122};
123
128class ITPP_EXPORT Impulse_Source
129{
130public:
132 Impulse_Source(double freq, double ampl = 1.0, double inphase = 0.0);
134 double operator()() { return sample(); }
136 vec operator()(int n);
138 mat operator()(int h, int w);
139protected:
140private:
141 double sample();
142 double A, pos, dtheta;
143};
144
149class ITPP_EXPORT Pattern_Source
150{
151public:
153 Pattern_Source(const vec &pattern, int start_pos = 0);
155 virtual ~Pattern_Source() { }
157 double operator()() { return sample(); }
159 vec operator()(int n);
161 mat operator()(int h, int w);
162protected:
163private:
164 double sample();
165 int pos;
166 vec pat;
167 double mean, var;
168};
169
170} //namespace itpp
171
172#endif // #ifndef SOURCE_H
double operator()()
Return a single sample.
Definition source.h:134
Impulse_Source(double freq, double ampl=1.0, double inphase=0.0)
Constructor. Set frequency, amplitude and start phase.
Definition source.cpp:219
Pattern_Source(const vec &pattern, int start_pos=0)
Constructor. Set pattern and start position.
Definition source.cpp:268
double operator()()
Return a single sample.
Definition source.h:157
virtual ~Pattern_Source()
Destructor.
Definition source.h:155
double operator()()
Return a single sample.
Definition source.h:113
Sawtooth_Source(double freq, double mean=0.0, double ampl=1.0, double inphase=0.0)
Constructor. Set frequency, mean, amplitude, and start phase.
Definition source.cpp:174
Sine_Source(double freq, double mean=0.0, double ampl=1.0, double inphase=0.0)
Constructor. Set frequency, mean, amplitude, and start phase.
Definition source.cpp:39
double operator()()
Return a single sample.
Definition source.h:50
Square_Source(double freq, double mean=0.0, double ampl=1.0, double inphase=0.0)
Constructor. Set frequency, mean, amplitude, and start phase.
Definition source.cpp:84
double operator()()
Return a single sample.
Definition source.h:71
double operator()()
Return a single sample.
Definition source.h:92
Triangle_Source(double freq, double mean=0.0, double ampl=1.0, double inphase=0.0)
Constructor. Set frequency, mean, amplitude and start phase.
Definition source.cpp:129
double mean(const vec &v)
The mean value.
Definition misc_stat.cpp:36
itpp namespace
Definition itmex.h:37
Templated Vector Class Definitions.