先前測試了FFT的使用,接下來進行FIR的測試,
目前已將C6accel程式清空,主程式只保留DSP調用需要的部分,
將測試碼獨立為一個副程式,才不會不小心把主程式搞壞,
測試代碼如下所示:
int c6accel_test_FIR(C6accel_Handle hC6accel,unsigned int nr,unsigned int nh)
{
float fc=(float)8000.0/16000.0;
short *xArray16, *hArray16, *yArray16;
int i;
float j,k,l;
unsigned int nx = nr+nh-1;
float nWaves=3.5;
// C6accel_DSP_fir_gen() test
xArray16 = (short *)pSrcBuf_16bpp;
hArray16 = (short *)pWorkingBuf_16bpp;
yArray16 = (short *)pOutBuf_16bpp;
//create nWaves cosine wave with Q.15format in nx point
for (i = 0; i < nx; i++ ) { xArray16[i] = (short) (cos(2.0*PI*nWaves*i/nx)*32767);}
printf("\t%f cosine wave in 120 data are : \n ",nWaves);
showData(xArray16,nx);
for (i = 0; i < nh; i++ )
{
l=i;
if ( nh%2 != 0)
{ l = l-(nh-1)/2.0; }