Use FIR Wiener Filter to remove the noise??
37 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello
I have an audio file that added white guass noise to it, I need to determine the FIR filter coefficients using the Wiener-Hopf equation
so I started like this and stopped
[X, Fs] = audioread('test.wav'); % read audio file
gnoise = awgn(X, 15); % Add white guass noise
Noise = gnoise - X; %extract the noise
as a result X and Fs would be Fs = 48000; X = 961452x2 double
how can we design a wiener filter to clear the noise? I wrote the code below for that but it didn't cleared
N = 100;
rxx = xcorr(gnoise, N);
rxy = xcorr(gnoise, X, N);
R = toeplitz(rxx);
W = inv(R).*rxy; %%% my W value is not one dimension, I could't get it as one dimension matrix.
Y = filter(W(:), gnoise);
thankks.
0 Kommentare
Antworten (1)
Akash
am 20 Feb. 2024
Hi Lana,
To design a Wiener filter that can effectively reduce the noise, you might find the MATLAB File Exchange link provided below useful. It contains a design for a Wiener filter where a signal is taken, noise is added, and then the Wiener filter is applied to mitigate the noise's effect.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Simulation, Tuning, and Visualization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!