My favorites | Sign in
Project Home Downloads Wiki Issues Source
Repository:
Checkout   Browse   Changes   Clones  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef _DSP_UTILS_H_
#define _DSP_UTILS_H_

#define USE_FFTW 1

#ifdef USE_FFTW
#include "fftw3.h"
#else
#include <ipp.h>
#endif

#include <memory.h>
#include "complex.h"

#ifndef __GNUC__
// for MSVC compiler
//typedef long int32_t;
#else

#endif

typedef short int16_t;

void circ_shift_left( void *pscr,
void *parray,
int size_array_elements,
int shift_elements,
int size_of_element);

struct tFFT_State
{
#ifdef USE_FFTW
fftw_complex *in, *out;
fftw_plan p;
#else
IppsFFTSpec_C_32fc* ppFFTSpec;
Ipp8u* pBuffer;
#endif
};

void FFT_Init(tFFT_State *pFFT_State);
void FFT_Free(tFFT_State *pFFT_State);
void FFT_fwd(tFFT_State *pFFT_State, Complex<int16_t> *pin, Complex<float> *pout);
void FFT_fwd(tFFT_State *pFFT_State, Complex<float> *pin, Complex<float> *pout);

void fftshift(Complex<float> *pinout, int fft_size);

void conv(Complex<float> *x, int len_x,
Complex<float> *y, int len_y,
Complex<float> *z);

void conv(Complex<float> *x, int len_x,
const float *y, int len_y,
Complex<float> *z);

float VectNorm2(Complex<float> *x, int num_iter, int step);

void mpy_by_cexp(Complex<float> *pin, int len_in,
Complex<float> *pout,
float start_phase,
float phase_increment);


void mpy_by_cexp(Complex <int16_t> *pin, int len_in,
Complex<float> *pout,
float start_phase,
float phase_increment);
#endif

Change log

421f81e788a2 by Iliya Voronov <iliya.voronov> on Feb 13, 2012   Diff
Integrate Preamble Finder of Ostapenko and
Date decoder of Voronov
Go to: 
Project members, sign in to write a code review

Older revisions

13fc45199117 by Alexander Chemeris <Alexander.Chemeris> on Nov 15, 2011   Diff
Implementation of frame detection and
time synchronization in C++.

This is the first step to the open-
source WiMAX implementation in C/C++
...
All revisions of this file

File info

Size: 1536 bytes, 68 lines
Powered by Google Project Hosting