📄 fftdef.h
字号:
//***********************************************************************
// Defines for the FFT routines for TigerSHARC family of processors
// FFTDef.h
//***********************************************************************
#if !defined(__FFTDEF_H_)
#define __FFTDEF_H_
//************************************ Macros ***************************
#define mPUSHQ(arg) \
Q[k27 += -4] = arg;;
#define mPOPQ(arg) \
k27 = k27 + 4;; \
arg = Q[k27 += 0];;
#define mENTER \
j26 = j27 - 0x40; k26 = k27 - 0x40;; \
[j27 += 0xFFFFFFF4] = cJMP; k27 = k27 - 0x04;;
#define mRETURN \
cjmp = [j26 + 0x40];; \
cjmp(ABS)(NP); j27:24 = Q[j26 + 0x44]; k27:24 = Q[k26 + 0x44];;
//***********************************************************************
/*here N and the fft type must be defined.
-N represents the number of input points of the fft, either real or complex
-The fft type may be real and then FFT_real must be defined or
complex and then FFT_real definition must be commented
-In real FFT case, N may be 64, 128, ..., 32768 for TS201 and 64, 128,..., 8192 for TS101
-In complex FFT case, N may be 32, 64, ..., 16384 for TS201 and 32, 64,..., 4096 for TS101
-for all other cases, an error message is shown on the screen after the project is built
*/
#define N 1024 // Complex FFT size
//#define FFT_Real
//***********************************************************************
#if N==32
#ifdef FFT_Real
#define initialization_error
#define MAX_FFT_SIZE 16384
#define outbuff_size 16384
#else
#define MAX_FFT_SIZE 32
#define outbuff_size 64
#endif
#elif N==64
#define MAX_FFT_SIZE 64
#ifdef FFT_Real
#define outbuff_size 64
#else
#define outbuff_size 128
#endif
#elif N==128
#define MAX_FFT_SIZE 128
#ifdef FFT_Real
#define outbuff_size 128
#else
#define outbuff_size 256
#endif
#elif N==256
#define MAX_FFT_SIZE 256
#ifdef FFT_Real
#define outbuff_size 256
#else
#define outbuff_size 512
#endif
#elif N==512
#define MAX_FFT_SIZE 512
#ifdef FFT_Real
#define outbuff_size 512
#else
#define outbuff_size 1024
#endif
#elif N==1024
#define MAX_FFT_SIZE 1024
#ifdef FFT_Real
#define outbuff_size 1024
#else
#define outbuff_size 2048
#endif
#elif N==2048
#define MAX_FFT_SIZE 2048
#ifdef FFT_Real
#define outbuff_size 2048
#else
#define outbuff_size 4096
#endif
#elif N==4096
#define MAX_FFT_SIZE 4096
#ifdef FFT_Real
#define outbuff_size 4096
#else
#define outbuff_size 8192
#endif
#elif N==8192
#ifdef FFT_Real
#define MAX_FFT_SIZE 8192
#define outbuff_size 8192
#else
#ifdef __ADSPTS201__
#define MAX_FFT_SIZE 8192
#define outbuff_size 16384
#else
#define initialization_error
#define outbuff_size 8192
#define MAX_FFT_SIZE 8192
#endif
#endif
#elif N==16384
#ifdef __ADSPTS201__
#define MAX_FFT_SIZE 16384
#ifdef FFT_Real
#define outbuff_size 16384
#else
#define outbuff_size 32768
#endif
#else
#define initialization_error
#define outbuff_size 8192
#define MAX_FFT_SIZE 8192
#endif
#elif N==32768
#ifdef __ADSPTS201__
#ifdef FFT_Real
#define MAX_FFT_SIZE 32768
#define outbuff_size 32768
#else
#define initialization_error
#define outbuff_size 8192
#define MAX_FFT_SIZE 8192
#endif
#else
#define initialization_error
#define outbuff_size 16384
#define MAX_FFT_SIZE 16384
#endif
#else
#define initialization_error
#define MAX_FFT_SIZE 8192
#define outbuff_size 8192
#endif
#define REAL 0
#define COMPLEX 1
#endif //__FFTDEF_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -