Кодирование шумоподавления в Matlab - PullRequest
0 голосов
/ 29 сентября 2019

Это программа, которую я нашел в Интернете.Он должен взять аудио файл из папки, добавить шум и затем отфильтровать его.Однако ha = dsp.LMSFilter (256, mu);неправильно и как добавить правильные аргументы в dsp.LMSFilter (), я понятия не имею.Алос, я не понимаю, как работает код.Любая помощь будет оценена.Это часть очень важного и дипломного проекта в моем колледже.

load handel.mat;
d= 'Recording.m4a';
samples = [1,20*Fs];
clear d Fs
[d,Fs] = audioread('Recording.m4a',samples);
sound(d,Fs)
pause(3)
x=awgn(d,20);
sound(x,Fs) 
pause(3)
mu=0.017;%stepsize
ha=dsp.LMSFilter(256,mu); 
[y,e]=filter(ha,x(:,1),d(:,1));
sound(y,Fs)
subplot(4,1,1),plot(d)
grid on
xlabel('iterations')
ylabel('amplitude')
title('original voice signal')
subplot(4,1,2)
plot(x)
grid on
xlabel('iterations')
ylabel('amplitude')
title('signal with AWGN')
subplot(4,1,3)
plot(y)
grid on
title('filtered output')
xlabel('iterations')
ylabel('amplitude')
subplot(4,1,4)
plot(e)
grid on
title('error signal')
xlabel('iterations')
ylabel('amplitude')

1 Ответ

0 голосов
/ 29 сентября 2019

Я попробовал ваш код и получил эту ошибку.

  Error using
  matlab.system.SystemProp/parseInputs
  dsp.LMSFilter System object constructor
  supports only 1 value-only inputs. You have
  specified 2 value-only inputs. A common cause
  of this error is misspelling a property name.

  Error in
  matlab.system.SystemProp/setProperties

  Error in dsp.LMSFilter

  Error in SO (line 12)
  ha=dsp.LMSFilter(256,mu);

Это означает, что вы даете один дополнительный параметр в функции LMSFilter.в то время как код из интернета, который вы скопировали, может выглядеть так

...