title: how do I implement frequency domain adaptive filter in matlab?
body: <p>My question is about the details of the <a href="http://www.mathworks.de/de/help/dsp/ref/adaptfilt.fdaf.html" rel="nofollow">frequency domain adaptive filter</a> (<code>fdaf</code>) function provided in the DSP toolbox. This can be called as <code>h = adaptfilt.fdaf</code> which returns a structure, I think, in the variable <code>h</code>. This structure has all the parameters required to implement the filter, and the actual filtering of data is carried out using the function</p>
  
  <pre><code>[y, e] = filter(h, x, d)  
  </code></pre>
  
  <p>where <code>x</code> is the input to be filtered and d is the desired output. <code>y</code> is an estimate of <code>d</code>.<br>
  <code>adaptfilt.fdaf(...)</code> can be passed many arguments, but I do not understand the use of most of the arguments, especially <code>LAMBDA</code> and <code>LEAKAGE</code>. The source code for the <code>filter(h,x,d)</code> function can be viewed, and most of the source code is a straight forward implementation of Overlap-Save algorithm (described in J.J. Shynk, "Frequency-domain and multirate adaptive   filtering,"  <em>IEEE Signal Processing Magazine</em>, vol. 9, no. 1, pp. 14-37, Jan. 1992), but the theory does not include anything about the leakage or the lambda parameter (which appears in the filter function as an averaging factor). I am assuming that the designers of the filter function have modified their implementation to make the function as general as possible and so these concepts are related to some general filter theory, but I am unable to find any references to what they mean, how they affect the filter performance and why are they there in the filter function. Please help me if any one has any ideas about this, or have used the <code>fdaf</code> function of Matlab DSP toolbox before.</p>