hello
this first time i am using DSP library(IIR filter),,
i've designes a cascaded(3) LPF(1KHz) to which i am giving a combined sine wave of 500Hz+1500Hz and i want to verify my result.But its result is not faithful.I am also attaching my code...
Kindly give suggestion for its improvement.
My code is as follows:
#include<stdio.h>
void DSP_iir(short *r1, short *x, short *r2, short *h2,
short *h1, int nr);
void main()
{
short r1[184]={0},i=0;
short output1[184]={0};
short output2[184]={0};
short output3[184]={0};
int output4[184]={0};
short input[180]={0};
short input1[180]={-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0,334,362,138,0,138,362,334,0,-335,-363,-139,0,-139,-363,-335,0};
short dc_num[15] = {
713, 1426, 713,0,0,
798, 1600, 801,0,0,
1016, 2028, 1012,0,0};
short dc_den[12] = {
-8192, 6884, -1543,0,
-8192, 7723, -2731,0,
-8192, 9793, -5657,0};
DSP_iir( r1, &input1[0], output1,&dc_num[0],&dc_den[0], 176);
DSP_iir( r1, &output1[0], output2,&dc_num[5],&dc_den[4], 176);
DSP_iir( r1, &output2[0], output3,&dc_num[10],&dc_den[8], 176);
for(i=0;i<176;i++)
output4[i]=output3[i];
printf("\n done");
}