先前測試了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; } //add
else
{ l = l-(nh /2.0)+0.5 ; } //even
j = sin(l*2.0*PI*fc)/(float)(l*PI); // ideal coefficients
k = 0.5

这篇开发记录详细介绍了如何在C6accel FPGA平台上进行FIR滤波器的调用测试。作者清空了主程序,仅保留了与DSP交互的部分,并将测试代码独立为子程序,以防止对主程序产生影响。文章探讨了使用DSP进行实时滤波转换的可能性,同时提到了可以应用不同类型的滤波器,如高通或低通滤波器。
最低0.47元/天 解锁文章
2858

被折叠的 条评论
为什么被折叠?



