Saturday, June 19, 2010

zero_crossings

Digital Signal Processing Library

Voice Lab

zero_crossings


void zero_crossings(double *d_window_i, int window_size, FILE *outfile)
{
int l, sgn[MAX_WINDOW_SIZE+1];
int count=0;

if(window_size >= MAX_WINDOW_SIZE) {
fprintf(stderr, "Please increase MAX_WINDOW_SIZE in\
window_lib.h to at least %d\n", window_size+1);
exit(1);
}
for(l = 0; l < window_size; l++) {
if(d_window_i[l] >= 0.0) {
sgn[l] = 1;
} else {
sgn[l] = -1;
}
}
for(l = 1; l < window_size; l++) {
count += abs(sgn[l] - sgn[l-1]);
}

fprintf(outfile,"%d\n", count/2);
}


No comments:

Post a Comment