MATLAB 代码说明
本 MATLAB_Code 文件夹包含两部分代码,分别是 AEC_V2.5 和 Filter_param
两个文件夹。AEC_V2.5 包含 MATLAB 的 GUI 程序,Filter_param 包含对各种类型
滤波器性能与参数关系的测试。使用时,直接使用 AEC_V2.5 的 GUI 程序即可,
该 GUI 程序中的参数默认值即是在 Filter_param 中确定的各滤波器最佳参数,
在使用时可调节参数尝试不同效果。
注意:
1. 由于部分函数更新的原因,本文件夹的所有代码需运行在 MATLAB R2016b 或
更新版本,否则需更改部分函数的调用方式。
2. 对于 Filter_param 程序,由于双重循环,所需计算时间较长,尤其是 RLS 算
法,在 PC 上耗时 20-30 分钟,测试时可采用默认设置,用 LMS 算法进行测试,
耗时应在 5 分钟以内。
3. 所有代码与音频已放置在 github,链接 https://github.com/Spritea/AEC
Filter_param 部分
本程序对 LMS,NLMS,RLS,FXLMS,AffineProjectionFilter 等 5 种滤波器
进行考察,参数包括滤波器阶数(long),迭代步长(mu),遗忘因子(ff)等 3
个,评价标准为滤波器的输出信号与原纯净语音信号的线性相关系数。
程序注释如下
1. % Author:程文胜 田胜 杨烨 伏媛
2. % Supervisor:Prof.徐新
3. % Date:2017-11-30
4. % Team: WHU ADSP AEC Team
5. clear all;
6. % 纯净信号录入
7. [x,Fs] = audioread('handel.wav');
8. %sound(x,Fs)
9. %pause(10);
10.
11. % 带回音信号录入
12. [y,Fs1]=audioread('handel_echo.wav');
13. %sound(y,Fs1);
14. %pause(10);
15.
16. long=[2 4 8 16 32 64 128]; % 设置滤波器阶数
评论0
最新资源