mirror of
https://github.com/aicodix/dsp.git
synced 2026-04-27 22:35:45 +00:00
added biquad bandpass filter
This commit is contained in:
parent
793283850f
commit
698ca426bd
2 changed files with 17 additions and 0 deletions
16
biquad.hh
16
biquad.hh
|
|
@ -69,6 +69,22 @@ public:
|
|||
a1a0 = a1 / a0;
|
||||
a2a0 = a2 / a0;
|
||||
}
|
||||
void bandpass(int n, int N, VALUE Q)
|
||||
{
|
||||
VALUE alpha = UnitCircle<VALUE>::sin(n, N) / (VALUE(2) * Q),
|
||||
cn = UnitCircle<VALUE>::cos(n, N),
|
||||
b0 = alpha,
|
||||
b1 = VALUE(0),
|
||||
b2 = -alpha,
|
||||
a0 = VALUE(1) + alpha,
|
||||
a1 = -VALUE(2) * cn,
|
||||
a2 = VALUE(1) - alpha;
|
||||
b0a0 = b0 / a0;
|
||||
b1a0 = b1 / a0;
|
||||
b2a0 = b2 / a0;
|
||||
a1a0 = a1 / a0;
|
||||
a2a0 = a2 / a0;
|
||||
}
|
||||
TYPE operator()(TYPE x0)
|
||||
{
|
||||
TYPE y0 = b0a0*x0 + b1a0*x1 + b2a0*x2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue