// file: $ECE_8993/util/calculate_lpc/v1.0/clpc_comp_5.cc // // computes the autocorrelation coefficients of the input data // // isip include files // #include #include // local include files // #include "calculate_lpc.h" #include "calculate_lpc_constants.h" // function: compute_autocorrelation_cc // // arguments: // // float_4* data: (input) a single channel of sampled data // float_4* autocor_coeffs: (output) autocorrelation coefficients // int_4 num_samples: (input) number of samples in the data stream // int_4 lp_order: (input) order of the lp model // // return value: a logical_1 indicating status // // this function computes the autocorrelation coefficients of a signal // logical_1 compute_autocorrelation_cc(float_4* data_a, float_4* autocor_coeffs_a, int_4 num_samples_a, int_4 lp_order_a) { // find each autocorrelation coefficient // for (int_4 i = (int_4)0; i <= lp_order_a; i++) { // initialize the coefficient // autocor_coeffs_a[i] = (float_4)0.0; // loop over each sample in the data // for (int_4 k = (int_4)0; k < (num_samples_a - i); k++) { autocor_coeffs_a[i] += (data_a[k] * data_a[k+i]); } } // exit gracefully // return ISIP_TRUE; }