|
void | FIRfilter (EST_Wave &in_sig, const EST_FVector &numerator, int delay_correction=0) |
|
void | FIRfilter (const EST_Wave &in_sig, EST_Wave &out_sig, const EST_FVector &numerator, int delay_correction=0) |
|
void | FIR_double_filter (EST_Wave &in_sig, EST_Wave &out_sig, const EST_FVector &numerator) |
|
void | FIRlowpass_filter (EST_Wave &sigin, int freq, int order=DEFAULT_FILTER_ORDER) |
|
void | FIRlowpass_filter (const EST_Wave &in_sig, EST_Wave &out_sig, int freq, int order=DEFAULT_FILTER_ORDER) |
|
void | FIRhighpass_filter (EST_Wave &in_sig, int freq, int order) |
|
void | FIRhighpass_filter (const EST_Wave &sigin, EST_Wave &out_sig, int freq, int order=DEFAULT_FILTER_ORDER) |
|
void | FIRhighpass_double_filter (EST_Wave &sigin, int freq, int order=DEFAULT_FILTER_ORDER) |
|
void | FIRhighpass_double_filter (const EST_Wave &int_sig, EST_Wave &out_sig, int freq, int order=DEFAULT_FILTER_ORDER) |
|
void | FIRlowpass_double_filter (EST_Wave &sigin, int freq, int order=DEFAULT_FILTER_ORDER) |
|
void | FIRlowpass_double_filter (const EST_Wave &in_sig, EST_Wave &out_sig, int freq, int order=DEFAULT_FILTER_ORDER) |
|
Finite impulse response (FIR) filters which are useful for band-pass, low-pass and high-pass filtering.
FIR filters perform the following operation:
where
is the filter order,
are the filter coefficients,
is the input at time
and
is the output at time
. Functions are provided for designing the filter (i.e. finding the coefficients).
General purpose FIR double (zero-phase) filter. This function will double filter the waveform sig
with a previously designed filter, given as numerator
. The filter coefficients can be designed using one of the designed functions, e.g. design_FIR_filter. Double filtering is performed by filtering the signal normally, reversing the waveform, filtering again and reversing the waveform again. Normal filtering will impose a lag on the signal depending on the order of the filter. By filtering the signal forwards and backwards, the lags cancel each other out and the output signal is in phase with the input signal.
- See Also
- design_FIR_filter, design_lowpass_FIR_filter, design_highpass_FIR_filter,
-
FIRfilter, FIRlowpass_filter, FIRhighpass_filter
Definition at line 406 of file filter.cc.
void FIRlowpass_filter |
( |
EST_Wave & |
sigin, |
|
|
int |
freq, |
|
|
int |
order = DEFAULT_FILTER_ORDER |
|
) |
| |
void FIRlowpass_filter |
( |
const EST_Wave & |
in_sig, |
|
|
EST_Wave & |
out_sig, |
|
|
int |
freq, |
|
|
int |
order = DEFAULT_FILTER_ORDER |
|
) |
| |
void FIRhighpass_filter |
( |
EST_Wave & |
in_sig, |
|
|
int |
freq, |
|
|
int |
order |
|
) |
| |
void FIRhighpass_filter |
( |
const EST_Wave & |
sigin, |
|
|
EST_Wave & |
out_sig, |
|
|
int |
freq, |
|
|
int |
order = DEFAULT_FILTER_ORDER |
|
) |
| |
void FIRhighpass_double_filter |
( |
EST_Wave & |
sigin, |
|
|
int |
freq, |
|
|
int |
order = DEFAULT_FILTER_ORDER |
|
) |
| |
Quick function for one-off double low pass filtering.
Normal low pass filtering (FIRlowpass_filter) introduces a time delay. This function filters the signal twice, first forward and then backwards, which ensures a zero phase lag. Hence the order parameter need only be half what it is for (FIRlowpass_filter to achieve the same effect.
- Parameters
-
in_sig | input waveform, which will be overwritten |
freq | cutoff frequency in Hertz |
order | number of filter coefficients, eg. 99 |
- See Also
- FIRhighpass_filter
Definition at line 582 of file filter.cc.
void FIRhighpass_double_filter |
( |
const EST_Wave & |
int_sig, |
|
|
EST_Wave & |
out_sig, |
|
|
int |
freq, |
|
|
int |
order = DEFAULT_FILTER_ORDER |
|
) |
| |
Quick function for one-off double low pass filtering.
Normal low pass filtering (FIRlowpass_filter) introduces a time delay. This function filters the signal twice, first forward and then backwards, which ensures a zero phase lag. Hence the order parameter need only be half what it is for (FIRlowpass_filter) to achieve the same effect.
- Parameters
-
in_sig | input waveform |
out_sig | output waveform |
freq | cutoff frequency in Hertz |
order | number of filter coefficients, eg. 99 |
- See Also
- FIRhighpass_filter
Definition at line 570 of file filter.cc.
void FIRlowpass_double_filter |
( |
EST_Wave & |
sigin, |
|
|
int |
freq, |
|
|
int |
order = DEFAULT_FILTER_ORDER |
|
) |
| |
Quick function for one-off zero phase high pass filtering.
Normal high pass filtering (FIRhighpass_filter) introduces a time delay. This function filters the signal twice, first forward and then backwards, which ensures a zero phase lag. Hence the order parameter need only be half what it is for (FIRhighpass_filter) to achieve the same effect.
- Parameters
-
in_sig | input waveform, which will be overwritten |
freq | cutoff frequency in Hertz |
order | number of filter coefficients, eg. 99 |
- See Also
- FIRlowpass_filter
Definition at line 547 of file filter.cc.
void FIRlowpass_double_filter |
( |
const EST_Wave & |
in_sig, |
|
|
EST_Wave & |
out_sig, |
|
|
int |
freq, |
|
|
int |
order = DEFAULT_FILTER_ORDER |
|
) |
| |
Quick function for one-off zero phase high pass filtering.
Normal high pass filtering (FIRhighpass_filter) introduces a time delay. This function filters the signal twice, first forward and then backwards, which ensures a zero phase lag. Hence the order parameter need only be half what it is for (FIRhighpass_filter) to achieve the same effect.
- Parameters
-
in_sig | input waveform |
out_sig | output waveform |
freq | cutoff frequency in Hertz |
order | number of filter coefficients, eg. 99 |
- See Also
- FIRlowpass_filter
Definition at line 558 of file filter.cc.