Friday, June 18, 2010

int2double

Digital Signal Processing Library

Voice Lab

int2double


void int2double(int *window, int window_size, double **d_window, int normalize)
{
int i;
double max;

/* copy first element, and use it as first maximum amount */
(*d_window)[0] = (double)window[0];
max = (*d_window)[0];

/* for each additional element, copy and check if greater than maximum */
for(i = 1; i < window_size; i++) {
(*d_window)[i] = (double)window[i];
if((*d_window)[i] >= 0) {
/* value positive or zero */
if((*d_window)[i] > max) max = (*d_window)[i];
} else {
/* value negative, invert sign before comparisson */
if((-(*d_window)[i]) > max) max = -(*d_window)[i];
}
}
DEBUG_WRITE2(1, "Max value: %f\n", max);

/* section to mormalize vector */
if(normalize == 1) {
for(i = 0; i < window_size; i++) {
(*d_window)[i] = (*d_window)[i]/max;
}
}
return;
}


No comments:

Post a Comment