GNU Radio 3.4.0 C++ API
fft_1d.h File Reference
#include <spu_intrinsics.h>
Include dependency graph for fft_1d.h:
This graph shows which files directly or indirectly include this file:

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().