kwave  18.07.70
BandPass.h
Go to the documentation of this file.
1 /***************************************************************************
2  BandPass.h - simple band pass
3  -------------------
4  begin : Sun Nov 18 2007
5  copyright : (C) 2007 by Thomas Eschenbacher
6  email : Thomas.Eschenbacher@gmx.de
7 
8  filter functions:
9  Copyright (C) 1998 Juhana Sadeharju <kouhia@nic.funet.fi>
10  ***************************************************************************/
11 
12 /***************************************************************************
13  * *
14  * This program is free software; you can redistribute it and/or modify *
15  * it under the terms of the GNU General Public License as published by *
16  * the Free Software Foundation; either version 2 of the License, or *
17  * (at your option) any later version. *
18  * *
19  ***************************************************************************/
20 
21 #ifndef BAND_PASS_H
22 #define BAND_PASS_H
23 
24 #include "config.h"
25 
26 #include <QObject>
27 #include <QVariant>
28 
29 #include "libkwave/SampleArray.h"
30 #include "libkwave/SampleSource.h"
32 
33 namespace Kwave
34 {
35 
38  {
39  Q_OBJECT
40  public:
41 
43  BandPass();
44 
46  virtual ~BandPass() Q_DECL_OVERRIDE;
47 
49  virtual void goOn() Q_DECL_OVERRIDE;
50 
52  virtual double at(double f) Q_DECL_OVERRIDE;
53 
54  signals:
55 
57  void output(Kwave::SampleArray data);
58 
59  public slots:
60 
62  void input(Kwave::SampleArray data);
63 
69  void setFrequency(const QVariant fc);
70 
76  void setBandwidth(const QVariant bw);
77 
78  private:
79 
81  void initFilter();
82 
88  void setfilter_2polebp(double freq, double R);
89 
90  private:
91 
94 
96  double m_frequency;
97 
99  double m_bandwidth;
100 
102  struct {
103  double cx,cx1,cx2,cy1,cy2;
104  double x,x1,x2,y,y1,y2;
105  } m_filter;
106 
107  };
108 }
109 
110 #endif /* BAND_PASS_H */
111 
112 //***************************************************************************
113 //***************************************************************************
void initFilter()
Definition: BandPass.cpp:86
struct Kwave::BandPass::@2 m_filter
Definition: App.h:33
double m_bandwidth
Definition: BandPass.h:99
void output(Kwave::SampleArray data)
virtual double at(double f) Q_DECL_OVERRIDE
Definition: BandPass.cpp:49
void setFrequency(const QVariant fc)
Definition: BandPass.cpp:141
virtual void goOn() Q_DECL_OVERRIDE
Definition: BandPass.cpp:43
Kwave::SampleArray m_buffer
Definition: BandPass.h:93
void setBandwidth(const QVariant bw)
Definition: BandPass.cpp:152
virtual ~BandPass() Q_DECL_OVERRIDE
Definition: BandPass.cpp:38
void setfilter_2polebp(double freq, double R)
Definition: BandPass.cpp:100
void input(Kwave::SampleArray data)
Definition: BandPass.cpp:110
double m_frequency
Definition: BandPass.h:96