Hi Members,
I have received C source code function. The function carries out interpolation of a speech siganl. But what is the name of this type of interpolation??? There are a number of different types of interpolation and I need to know the actual type of interpolation it performs:
Many Thanks if you can help.Code:float interpolate (float freq,double filter_curve_db [][2],int number_of_points) { double result; int i; double freqLow, freqHigh; double curveLow, curveHigh; if (freq <= filter_curve_db [0][0]) { freqLow = filter_curve_db [0][0]; curveLow = filter_curve_db [0][1]; freqHigh = filter_curve_db [1][0]; curveHigh = filter_curve_db [1][1]; result = ((freq - freqLow) * curveHigh + (freqHigh - freq) * curveLow)/ (freqHigh - freqLow); return (float) result; } if (freq >= filter_curve_db [number_of_points-1][0]) { freqLow = filter_curve_db [number_of_points-2][0]; curveLow = filter_curve_db [number_of_points-2][1]; freqHigh = filter_curve_db [number_of_points-1][0]; curveHigh = filter_curve_db [number_of_points-1][1]; result = ((freq - freqLow) * curveHigh + (freqHigh - freq) * curveLow)/ (freqHigh - freqLow); return (float) result; } i = 1; freqHigh = filter_curve_db [i][0]; while (freqHigh < freq) { i++; freqHigh = filter_curve_db [i][0]; } curveHigh = filter_curve_db [i][1]; freqLow = filter_curve_db [i-1][0]; curveLow = filter_curve_db [i-1][1]; result = ((freq - freqLow) * curveHigh + (freqHigh - freq) * curveLow)/ (freqHigh - freqLow); return (float) result; }



LinkBack URL
About LinkBacks


