liba 0.1.15
An algorithm library based on C/C++
|
Low Pass Filter. More...
#include "math.h"
Go to the source code of this file.
Data Structures | |
struct | a_lpf |
instance structure for Low Pass Filter More... | |
Macros | |
#define | A_LPF_INIT(alpha) |
#define | A_LPF_INIT2(fc, ts) |
#define | A_LPF_GEN(fc, ts) |
Typedefs | |
typedef struct a_lpf | a_lpf |
instance structure for Low Pass Filter | |
typedef struct a_lpf | a::lpf |
Functions | |
double | a_lpf_gen (double fc, double ts) |
generate for Low Pass Filter | |
void | a_lpf_init (a_lpf *ctx, double alpha) |
initialize for Low Pass Filter | |
double | a_lpf_iter (a_lpf *ctx, double x) |
calculate for Low Pass Filter | |
void | a_lpf_zero (a_lpf *ctx) |
zeroing for Low Pass Filter | |
Low Pass Filter.
low frequencies are passed, high frequencies are attenuated.
\[ RC\frac{\text{d}V_{\mathrm o}}{\text{dt}}+V_{\mathrm o}=V_{\mathrm i} \]
\[ RC\frac{V_{\mathrm o}(n)-V_{\mathrm o}(n-1)}{T_s}+V_{\mathrm o}(n)=V_{\mathrm i}(n) \]
\[ V_{\mathrm o}(n)=\frac{RC}{RC+T_s}V_{\mathrm o}(n-1)+\frac{T_s}{RC+T_s}V_{\mathrm i}(n) \]
\[ V_{\mathrm o}(n)=(1-\alpha)V_{\mathrm o}(n-1)+\alpha V_{\mathrm i}(n) \]
\[ \alpha=\frac{T_s}{RC+T_s}=\frac{T_s}{{\frac{1}{2\pi f_c}}+T_s} \]