Commit 9b9044ded0c8f8366a827d08bada5f1bb244c9ea
1 parent
03f87190
Exists in
9016
Suppression des anciens fichiers concernant le discrete fourier transform 'DFT.cc'
Showing
2 changed files
with
0 additions
and
125 deletions
Show diff stats
src/Parameters/fonctions/fourier/DFT.cc deleted
... | ... | @@ -1,43 +0,0 @@ |
1 | -#include "DFT.hh" | |
2 | - | |
3 | -template <typename T> | |
4 | -DFT<T>::DFT(int nbEchantillons, vector<T> &signal) | |
5 | -{ | |
6 | - nbEchantillons = nbEchantillons; | |
7 | - signal = *signal; | |
8 | -} | |
9 | - | |
10 | -template <typename T> | |
11 | -pair<vector<T>, vector<T>> DFT<T>::compute() | |
12 | -{ | |
13 | - const vector<T> amplitudes; | |
14 | - const vector<T> phases; | |
15 | - for (int k = 0; k < nbEchantillons; k++) | |
16 | - { | |
17 | - T xR = 0; | |
18 | - T yI = 0; | |
19 | - for (int n = 0; n < nbEchantillons; n++) | |
20 | - { | |
21 | - const T val = signal[n]; | |
22 | - if (!isNAN(val)) | |
23 | - { | |
24 | - const double f0 = n / nbEchantillons; | |
25 | - const double angle = 2 * k * PI * f0; | |
26 | - xR += (T)cos(angle) * val; | |
27 | - yI += (T)sin(angle) * val; | |
28 | - } | |
29 | - } | |
30 | - | |
31 | - const T amplitude = (T)sqrt(xR * xR + yI * yI); | |
32 | - const T phase = (T)atan2(yI, xR); | |
33 | - | |
34 | - amplitudes.push_back(amplitude); | |
35 | - phases.push_back(phase); | |
36 | - } | |
37 | - | |
38 | - const pair<vector<T>, vector<T>> out; | |
39 | - out.first = amplitudes; | |
40 | - out.second = phases; | |
41 | - | |
42 | - return out; | |
43 | -} |
src/Parameters/fonctions/fourier/DFT.hh deleted
... | ... | @@ -1,82 +0,0 @@ |
1 | -#ifndef DFT_H | |
2 | -#define DFT_H | |
3 | - | |
4 | -#include <math.h> | |
5 | -#include <utility> | |
6 | -#include <vector> | |
7 | - | |
8 | -#define PI 3.14159265 | |
9 | - | |
10 | -using namespace std; | |
11 | -/** | |
12 | - * @brief Représente un type paramétrique (générique) qui permet à n'importe quelle fonction de type f(T) d'opérer peu importe les types impliqués, dans la mesure où les contraintes du template en question sont respectées mais | |
13 | - * aussi éviter d'écrire le code de pour chaque combinaison de type différent. | |
14 | - * | |
15 | - * @tparam T le type générique | |
16 | - */ | |
17 | -template <typename T> | |
18 | - | |
19 | -/** | |
20 | - * @brief Une classe qui reprèsente une transformée de Fourier discrète (DFT) à appliquer pour | |
21 | - * un signal numérique donné et pour un nombre d'échantillons donné | |
22 | - * | |
23 | - */ | |
24 | -class DFT | |
25 | -{ | |
26 | - | |
27 | -public: | |
28 | - /** | |
29 | - * @brief Construct a new DFT object | |
30 | - * | |
31 | - * @param nbEchantillons nombre d'échantillons | |
32 | - * @param signal le signal | |
33 | - */ | |
34 | - DFT(int nbEchantillons, vector<T> &signal); | |
35 | - | |
36 | - /** | |
37 | - * @brief compute the amplitudes and the phases (en radian) | |
38 | - * | |
39 | - * @return pair<vector<T>, vector<T>> a pair of amplitudes and phases | |
40 | - */ | |
41 | - pair<vector<T>, vector<T>> compute(); | |
42 | - | |
43 | - /** | |
44 | - * @brief Set the Nb Echantillons object | |
45 | - * | |
46 | - * @param nbEchantillons nouvelle valeur du nombre d'échantillons | |
47 | - */ | |
48 | - void setNbEchantillons(int nbEchantillons); | |
49 | - /** | |
50 | - * @brief Set the Signal object | |
51 | - * | |
52 | - * @param signal nouveau signal | |
53 | - */ | |
54 | - | |
55 | - void setSignal(vector<T> signal); | |
56 | - /** | |
57 | - * @brief Get the Nb Echantillons object | |
58 | - * | |
59 | - * @return int | |
60 | - */ | |
61 | - int getNbEchantillons() { return nbEchantillons; } | |
62 | - /** | |
63 | - * @brief Get the Signal object | |
64 | - * | |
65 | - * @return vector<T> | |
66 | - */ | |
67 | - vector<T> getSignal() { return signal; } | |
68 | - | |
69 | -private: | |
70 | - /** | |
71 | - * @brief nombre d'échantillons | |
72 | - * | |
73 | - */ | |
74 | - int nbEchantillons; | |
75 | - /** | |
76 | - * @brief le signal numérique dont on cherche à calculer la DFT | |
77 | - * | |
78 | - */ | |
79 | - vector<T> signal; | |
80 | -}; | |
81 | - | |
82 | -#endif | |
83 | 0 | \ No newline at end of file |