Wiener filtering/deconvolution for non-stationary noise Consider a stationary discrete-time random process $x[k]$ which undergoes low pass filtering by a filter with impulse response $h[k]$ and is subject to additive, temporally uncorrelated noise $n[k]$ of time-varying power $\sigma^2_n[k]$:
$$
y[k] = \sum^\infty_{m=0} h[m] x[k-m] + n[k].\qquad
$$
The time-variation in noise power is described by:
$$
 E[n^2[k]]=\sigma^2_n[k]= Ae^{k/B} \qquad B&gt;&gt;1 
$$
such that the noise power increases (slowly) with time.
Specification of length $L$ FIR filter coefficients of a Wiener deconvolver seeking to estimate $x[k]$ from $y[k]$ is straight-forward for stationary noise.
Things are more complicated for non-stationary noise.
Strictly speaking non-stationary noise requires a different filter for every sample instant $k$ which is prohibitively complex.  In my case, the noise changes slowly enough for it to be modeled as locally stationary over significantly more than $L$ samples.  I could always just update the filter coefficients every $NL$ samples to reflect a new noise power assumption, but I'm concerned about abrupt transient responses due to the sudden jump in deconvolver coefficients.  Something more frequent but more gradual sounds better.
Is anyone aware of a smart recursive form of the Wiener filter for cases like this (especially where the noise power itself follows a recursion: $\sigma^2_n[k]=e^{1/B}\sigma^2_n[k-1]$)?
The Wiener Filter can written as a Least Squares problem (See How Is the Formula for the Wiener Deconvolution Derived?).
In you case, Since noise is basically with different STD per sample you may use the simple extension of Weighted Least Squares on top of the terms for the Wiener Filter.
Once you do that you'll have the optimal solution.