浏览该文件的文档.
   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)
使用指定的矩阵参数来创建卡尔曼滤波器