-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathEnergyCalculator.h
37 lines (32 loc) · 1.01 KB
/
EnergyCalculator.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once
#include "SdrberryTypeDefs.h"
class EnergyCalculator
{
public:
void calculateEnergyLevel(const IQSampleVector &samples_in);
void calculateEnergyLevel(const SampleVector &samples_in);
float getEnergyLevel() { return energyLevel; }
float getEnergyLevelI() { return energyLevelI; }
float getEnergyLevelQ() { return energyLevelQ; }
double getEnergyCorrelation() { return energyCorrelation; }
double getEnergyCorrelationNorm() { return energyCorrelationNorm; }
std::tuple<float, float, float> ResultsMoseleyIQ();
private:
float alpha{0.1}, aplha_mosely{0.01};
float accuf{0};
float energyLevel{0};
float energyLevelI{0};
float accuI{0};
float energyLevelQ{0};
float accuQ{0};
float phase{90};
double accuCorrelation{0.0};
double accuCorrelationNorm{0.0};
double energyCorrelation{0.0};
double energyCorrelationNorm{0.0};
float teta1{0.0}, teta1_old{0.0}, teta2{0.0}, teta2_old{0.0}, teta3{0.0}, teta3_old{0.0};
float M_c1{0.0};
float M_c2{0.0};
float phase_IQ{0.0};
void calculateMoseleyIQ();
};