38 |
* E-mail : |
* E-mail : |
39 |
* |
* |
40 |
*******************************************************************/ |
*******************************************************************/ |
41 |
|
|
42 |
|
/** |
43 |
|
** \file discsignal.hh |
44 |
|
** Define the discrete signal abstract class |
45 |
|
*/ |
46 |
|
|
47 |
#ifndef DISCSIGNAL_HH |
#ifndef DISCSIGNAL_HH |
48 |
#define DISCSIGNAL_HH |
#define DISCSIGNAL_HH |
49 |
|
|
50 |
#include "type.hh" |
#include "type.hh" |
51 |
|
|
52 |
|
|
53 |
|
/** \brief Discret signal signal |
54 |
|
** |
55 |
|
*/ |
56 |
|
|
57 |
class DiscSignal: public Type { |
class DiscSignal: public Type { |
58 |
// Associations |
// Associations |
59 |
// Attributes |
// Attributes |
60 |
// Operations |
// Operations |
61 |
|
|
62 |
|
/** \name Ctor & dtor. |
63 |
|
** \{ */ |
64 |
|
|
65 |
|
/** \brief Construct a new type of continuous signal |
66 |
|
*/ |
67 |
DiscSignal(double *data) : Type(data) |
DiscSignal(double *data) : Type(data) |
68 |
{ |
{ |
69 |
}; |
}; |
70 |
DiscSignal(double *data, int length) : Type(data, length) |
DiscSignal(double *data, int length) : Type(data, length) |
71 |
{ |
{ |
72 |
}; |
}; |
73 |
|
/** \} */ |
74 |
|
|
75 |
|
/** \name Operations |
76 |
|
** \{ */ |
77 |
|
|
78 |
DiscSignal &add ( DiscSignal &src1, DiscSignal &src2 ); |
DiscSignal &add ( DiscSignal &src1, DiscSignal &src2 ); |
79 |
|
/** \brief Overload operator + |
80 |
|
*/ |
81 |
|
DiscSignal &operator+(DiscSignal &src1) |
82 |
|
{return this->add(*this, src1);}; |
83 |
|
|
84 |
|
|
85 |
DiscSignal &mult ( DiscSignal &src1, DiscSignal &src2 ); |
DiscSignal &mult ( DiscSignal &src1, DiscSignal &src2 ); |
86 |
|
|
87 |
|
/** \brief Overload operator * |
88 |
|
*/ |
89 |
|
DiscSignal &operator*(DiscSignal &src1) |
90 |
|
{return this->mult(*this, src1);}; |
91 |
|
|
92 |
|
|
93 |
|
/** \brief concat src1 and src2 signal in the result |
94 |
|
** \param src1: data to put in first |
95 |
|
** \param src2: data to put in second place |
96 |
|
*/ |
97 |
DiscSignal &DiscSignal::concat ( DiscSignal &src1, DiscSignal &src2 ); |
DiscSignal &DiscSignal::concat ( DiscSignal &src1, DiscSignal &src2 ); |
98 |
|
|
99 |
|
/** \brief FIXME ... |
100 |
|
** \param src: data to put in first |
101 |
|
*/ |
102 |
DiscSignal &DiscSignal::hamming ( DiscSignal &src ); |
DiscSignal &DiscSignal::hamming ( DiscSignal &src ); |
103 |
|
|
104 |
|
|
105 |
DiscSignal &DiscSignal::truncate ( DiscSignal &src, const int begin, const int end ); |
DiscSignal &DiscSignal::truncate ( DiscSignal &src, const int begin, const int end ); |
106 |
int DiscSignal::min ( DiscSignal &src ); |
|
107 |
double DiscSignal::min_val ( DiscSignal &src ); |
/** \brief min return position of the min value in the signal |
108 |
int DiscSignal::max ( DiscSignal &src ); |
*/ |
109 |
double DiscSignal::max_val ( DiscSignal &src ); |
int DiscSignal::min (); |
110 |
|
/** \brief min_val return min value in the signal |
111 |
|
*/ |
112 |
|
double DiscSignal::min_val (); |
113 |
|
/** \brief max return position of the max value in the signal |
114 |
|
*/ |
115 |
|
int DiscSignal::max (); |
116 |
|
/** \brief max_val return max value in signal |
117 |
|
*/ |
118 |
|
double DiscSignal::max_val (); |
119 |
|
/** \} */ |
120 |
|
|
121 |
}; |
}; |
122 |
|
|
123 |
#endif |
#endif |