📄 src_inc.h
字号:
/****************************************************************************
* File: SRC_inc.h
* Date: Sept 26 2002
* Created: Jeff Sondermeyer
****************************************************************************/
#include <fract.h>
/* data structure for each stage */
typedef struct {
int *in_s; // input signal buffer
int in_z; // input signal buffer size
int *out_s; // output signal buffer
int out_z; // output signal buffer size
int *h; // filter
int plen; // filter polyphase length
int up; // interpolation factor
int dn; // decimatation factor
int nis; // number of inputs
int nos; // number of outputs
int nshft; // number of shifts
/*********IPDC addition*******/
int *in_c; /* base address of input signal */
int *out_c; /* base address of output signal*/
/******************************/
int space; // nop
} FIRST_STAGE_ENTRY; // (nos * dn) = (nis * up) is required
typedef struct {
int *in_s; // input signal buffer
int in_z; // input signal buffer size
int *out_s; // output signal buffer
int out_z; // output signal buffer size
int *h; // filter
int plen; // filter polyphase length
int up; // interpolation factor
int dn; // decimatation factor
int nis; // number of inputs
int nos; // number of outputs
int nshft; // number of shifts
/*********IPDC addition*******/
int *in_c; /* base address of input signal */
int *out_c; /* base address of output signal*/
/******************************/
int space; // nop
} SEC_STAGE_ENTRY; // (nos * dn) = (nis * up) is required
typedef struct {
int *in_s; // input signal buffer
int in_z; // input signal buffer size
int *out_s; // output signal buffer
int out_z; // output signal buffer size
int *h; // filter
int plen; // filter polyphase length
int up; // interpolation factor
int dn; // decimatation factor
int nis; // number of inputs
int nos; // number of outputs
int nshft; // number of shifts
/*********IPDC addition*******/
int *in_c; /* base address of input signal */
int *out_c; /* base address of output signal*/
/******************************/
int space; // nop
} THIRD_STAGE_ENTRY; // (nos * dn) = (nis * up) is required
/* fundamental structure for sample rate conversion */
typedef struct {
FIRST_STAGE_ENTRY *V; // first stage
SEC_STAGE_ENTRY *M; // middle stage
THIRD_STAGE_ENTRY *L; // last stage
} STAGE_HANDLE;
typedef struct {
STAGE_HANDLE *S;
int half_band, // half band flag
up_stage, // number of pure up stages
pivot_stage, // pivot stage flag
down_stage, // number of pure down stages
nstages, // total number of stages
ninputs, // number of input samples per block
noutputs; // number of output samples per block
} FUNDAMENT_DATA_ENTRY;
void src_init (FUNDAMENT_DATA_ENTRY *F);
void src_flt (fract16 *inputs, fract16 *outputs, fract16 offset, FUNDAMENT_DATA_ENTRY *F);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -