fft_1d.h File Reference

#include <spu_intrinsics.h>
Include dependency graph for fft_1d.h:

Go to the source code of this file.

Defines

#define BIT_SWAP(_i, _pat)   spu_extract(spu_gather(spu_shuffle(spu_maskb(_i), _pat, _pat)), 0)
#define MAX_FFT_1D_SIZE   8192
#define INV_SQRT_2   0.7071067811865
#define FFT_1D_BUTTERFLY(_P_re, _P_im, _Q_re, _Q_im, _p_re, _p_im, _q_re, _q_im, _W_re, _W_im)
#define FFT_1D_BUTTERFLY_HI(_P_re, _P_im, _Q_re, _Q_im, _p_re, _p_im, _q_re, _q_im, _W_re, _W_im)

Define Documentation

#define BIT_SWAP ( _i,
_pat   )     spu_extract(spu_gather(spu_shuffle(spu_maskb(_i), _pat, _pat)), 0)

Referenced by _fft_1d_r2().

#define FFT_1D_BUTTERFLY ( _P_re,
_P_im,
_Q_re,
_Q_im,
_p_re,
_p_im,
_q_re,
_q_im,
_W_re,
_W_im   ) 
Value:
{       \
  vector float _qw_re, _qw_im;                                                                          \
                                                                                                        \
  _qw_re = spu_msub(_q_re, _W_re, spu_mul(_q_im, _W_im));                                               \
  _qw_im = spu_madd(_q_re, _W_im, spu_mul(_q_im, _W_re));                                               \
  _P_re  = spu_add(_p_re, _qw_re);                                                                      \
  _P_im  = spu_add(_p_im, _qw_im);                                                                      \
  _Q_re  = spu_sub(_p_re, _qw_re);                                                                      \
  _Q_im  = spu_sub(_p_im, _qw_im);                                                                      \
}

Referenced by _fft_1d_r2().

#define FFT_1D_BUTTERFLY_HI ( _P_re,
_P_im,
_Q_re,
_Q_im,
_p_re,
_p_im,
_q_re,
_q_im,
_W_re,
_W_im   ) 
Value:
{       \
  vector float _qw_re, _qw_im;                                                                          \
                                                                                                        \
  _qw_re = spu_madd(_q_re, _W_im, spu_mul(_q_im, _W_re));                                               \
  _qw_im = spu_msub(_q_im, _W_im, spu_mul(_q_re, _W_re));                                               \
  _P_re  = spu_add(_p_re, _qw_re);                                                                      \
  _P_im  = spu_add(_p_im, _qw_im);                                                                      \
  _Q_re  = spu_sub(_p_re, _qw_re);                                                                      \
  _Q_im  = spu_sub(_p_im, _qw_im);                                                                      \
}

Referenced by _fft_1d_r2().

#define INV_SQRT_2   0.7071067811865

Referenced by _fft_1d_r2().

#define MAX_FFT_1D_SIZE   8192

Referenced by _fft_1d_r2().

Generated on Sat Oct 23 17:27:10 2010 for GNU Radio 3.3.0 C++ API by  doxygen 1.6.3