logo资料库

dsp自适应滤波器.docx

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
实验五 自适应滤波器算法实验 一、 实验目的 1)了解自适应滤波器算法 实验的具体流程; 2)熟练掌握自适应滤波器的使用; 二、实验内容 1) 将 example47-自适应滤波器算法工程导入,并运行-写入,最后出现结 果;配置 CCS 成纯软件模式; 2) 工程代码原理图及自适应滤波器算法原理图; 3) 算法复杂度评估及算法复杂度优化; 三、 实验原理图 开始 LMS 算法 初始化并输出波形 初始化工作,为各个输入端的 权值覆上随机初始值 调用 LMS 算法计算输出 结束 返回
四、 实验步骤 1) Workspace 选择 D:\Core_F28335\TOP28335_CODE 2) 将 CCS 设置成软件仿真真,并设置仿真参数 3) 导入自适应了滤波器程序 五、 实验现象 1) 将 example47-自适应滤波器算法工程导入,并运行-写入, 最后出现结果; 2) 算法复杂度评估及算法复杂度优化; LMS 算法计算复杂度为更新一次滤波器权系数时所需的计算量, 本例程使用的滤波器有 16 个权系数,采样点为 1024。该程序的时间 复杂度为(1024-16)*16。 六、实验思考 1) 根据 LMS 算法的迭代公式更新滤波器参数,用输入信号数组 xx[],输出信号数组 rr[],误差数组 wc[],以及滤波器权系数 h[]。 通过 for 循环语句进行一个一个样点值滤波计算。 for ( i=COEFFNUMBER+1;i
wc[i]=rr[i]-xx[i]; } 用 FIRLMS 函数得到了一个滤波后的样点信号值 nLastOutput 存 放在输出信号数组 rr[]中。for 循环一个一个得到滤波过的信号值第 INPUTNUMBER=1024 个为止 2) 根据输入的采样值计算滤波器的输出并求出误差; 滤 波 计 算 :FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber) 这个函数来实现滤波过程。即 )( ny  1 N  i  0 ( nx  )(*)1 iw , FIR 滤波器为 16 阶,N 为 16,步长取 0.005,用 FIRLMS 函数得到了 一个滤波后的样点信号值。 int FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber) { int i,r;float fWork; r=0; for ( i=0;i
分享到:
收藏