Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
itpp
signal
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
35
namespace
itpp
36
{
37
39
44
class
ITPP_EXPORT
Sine_Source
45
{
46
public
:
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);
55
protected
:
56
private
:
57
double
sample();
58
double
m, A, theta, dtheta;
59
};
60
65
class
ITPP_EXPORT
Square_Source
66
{
67
public
:
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);
76
protected
:
77
private
:
78
double
sample();
79
double
m, A, theta, dtheta;
80
};
81
86
class
ITPP_EXPORT
Triangle_Source
87
{
88
public
:
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);
97
protected
:
98
private
:
99
double
sample();
100
double
m, A, theta, dtheta;
101
};
102
107
class
ITPP_EXPORT
Sawtooth_Source
108
{
109
public
:
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);
118
protected
:
119
private
:
120
double
sample();
121
double
m, A, theta, dtheta;
122
};
123
128
class
ITPP_EXPORT
Impulse_Source
129
{
130
public
:
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);
139
protected
:
140
private
:
141
double
sample();
142
double
A, pos, dtheta;
143
};
144
149
class
ITPP_EXPORT
Pattern_Source
150
{
151
public
:
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);
162
protected
:
163
private
:
164
double
sample();
165
int
pos;
166
vec pat;
167
double
mean
, var;
168
};
169
170
}
//namespace itpp
171
172
#endif // #ifndef SOURCE_H
Generated on Sat Jul 6 2013 10:54:25 for IT++ by
Doxygen
1.8.2