Atmel Software Framework

vect_dsp16_convpart.c File Reference
#include "dsp.h"
#include "preprocessor.h"


#define DSP16_CONVPART_KERNEL_X_FCT(x_num, data)
#define DSP16_SUM_ITEM(x, line)   sum += pvect2[x]*pvect3[8 - x - 1];
#define DSP16_SUM_ITEM_INIT(x, line)   sum += *pvect2++**--pvect3;


void dsp16_vect_convpart (dsp16_t *vect1, dsp16_t *vect2, int vect2_size, dsp16_t *vect3, int vect3_size)
 16-bit fixed point version of the Partial Convolution. More...

#define DSP16_CONVPART_KERNEL_X_FCT (   x_num,
static void TPASTE2(dsp16_vect_convpart_kernel_x, x_num)(dsp16_t *vect1, dsp16_t *vect2, int vect1_size, dsp16_t *vect3, int vect3_size) \
{ \
int i, j; \
dsp32_t sum; \
dsp16_t *pvect3, *pvect2; \
for(j=0; j<vect1_size; j++) \
{ \
sum = 0; \
pvect3 = &vect3[vect3_size]; \
pvect2 = &vect2[j]; \
for(i=x_num; i<vect3_size; i += 8) \
{ \
pvect3 -= 8; \
pvect2 += 8; \
} \
vect1[j] = sum >> DSP16_QB; \
} \
#define DSP16_SUM_ITEM_INIT(x, line)
Definition: vect_dsp16_convpart.c:57
int i
Definition: jcmarker.c:150
A_ALIGNED dsp32_t vect3[VECT3_SIZE]
Definition: examples/dsp32_vectors/vectors_example.c:112
A_ALIGNED dsp16_complex_t vect1[SIZE]
The output buffer.
Definition: examples/dsp16_complex_fft/complex_fft_example.c:96
#define DSP16_SUM_ITEM(x, line)
Definition: vect_dsp16_convpart.c:55
dsp32_t__ dsp32_t
32-bit signed fixed point type optimized for 32-bit or lower microcontrollers
Definition: dsp_types.h:208
dsp16_t__ dsp16_t
16-bit signed fixed point type optimized for 32-bit or lower microcontrollers
Definition: dsp_types.h:199
#define DSP16_QB
number of fractional bits
Definition: dsp_types.h:144
A_ALIGNED dsp16_t vect2[SIZE]
The input signal resulting from a multiplication between a cosine and a sine.
Definition: examples/dsp16_complex_fft/complex_fft_example.c:99
int j
Definition: jquant1.c:193
#define MREPEAT8(macro, data)
Definition: mrepeat.h:84
#define TPASTE2(a, b)
Definition: tpaste.h:68
for(i=0;i< DCTSIZE2;i++)
Definition: jcmarker.c:156
#define DSP16_SUM_ITEM (   x,
)    sum += pvect2[x]*pvect3[8 - x - 1];
#define DSP16_SUM_ITEM_INIT (   x,
)    sum += *pvect2++**--pvect3;