• Aeshma
    了解作者
  • matlab
    开发工具
  • 37KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2021-02-08 03:01
    上传日期
machine learning applied to optimize echo cancellation
echo_cancellation_optimized_with_ML.zip
  • path.mat
    952B
  • speech.mat
    109.6KB
  • echo_canceller.m
    1.2KB
内容介绍
% Adaptive Echo Canceller % Written by Rodrigo C. de Lamare % Oct. 2002 close all clear all % clears all variables load path.mat; % loads the echo path model load speech.mat % loads a speech signal far_end = speech; %far_end = far_end(1:500); snr_dB = 20; sigma = 1/10^(snr_dB/10); echo = filter(path,1,far_end); N = length(far_end); far_end = far_end + normrnd(0,sigma,N,1); T = 160; M=128; mu = 0.15; % step-size for e-NLMS epsilon = 1e-6; w = zeros(M,1); % weight estimate u = zeros(1,M); % regressor Pecho = zeros(floor(N/T),1); mse = zeros(floor(N/T),1); erle = zeros(floor(N/T),1); for i=1:N u = [far_end(i) u(1:M-1)]; buffer = u; e(i) = echo(i) - u*w; factor = epsilon + (norm(u)^2); w = w + (mu/factor)*u'*e(i); % e-NLMS end for j = 1:floor(N/T) buffer_echo = echo((j-1)*T+1:j*T); buffer_e = e((j-1)*T+1:j*T); Pecho(j) = 10*log10(norm(buffer_echo)^2/T); mse(j) = 10*log10(norm(buffer_e)^2/T); % power of error by simulation erle(j) = Pecho(j) - mse(j); % by simulation end plot((1:floor(N/T)),erle,'ko-'); xlabel('Speech frames'); ylabel('ERLE (dB)'); legend('NLMS'); grid;
评论
    相关推荐