51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
|
|
#ifndef AUDIOBEAM_MAIN_H
|
|
#define AUDIOBEAM_MAIN_H
|
|
|
|
struct audiobeam_DataQueue {
|
|
float **sample_queue;
|
|
int head;
|
|
int tail;
|
|
unsigned char full;
|
|
};
|
|
|
|
struct audiobeam_Delays {
|
|
float **delay_values;
|
|
long int max_delay;
|
|
};
|
|
|
|
struct audiobeam_PreprocessedDelays {
|
|
float delay;
|
|
int low;
|
|
int high;
|
|
float offset;
|
|
};
|
|
|
|
#undef FLT_MAX
|
|
#define FLT_MAX 999e999
|
|
|
|
#define SOUND_SPEED 342
|
|
#define SAMPLING_RATE 16000
|
|
#define CARTESIAN_DISTANCE(x1, y1, z1, x2, y2, z2) \
|
|
(sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) + \
|
|
(z1 - z2) * (z1 - z2)));
|
|
|
|
#define NUM_MIC 15
|
|
#define ANGLE_ENERGY_WINDOW_SIZE 400
|
|
#define GRID_STEP_SIZE 0.003 // .3cm
|
|
#define NUM_DIRS 7
|
|
#define NUM_TILES 16
|
|
|
|
#define MIC_HORIZ_SPACE 0.038257
|
|
#define MIC_VERT_SPACE 0.015001
|
|
#define TWO23 8388608.0 // 2^23
|
|
#define BUFFER_SIZE 384 // No of input-tupels (each with NUM_MIC elements)
|
|
#define NUM_MIC_IN_CHAIN 32
|
|
#define NUM_BOARDS_IN_CHAIN 16
|
|
#define INPUT_LENGTH 5760
|
|
|
|
#define INTERPOLATE(low_value, high_value, offset) \
|
|
(((high_value - low_value) * (offset)) + low_value)
|
|
|
|
#endif
|