【发布时间】:2014-03-10 21:56:46
【问题描述】:
我有两个音频信号要使用 Matlab 进行比较,我的问题是我可以清晰地听到它们之间的区别,但是当使用函数 pwelch 比较它们的 PSD 时,我看不到太多它们之间的区别,知道如何将它们与不同的方法进行比较!提前致谢 !
PS:1.我已经在DSP.stackexchange中问过问题,但没有答案!
2.我不是要代码,这就是为什么我没有放我的!
更新
在@Bas Swinckels 的回答之后,我正在使用结果的代码标准,但我仍然看不到描述这个的方式?
clear;
clc;
[x0,Fs] = audioread('Nonoise.wav');
x0 = x0(:,1);
[Y0,G] = pwelch(x0,hamming(512));
plot(G,10*log10(Y0));
grid on
[x50,Fs] = audioread('50% noise.wav');
x50 = x50(:,1);
[Y50,G] = pwelch(x50,hamming(512));
hold on ;
plot(G,10*log10(Y50),'r');
[x100,Fs] = audioread('100% noisy.wav');
x100 = x100(:,1);
[Y100,G] = pwelch(x100,hamming(512));
hold on ;
plot(G,10*log10(Y100),'g');
%% spectrogram
spectrogram(x0,hann(64),32,64,Fs)
figure();
spectrogram(x50,hann(64),32,64,Fs)
figure();
spectrogram(x100,hann(64),32,64,Fs)
结果如下:
谁能告诉我我添加到源中的噪声或效果如何影响我的频谱?
【问题讨论】:
-
信号的时间参考和持续时间是否完全相同?你不能把它们减去吗?
-
我剪掉它们以获得相同的持续时间,减法有什么意义?
-
好吧,看看你减去的差异。但是,这只有在信号完全对齐(同一时间原点)时才有效
-
我不能确定,永远都是这样!
-
SNR 是否可以作为比较它们的一种方式,因为声音具有相同的来源但场会发生变化?