Files
SeeSynth/src/BandPassFilter.cpp
2023-09-08 13:48:05 +04:00

23 lines
653 B
C++

#include "BandPassFilter.h"
BandPassFilter::BandPassFilter(/* args */) {}
BandPassFilter::BandPassFilter(Filter* filter) {
m_freq = filter->GetFreq();
m_q = filter->GetRes();
m_order = filter->GetPeakGain();
}
BandPassFilter::BandPassFilter(float freq, float res, float q) {}
BandPassFilter::~BandPassFilter() {}
void BandPassFilter::calculate_coefficients() {
Filter::Normals base = calculate_normals();
m_norm = 1 / (1 + base.K / m_q + base.K * base.K);
m_a0 = base.K / m_q * m_norm;
m_a1 = 0;
m_a2 = -m_a0;
m_b1 = 2 * (base.K * base.K - 1) * m_norm;
m_b2 = (1 - base.K / m_q + base.K * base.K) * m_norm;
}