I have the following C code’s parts that uses tables of sins and cosins to calculate a fundamental phasor of 60 Hz electrical system using 16 samples per cycle (960 Sps):

float cosins[]={1, 0.92388, 0.70711, 0.38268, 0, -0.38268, -0.70711, -0.92388, -1,

-0.92388, -0.70711, -0.38268, 0, 0.38268, 0.70711, 0.92388};

float sins[]={0, 0.38268, 0.70711, 0.92388, 1, 0.92388, 0.70711, 0.38268, 0,

-0.38268, -0.70711, -0.92388, -1, -0.92388, -0.70711, -0.38268};

…

for(i=0; i <16; i++){

ret_r=x[15-i]*cosins[i]+ret_r;

ret_i=x[15-i]*sins[i]+ret_i;

}

return 0.088388*ret_r -0.088388*ret_i*I;

Is it possible to perform this using the libpruio in order to read 6 analog inputs? If yes? What is the best way to implement it if other operations were need, i.e. compute the division of 2 phasors.

Thanks.