Эхо-отмена

Запись речи включает эхо, вызванное отражением от стенки. Используйте автокорреляцию, чтобы отфильтровать ее.

В записи человек говорит слово MATLAB ®. Загрузите данные и частоту дискретизации ,Fs=7418Hz.

load mtlb

% To hear, type soundsc(mtlb,Fs)

Моделируйте эхо путем добавления к записи копии сигнала, задержанного Δ выборки и ослабленные известным фактором α: y(n)=x(n)+αx(n-Δ). Задайте временную задержку 0,23 с и коэффициент ослабления 0,5.

timelag = 0.23;
delta = round(Fs*timelag);
alpha = 0.5;

orig = [mtlb;zeros(delta,1)];
echo = [zeros(delta,1);mtlb]*alpha;

mtEcho = orig + echo;

Постройте график оригинала, эха и полученного сигнала.

t = (0:length(mtEcho)-1)/Fs;

subplot(2,1,1)
plot(t,[orig echo])
legend('Original','Echo')

subplot(2,1,2)
plot(t,mtEcho)
legend('Total')
xlabel('Time (s)')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent Original, Echo. Axes 2 contains an object of type line. This object represents Total.

% To hear, type soundsc(mtEcho,Fs)

Вычислите объективную оценку автокорреляции сигнала. Выберите и постройте график сечения, которое соответствует лагам, больше нуля.

[Rmm,lags] = xcorr(mtEcho,'unbiased');

Rmm = Rmm(lags>0);
lags = lags(lags>0);

figure
plot(lags/Fs,Rmm)
xlabel('Lag (s)')

Figure contains an axes. The axes contains an object of type line.

Автокорреляция имеет резкий пик задержки, при которой приходит эхо. Отмените эхо-сигнал путем фильтрации сигнала через БИХ систему, выход которой, w, подчиняется w(n)+αw(n-Δ)=y(n).

[~,dl] = findpeaks(Rmm,lags,'MinPeakHeight',0.22);

mtNew = filter(1,[1 zeros(1,dl-1) alpha],mtEcho);

Постройте график фильтрованного сигнала и сравните с исходным.

subplot(2,1,1)
plot(t,orig)
legend('Original')

subplot(2,1,2)
plot(t,mtNew)
legend('Filtered')
xlabel('Time (s)')

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents Original. Axes 2 contains an object of type line. This object represents Filtered.

% To hear, type soundsc(mtNew,Fs)

См. также

Функции

Для просмотра документации необходимо авторизоваться на сайте