https://en.wikipedia.org/wiki/Wiener_filter
Wiener filter solutions
The Wiener filter problem has solutions for three possible cases: one where a noncausal filter is acceptable (requiring an infinite amount of both past and future data), the case where a causal filter is desired (using an infinite amount of past data), and the finite impulse response (FIR) case where a finite amount of past data is used. The first c
ase is simple to solve but is not suited for real-time applications. Wiener's main accomplishment was solving the case where the causality requirement is in effect, and in an appendix of Wiener's book Levinson gave the FIR solution.
Noncausal solution
Where are spectra. Provided that is optimal, then the minimum mean-square error equation reduces to
and the solution is the inverse two-sided Laplace transform of .
Causal solution
where
- consists of the causal part of (that is, that part of this fraction having a positive time solution under the inverse Laplace transform)
- is the causal component of (i.e., the inverse Laplace transform of is non-zero only for )
- is the anti-causal component of (i.e., the inverse Laplace transform of is non-zero only for )
This general formula is complicated and deserves a more detailed explanation. To write down the solution in a specific case, one should follow these steps:[2]
- Start with the spectrum in rational form and factor it into causal and anti-causal components:
where contains all the zeros and poles in the left half plane (LHP) and contains the zeroes and poles in the right half plane (RHP). This is called the Wiener–Hopf factorization.
- Divide by and write out the result as a partial fraction expansion.
- Select only those terms in this expansion having poles in the LHP. Call these terms .
- Divide by . The result is the desired filter transfer function .
原始文件,环境噪音已经很弱了
逐帧实时维纳滤波后