IT++ Logo
source.h
Go to the documentation of this file.
1
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
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
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
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
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
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
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
General array class.
Definition array.h:105
T & operator()(int i)
Get the i element.
Definition array.h:290
Impulse source.
Definition source.h:129
double operator()()
Return a single sample.
Definition source.h:134
Pattern source.
Definition source.h:150
double operator()()
Return a single sample.
Definition source.h:157
virtual ~Pattern_Source()
Destructor.
Definition source.h:155
Sawtooth-wave source.
Definition source.h:108
double operator()()
Return a single sample.
Definition source.h:113
Sine-wave source.
Definition source.h:45
double operator()()
Return a single sample.
Definition source.h:50
Square-wave source.
Definition source.h:66
double operator()()
Return a single sample.
Definition source.h:71
Triangle-wave source.
Definition source.h:87
double operator()()
Return a single sample.
Definition source.h:92
double mean(const vec &v)
The mean value.
Definition misc_stat.cpp:36
itpp namespace
Definition itmex.h:37
Templated Vector Class Definitions.
SourceForge Logo

Generated on Mon Jun 10 2024 11:49:25 for IT++ by Doxygen 1.9.8