matlab如何减去噪音,如何使用matlab中的allpassfilter消除声音中的噪音?

我下载了干净而嘈杂的音频文件。

首先让我们分析一小部分音频。

n=1024*8; % a small portion of data

w1=1e5;

w2=w1+n-1;

sig_noisy=data_n(w1:w2,1); % noisy audio

sig_clean=data_c(w1:w2,1); % clean audio

figure; hold all

plot(sig_noisy,'b')

plot(sig_clean,'r','LineWidth',2)

ylim([-1.5 1.5])

legend('Noisy','Clean')

正如在这里看到的那样,嘈杂的音频在某种程度上已经饱和了

截断版本的干净信号。截断信号会引起谐波

在更大的频率。让我们来看看功率谱

密度信号。

n=1024*1; % a smaller portion of data

w1=1e5;

w2=w1+n-1;

sig_noisy=data_n(w1:w2,1); % noisy

sig_clean=data_c(w1:w2,1); % clean

[psd_noisy, f] = pwelch(sig_noisy);

[psd_clean, ~] = pwelch(sig_clean);

figure; hold al

你可能感兴趣的:(matlab如何减去噪音)