kwave
18.07.70
|
#include <LowPassFilter.h>
Public Slots | |
void | input (Kwave::SampleArray data) |
void | setFrequency (const QVariant fc) |
Signals | |
void | output (Kwave::SampleArray data) |
![]() | |
void | attributeChanged (const QVariant value) |
Public Member Functions | |
LowPassFilter () | |
virtual | ~LowPassFilter () Q_DECL_OVERRIDE |
virtual double | at (double f) Q_DECL_OVERRIDE |
virtual void | goOn () Q_DECL_OVERRIDE |
![]() | |
SampleSource (QObject *parent=Q_NULLPTR) | |
virtual | ~SampleSource () |
virtual bool | done () const |
![]() | |
StreamObject (QObject *parent=Q_NULLPTR) | |
virtual | ~StreamObject () |
virtual unsigned int | tracks () const |
virtual Kwave::StreamObject * | operator[] (unsigned int track) |
virtual unsigned int | tracksOfPort (const char *port) const |
virtual Kwave::StreamObject * | port (const char *port, unsigned int track) |
virtual unsigned int | blockSize () const |
void | setAttribute (const char *attribute, const QVariant &value) |
![]() | |
virtual | ~TransmissionFunction () |
Private Member Functions | |
void | initFilter () |
void | normed_setfilter_shelvelowpass (double freq) |
Private Attributes | |
Kwave::SampleArray | m_buffer |
double | m_f_cutoff |
struct { | |
double cx | |
double cx1 | |
double cx2 | |
double cy1 | |
double cy2 | |
double x | |
double x1 | |
double x2 | |
double y | |
double y1 | |
double y2 | |
} | m_filter |
Additional Inherited Members | |
![]() | |
static void | setInteractive (bool interactive) |
Definition at line 32 of file LowPassFilter.h.
Kwave::LowPassFilter::LowPassFilter | ( | ) |
Constructor
Definition at line 28 of file LowPassFilter.cpp.
References initFilter().
|
virtual |
|
virtual |
Implements Kwave::TransmissionFunction.
Definition at line 166 of file LowPassFilter.cpp.
References m_filter.
|
virtual |
does the calculation
Implements Kwave::SampleSource.
Definition at line 41 of file LowPassFilter.cpp.
References m_buffer, and output().
|
private |
reset/initialize the filter coefficients
Definition at line 47 of file LowPassFilter.cpp.
References m_filter.
Referenced by LowPassFilter(), and setFrequency().
|
slot |
receives input data
Definition at line 138 of file LowPassFilter.cpp.
References double2sample(), m_buffer, m_f_cutoff, m_filter, normed_setfilter_shelvelowpass(), Kwave::SampleArray::resize(), sample2double(), and Kwave::SampleArray::size().
|
private |
calculate filter coefficients for a given frequency
Definition at line 121 of file LowPassFilter.cpp.
References m_filter, and shelve().
Referenced by input(), and setFrequency().
|
signal |
emits a block with the filtered data
Referenced by goOn().
|
slot |
Sets the cutoff frequency, normed to [0...2Pi]. The calculation is: fc = frequency [Hz] * 2 * Pi / f_sample [Hz]. The default setting is 0.5.
Definition at line 203 of file LowPassFilter.cpp.
References initFilter(), m_f_cutoff, and normed_setfilter_shelvelowpass().
Referenced by Kwave::LowPassDialog::updateDisplay().
double Kwave::LowPassFilter::cx |
Definition at line 85 of file LowPassFilter.h.
double Kwave::LowPassFilter::cx1 |
Definition at line 85 of file LowPassFilter.h.
double Kwave::LowPassFilter::cx2 |
Definition at line 85 of file LowPassFilter.h.
double Kwave::LowPassFilter::cy1 |
Definition at line 85 of file LowPassFilter.h.
double Kwave::LowPassFilter::cy2 |
Definition at line 85 of file LowPassFilter.h.
|
private |
|
private |
cutoff frequency [0...PI]
Definition at line 81 of file LowPassFilter.h.
Referenced by input(), and setFrequency().
struct { ... } Kwave::LowPassFilter::m_filter |
structure with the filter coefficients
Referenced by at(), initFilter(), input(), and normed_setfilter_shelvelowpass().
double Kwave::LowPassFilter::x |
Definition at line 86 of file LowPassFilter.h.
double Kwave::LowPassFilter::x1 |
Definition at line 86 of file LowPassFilter.h.
double Kwave::LowPassFilter::x2 |
Definition at line 86 of file LowPassFilter.h.
double Kwave::LowPassFilter::y |
Definition at line 86 of file LowPassFilter.h.
double Kwave::LowPassFilter::y1 |
Definition at line 86 of file LowPassFilter.h.
double Kwave::LowPassFilter::y2 |
Definition at line 86 of file LowPassFilter.h.