RLS Адаптивный фильтр для шумоподавления - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь реализовать алгоритм RLS в MATLAB. Я использовал дизайны, доступные в наборе инструментов Matlab's dsp. Но после запуска этого фильтра он практически не уменьшает шум в исходном аудиофайле.

Есть ли способ сделать фильтр лучше при подавлении шума?

clear;
[signal,fs] = audioread('../data/2/strong/noise2_strong1.wav');
L = length(signal);
noise = rand(L,1);

lp = dsp.FIRFilter('Numerator',fir1(31,0.5));

M      = 32;                 % Filter order
delta  = 0.1;                % Initial input covariance estimate
P0     = (1/delta)*eye(M,M); % Initial setting for the P matrix
rlsfilt = dsp.RLSFilter(M,'InitialInverseCovariance',P0);

d = lp(noise) + signal;
[y,e]  = rlsfilt(noise,d);

plot(0:L-1,signal(1:L),0:L-1,e(1:L));
...