浏览该文件的文档.
11 #ifndef FILTER_INTERFACE_H_
12 #define FILTER_INTERFACE_H_
17 namespace HYYRobotBase
23 #define ONLINEFILTERNUM 10
24 #define MoveAverageFilter_BUF 2000
78 #define MATRIX_MAX 100
TFilterPoly ProtoType
如Butterworth, Cheby等等
Definition: filter_interface.h:273
@ iirALLPASS
无限脉冲响应全通滤波
Definition: filter_interface.h:230
double * getKalmanFilterC(double *C, double dt, int m)
RMATRIX * getKalmanFilter_out(KalmanFilter *kf)
获取卡尔曼滤波器的输出
@ BUTTERWORTH
低通滤波
Definition: filter_interface.h:248
double IIRFilter(TIIRFilter *iirfiler, double Signal)
@ iirLPF
无限脉冲响应低通滤波
Definition: filter_interface.h:226
double * IIRFilterZeroPhase(TIIRFilter *iirfiler, double *Signal_in, double *Signal_out, int n)
void initTIIRFilters(TIIRFilters *iirfilers, TIIRPassTypes types, double cornerFreq, double sampleFreq, int n)
double BW
带宽。无限脉冲响应滤波器的3dB带宽用于带通和陷波滤波
Definition: filter_interface.h:269
#define ONLINEFILTERNUM
滑动均值滤波器数组长度
Definition: filter_interface.h:23
int n
Definition: filter_interface.h:304
TIIRCoeff IIRCoeff
Definition: filter_interface.h:290
double * getKalmanFilterP(double *P, double value, int n)
TIIRF数组
Definition: filter_interface.h:302
RMATRIX * KalmanFilter_update(KalmanFilter *kf, RMATRIX *y)
卡尔曼滤波器参数更新
double Gamma
可调整高斯滤波的过渡带宽系数,-1 <= Gamma <= 1
Definition: filter_interface.h:277
struct RMATRIX RMATRIX
矩阵的结构体声明
RMATRIX CT
Definition: filter_interface.h:106
void initTIIRFilter(TIIRFilter *iirfiler, TIIRPassTypes types, double cornerFreq, double sampleFreq)
struct MoveAverageFilters MoveAverageFilters
滑动均值滤波
double move_average_filter_online(MoveAverageFilter *maf, double value)
double StopBanddB
椭圆滤波和逆切比雪夫的阻带衰减(db)
Definition: filter_interface.h:276
#define MoveAverageFilter_BUF
滑动均值滤波的缓冲区大小
Definition: filter_interface.h:24
double Ripple
椭圆滤波和切比雪夫滤波的通带波纹
Definition: filter_interface.h:275
#define MATRIX_MAX
矩阵最大维度
Definition: filter_interface.h:78
double * getKalmanFilterA(double *A, double dt, int n)
struct MoveAverageFilter MoveAverageFilter
滑动均值滤波
int buf_num
滑动均值滤波器数组长度
Definition: filter_interface.h:35
TIIRFilterParams IIRFilt
在IIRFilterCode.h中进行了定义
Definition: filter_interface.h:289
TIIRF定义
Definition: filter_interface.h:288
int n
矩阵尺寸
Definition: filter_interface.h:102
RMATRIX x_hat_new
Definition: filter_interface.h:104
double dt
Definition: filter_interface.h:103
@ INVERSE_CHEBY
Definition: filter_interface.h:253
int NumSections
Definition: filter_interface.h:237
@ BESSEL
Definition: filter_interface.h:250
double * KalmanFilter_update1_d1(KalmanFilter *kf, double *y, double **A, double *filter_state)
double * getKalmanFilter_out_d(KalmanFilter *kf, double *out)
@ NOT_IIR
测试用
Definition: filter_interface.h:256
double OmegaC
截止频率。无限脉冲响应滤波器的3dB角频率用于低通和高通滤波,中心频率用于带通和陷波滤波
Definition: filter_interface.h:268
TIIRPassTypes IIRPassType
定义滤波类型:低通,高通,等等
Definition: filter_interface.h:267
struct TIIRFilters TIIRFilters
TIIRF数组
void initKalmanFilter_d(KalmanFilter *kf, double dt, double *A, double *C, double *Q, double *R, double *P, double *x0, int m, int n)
使用指定的矩阵参数来创建卡尔曼滤波器
RMATRIX R
Definition: filter_interface.h:101
TIIRPassTypes
多种无限脉冲响应滤波器
Definition: filter_interface.h:225
RMATRIX * KalmanFilter_update1(KalmanFilter *kf, RMATRIX *y, RMATRIX *A)
卡尔曼滤波器参数更新
double * KalmanFilter_update1_d(KalmanFilter *kf, double *y, double *A, double *filter_state)
struct TIIRFilter TIIRFilter
TIIRF定义
int flag_one
Definition: filter_interface.h:292
void init_move_average_filter_online(MoveAverageFilter *maf, int buf_num)
创建在线滑动均值滤波器
struct TIIRFilterParams TIIRFilterParams
TIIRF的参数定义
struct TIIRCoeff TIIRCoeff
Definition: filter_interface.h:234
卡尔曼滤波
Definition: filter_interface.h:100
double * getKalmanFilterR(double *R, double value, int m)
int one_flag
Definition: filter_interface.h:38
@ ADJUSTABLE
Definition: filter_interface.h:251
滑动均值滤波
Definition: filter_interface.h:48
@ CHEBYSHEV
Definition: filter_interface.h:252
int _index
Definition: filter_interface.h:37
int dof
Definition: filter_interface.h:50
@ PAPOULIS
Definition: filter_interface.h:254
RMATRIX tmp1
临时变量
Definition: filter_interface.h:108
double dBGain
滤波器的增益
Definition: filter_interface.h:270
double * getKalmanFilter_state_d(KalmanFilter *kf, double *state)
@ iirNOTCH
无限脉冲响应陷波滤波
Definition: filter_interface.h:229
@ GAUSSIAN
低通滤波
Definition: filter_interface.h:249
int col
列
Definition: filter_interface.h:90
RMATRIX * getKalmanFilter_state(KalmanFilter *kf)
获取卡尔曼滤波器的状态
struct KalmanFilter KalmanFilter
卡尔曼滤波
void IIRFilters(TIIRFilters *iirfilers, double *in, double *out)
int row
行
Definition: filter_interface.h:89
void move_average_filter_onlines(MoveAverageFilters *mafs, double *value_in, double *value_out, int _dof)
@ iirBPF
无限脉冲响应带通滤波
Definition: filter_interface.h:228
double * KalmanFilter_update_d(KalmanFilter *kf, double *y, double *filter_state)
@ ELLIPTIC
Definition: filter_interface.h:255
RMATRIX y
Definition: filter_interface.h:107
@ iirHPF
无限脉冲响应高通滤波
Definition: filter_interface.h:227
TFilterPoly
一些可用的滤波器
Definition: filter_interface.h:247
TIIRF的参数定义
Definition: filter_interface.h:266
void init_move_average_filter_onlines(MoveAverageFilters *mafs, int buf_num, int _dof)
创建多个在线滑动均值滤波器
void initKalmanFilter_d1(KalmanFilter *kf, double dt, double **A, double **C, double **Q, double **R, double **P, double *x0, int m, int n)
使用指定的矩阵参数来创建卡尔曼滤波器
矩阵的结构体声明
Definition: filter_interface.h:87
#define ARRAY_DIM
这个参数必须大于等于2*MAX_POLE_COUNT,因为一些滤波器的多项式使用2*NumPoles进行定义
Definition: filter_interface.h:217
滑动均值滤波
Definition: filter_interface.h:34
int NumPoles
极点数量*/
Definition: filter_interface.h:274
double * getKalmanFilterQ(double *Q, double value, int n)
void initKalmanFilter(KalmanFilter *kf, double dt, RMATRIX *A, RMATRIX *C, RMATRIX *Q, RMATRIX *R, RMATRIX *P, RMATRIX *x0)
使用指定的矩阵参数来创建卡尔曼滤波器