lookup.c
来自「软件无线电的平台」· C语言 代码 · 共 62 行
C
62 行
#include "lookup.h"#include <math.h>#include "spc.h"#if OPTIMIZE#define STEP_SIZE 0.001#define ASTEP_SIZE 0.001#define AMAX_VALUE 1#define tsize 2*T+1#define asize 2*TA+1#define DBG_LVL 2short int tval[tsize];short int aval[asize];double restrict(double x,int MAX) { if(x<MAX && x>-1*MAX) return x; if(x>MAX) return MAX; if(x<-1*MAX) return -1*MAX; return 0;}/* Initialisation function where the lookup tables are * set up using math functions */void lookup_init() { double value; int i=0; for(i=0;i<tsize;i++) tval[i]=(short int)((double)TA*tanh((double)(i-T)*MAX_VALUE/(2*T))); for(i=1;i<asize-1;i++) { value = 2*((double)T/MAX_VALUE*atanh((double)(i-TA)/(TA))); if(value>T) value = T; if(value<-T) value = -T; aval[i] = (short int)(value); } aval[0]=-T; aval[2*TA]=T;}short int lookup_tanh( int x ) { return tval[x+T];}short int lookup_atanh( int x ) { return aval[x+TA];}// Clean up the tables, that is, free eventually allocated// memoryvoid lookup_exit() {}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?