?? cgsfilt.h
字號:
#ifndef CGSFILT_H
#define CGSFILT_H
/*
* Filter transform types
*/
#define LOWPASS 1
#define HIGHPASS 2
#define BANDPASS 3
#define BANDSTOP 4
/*
* Maximum filter orders
*/
#define MAXORDER 100 /* All types other than bessel */
#define MAX_BESSEL_ORDER 20 /* Bessel filter max order */
#define MAX_BESSEL_BP_ORDER 40
/*
* Structure to hold parameters for the filter generator
*/
typedef struct {
int order; /* Filter order */
int xformtype; /* One of the above defines */
double fstop; /* Stop band edge */
double fpass; /* Passband edge */
double fcenter; /* Center frequency */
double fsamp; /* Sampling frequency */
double passatten; /* Passband attenuations */
} filtGen;
/*
* Functions
*/
int filtGenButterworth(filtGen *sp_spec, double *dp_gain, Ovector sp_a, Ovector sp_b);
int filtGenBessel(filtGen *sp_spec, double *dp_gain, Ovector sp_a, Ovector sp_b);
int filtGenChebychev1(filtGen *sp_spec, double *dp_gain, Ovector sp_a, Ovector sp_b);
int filtGenChebychev2(filtGen *sp_spec, double *dp_gain, Ovector sp_a, Ovector sp_b);
int filtGenElliptic(filtGen *sp_spec, double *dp_gain, Ovector sp_a, Ovector sp_b);
void filtGenSetCoefs(Ovector, Ovector);
//copy from cgs.h
void filtGenWSincLpf(Ovector sp_wghts, double d_freq, double d_gain);
int filtGen_Bilinear(int i_npoles, void *sp_poles, int i_nzeros, void *sp_zeros);
void filtGen_GetGain(int i_numsec, double d_freq, double *dp_a, double *dp_b, double *dp_gain);
void filtGen_GetPolys(int i_order, void *sp_poles, void *sp_zeros, double *dp_a, double *dp_b);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -