This function provides an implementation of the Wiener filter based on Wiener-Hopf equations.
Given a noisy signal and a reference signal, the Wiener filter can be applied to the noisy signal for estimating the contribution coherent with the reference signal.
Note that this kind of filter may be used also in cascade in order to separate multiple contribution if multiple references are present.
The function is provided with a demo in order to show its application in a simple case and it is full compatible with Octave.
% x = noisy signal
% y = reference signalsinit
% N = filter order
% xest = estimated signal
% b = Wiener filter coefficents
% MSE = mean squared error
Is this a FIR Weiner Filter implemantation ?
I try to answer to your question (I speak just Italian and English). This function estimate a filter of length N that can denoise a signal (x) by considering a reference signal (y).
X, y and N are inputs that means that they are data that you shall provide to the function in order to achieve the outputs.
A possible application is that when you have an acoustic signal, for instance acquired from a pipe with a noisy flow inside, and the pressure signal of this flow. If want to extract the part of noise due to the flow passage, you can use the acoustic signal as x and the pressure signal as y. Once obtained the Wiener filter, you can filter the acoustic signal obtaining an estimation of the contribution related the flow passage.
de donde optengo x, y, N?
The code has been improved: the function can be performed by using column or row vectors as inputs.
Title, summary, description and tags have been improved.