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 + -
显示快捷键?