Abstract:Many fast affine projection (FAP) algorithms have been proposed in the last two decades. These algorithms offer a good tradeoff between convergence rate and computational complexity. Most of the existing FAP algorithms use a constant projection order. Recently, the evolutionary APA (E-APA) with a variable projection order has been proposed. In this paper, an efficient implementation of the E-APA based on dichotomous coordinate descent (DCD) method is proposed and investigated. It is shown that the proposed algorithm obtains both fast convergence speed and small steady-state error.
clear
load ex_iswcs
exponent=10; M=24; H=2^(-exponent); N_upd_max = 8; % parameters for DCD algorithm
[m, e, w, pval]=dcd_e_apa(x,d,miu,ord,p_max,dlta,h1,h2,N0,sigma_v2,'dcdvar', M, H, N_upd_max);
% Inputs:
% x -> far-end signal
% d -> desired signal
% miu -> the step size
% ord -> length of filters
% p_max -> maximum projection order
% dlta -> the regularization parameter
% h1 -> the echo path for first part of algorithm iterations
% h2 -> the echo path for the second part of algorithm iterations
% N0 -> the length of the first part
% sigma_v2 -> E-APA parameter
%
% Outputs:
% m -> Misalignment (dB)
% e -> Output error
% w -> The estimated echo path
% pval -> Chosen projection orders
%
% F. Albu, C. Paleologu, J. Benesty, “Efficient Implementation of a Variable Projection Order
% Affine Projection Algorithm”, IEEE International Symposium on Wireless Communication Systems (ISWCS),
% York, U.K., Sept. 2010, pp. 369-373
%
% Felix Albu
% Valahia University of Targoviste, Romania
% http://falbu.50webs.com
% Only for research use
%
% Please contact me by email at felix_albu@ieee.org if interested in
% receiving the uncoded file
%
t=linspace(0,N/8000,N);
figure(1)
plot(t,m,'b','linewidth',1.5)
xlabel('Time (seconds)'),ylabel('Misalignment (dB)')
figure(2)
subplot(211), plot(h2(1:ord)), title('The echo path')
subplot(212), plot(w), title('Estimated echo path')
figure(3)
hist_pval=hist(pval,p_max); bar(hist_pval)
xlabel('projection order'), title('Number of occurences')
figure(4)
plot(t,e,'b','linewidth',1.5)
xlabel('Time (seconds)'),ylabel('Output error')
clear
load ex_iswcs % click here to load the mat file
exponent=10; M=24; H=2^(-exponent); N_upd_max = 8; % parameters for DCD algorithm
% click here to load the dcd_e_apa matlab file
% click here to load the DCD_real_beta_1.p matlab file
[m, e, w, pval]=dcd_e_apa(x,d,miu,ord,p_max,dlta,h1,h2,N0,sigma_v2,'dcdvar', M, H, N_upd_max);
% Inputs:
% x -> far-end signal
% d -> desired signal
% miu -> the step size
% ord -> length of filters
% p_max -> maximum projection order
% dlta -> the regularization parameter
% h1 -> the echo path for first part of algorithm iterations
% h2 -> the echo path for the second part of algorithm iterations
% N0 -> the length of the first part
% sigma_v2 -> E-APA parameter
%
% Outputs:
% m -> Misalignment (dB)
% e -> Output error
% w -> The estimated echo path
% pval -> Chosen projection orders
%
% F. Albu, C. Paleologu, J. Benesty, “Efficient Implementation of a Variable Projection Order
% Affine Projection Algorithm”, IEEE International Symposium on Wireless Communication Systems (ISWCS),
% York, U.K., Sept. 2010, pp. 369-373
%
% Felix Albu
% Valahia University of Targoviste, Romania
% http://falbu.50webs.com
% Only for research use
%
% Please contact me by email at felix_albu@ieee.org if interested in
% receiving the uncoded matlab file
%
t=linspace(0,N/8000,N);
figure(1)
plot(t,m,'b','linewidth',1.5)
xlabel('Time (seconds)'),ylabel('Misalignment (dB)')
figure(2)
subplot(211), plot(h2(1:ord)), title('The echo path')
subplot(212), plot(w), title('Estimated echo path')
figure(3)
hist_pval=hist(pval,p_max); bar(hist_pval)
xlabel('projection order'), title('Number of occurences')
figure(4)
plot(t,e,'b','linewidth',1.5)
xlabel('Time (seconds)'),ylabel('Output error')
Please contact me at felix_albu@ieee.org if interested collaboration on this subject.
<span style="font-size: small;">&amp;amp;amp;lt;div
class="statcounter"&amp;amp;amp;gt;&amp;amp;amp;lt;a title="counters for myspace" href="http://www.statcounter.com/myspace/"
target="_blank"&amp;amp;amp;gt;&amp;amp;amp;lt;img class="statcounter" src="http://c.statcounter.com/5263102/0/20dc4843/1/"
alt="counters for myspace"&amp;amp;amp;gt;&amp;amp;amp;lt;/a&amp;amp;amp;gt;&amp;amp;amp;lt;/div&amp;amp;amp;gt;</span>