37 std::vector<float>
processSignal(std::vector<float>& inputSignal);
56 std::vector<float>
convertToHighPass(
const std::vector<float>& lowPassCoefficients);
68 void applyIIRFilter(
const std::vector<float>& inputSignal, dsp::IIR::Filter<float>& filter,
69 std::vector<float>& filteredSignal);
81 void applyFIRFilter(
const std::vector<float>& inputSignal,
const std::vector<float>& coefficients,
82 std::vector<float>& filteredSignal);
97 std::vector<float>
elementWiseDivision(
const std::vector<float>& vector1,
const std::vector<float>& vector2);
108 std::vector<float>
fir2(
int N, std::vector<float>& freqResponse,
const std::vector<float>& gain);
111 std::vector<float>
linspace(
float start,
float end,
int numPoints)
113 std::vector<float> result(numPoints);
114 float step = (end - start) / (numPoints - 1);
116 for (
int i = 0; i < numPoints; ++i)
118 result[i] = start + i * step;
153 150.0f, 200.0f, 300.0f, 400.0f, 500.0f, 700.0f, 1000.0f,
154 1500.0f, 2000.0f, 2500.0f, 3000.0f, 3500.0f, 4000.0f, 4500.0f,
155 5000.0f, 6000.0f, 7000.0f, 8000.0f, 9000.0f, 10000.0f, 20000.0f};
158 std::vector<float>
m_gains = {std::numeric_limits<float>::epsilon(),
Definition EarFilter.h:23
std::vector< float > m_normalisedFreqs
Definition EarFilter.h:138
void applyIIRFilter(const std::vector< float > &inputSignal, dsp::IIR::Filter< float > &filter, std::vector< float > &filteredSignal)
Definition EarFilter.cpp:119
std::vector< float > m_magResponse
Definition EarFilter.h:137
dsp::IIR::Filter< float > m_filter
Definition EarFilter.h:143
std::vector< float > m_b
Definition EarFilter.h:142
float m_hopSizeSamples
Definition EarFilter.h:130
void applyFIRFilter(const std::vector< float > &inputSignal, const std::vector< float > &coefficients, std::vector< float > &filteredSignal)
Definition EarFilter.cpp:129
std::vector< float > getLowPassFilterCoefficients(float normalizedFrequency, float qualityFactor)
Definition EarFilter.cpp:79
std::vector< float > m_gains
Definition EarFilter.h:158
float m_q
Definition EarFilter.h:136
std::vector< float > m_freqResponse
Definition EarFilter.h:139
void calculateTransferFunction(const std::vector< float > b, const std::vector< float > a, int numPoints)
Definition EarFilter.cpp:150
std::vector< float > processSignal(std::vector< float > &inputSignal)
Definition EarFilter.cpp:60
float m_sampleRate
Definition EarFilter.h:124
const float m_maxFreq
Definition EarFilter.h:126
float m_hopSizeSec
Definition EarFilter.h:129
std::vector< float > m_gain
Definition EarFilter.h:144
std::vector< float > m_a
Definition EarFilter.h:141
EarFilter()
Definition EarFilter.cpp:4
std::vector< float > convertToHighPass(const std::vector< float > &lowPassCoefficients)
Definition EarFilter.cpp:99
int N
Definition EarFilter.h:148
float m_fc
Definition EarFilter.h:134
std::vector< float > linspace(float start, float end, int numPoints)
Definition EarFilter.h:111
std::vector< float > m_firCoeffb
Definition EarFilter.h:149
std::vector< float > elementWiseDivision(const std::vector< float > &vector1, const std::vector< float > &vector2)
Definition EarFilter.cpp:171
void configure(float sampleRate)
Definition EarFilter.cpp:7
std::vector< float > m_freqs
Definition EarFilter.h:151
std::vector< float > fir2(int N, std::vector< float > &freqResponse, const std::vector< float > &gain)
Definition EarFilter.cpp:188
Definition AirAbsorptionFilter.cpp:2