Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用Matlab比较两种音频信号_Matlab_Signal Processing - Fatal编程技术网

如何用Matlab比较两种音频信号

如何用Matlab比较两种音频信号,matlab,signal-processing,Matlab,Signal Processing,我有两个音频信号,我想用Matlab进行比较,我的问题是我可以清楚地听到它们之间的差异,但是当使用函数pwelch比较它们的PSD时,我看不到它们之间有多大的差异,我知道如何用不同的方法来比较它们!提前谢谢! 附言:1。我已经在DSP.stackexchange中问了这个问题,但没有回答! 2.我不是要密码,所以我才没有把我的密码放进去 更新 后,这里的BASS SWECKELS的答案是我用的结果,我还是看不出描述这个的方式? clear; clc; [x0,Fs] = audioread(

我有两个音频信号,我想用Matlab进行比较,我的问题是我可以清楚地听到它们之间的差异,但是当使用函数
pwelch
比较它们的PSD时,我看不到它们之间有多大的差异,我知道如何用不同的方法来比较它们!提前谢谢! 附言:1。我已经在DSP.stackexchange中问了这个问题,但没有回答! 2.我不是要密码,所以我才没有把我的密码放进去

更新

后,这里的BASS SWECKELS的答案是我用的结果,我还是看不出描述这个的方式?

  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)
结果如下:

有谁能告诉我,我添加到源中的噪声或效果是如何影响我的频谱的

您可以尝试绘制两个信号的曲线,如下所示:

spectrogram(x, hann(nfft), nfft/2, nfft, fsample)
当您使用
pHelp
计算PSD时,您只会得到平均频谱,并且会丢失所有时间信息:它不会显示信号在开始或结束时是否更响亮。计算频谱图也与你的耳朵感知的非常相似,它们测量一种频谱作为时间的函数。因此,如果你能听到差异,它应该在具有足够信噪比的频谱图中显示为差异


当你制作一个光谱图时,你应该尝试使用频率和时间分辨率,因为它们遵循某种海森堡定律。缩短FFT窗口(通过选择一个小的
nfft
)将使您获得良好的时间分辨率,但频率分辨率更差,反之亦然。

信号是否具有完全相同的时间参考和持续时间?你就不能把它们减去吗?我把它们减去是为了得到相同的持续时间,减法有什么意义呢?好吧,看看减法有什么不同。然而,只有当信号完全对齐(同一时间原点)时,这才有效。我不能确定,情况总是这样!信噪比可以作为比较它们的一种方法吗,因为声音有相同的源,但场会发生变化?对不起,当我处理随机信号时,我不应该计算PSD吗?从光谱图上看,几乎和普韦尔奇一样!至少当我看到结果ok的时候是3d的,但在我看来是一样的!要获得光谱的统计正确估计值,您确实应该使用
pwelch
type周期图。但是这样,你就失去了所有的时间信息。没有什么是禁止你制作光谱图的,它基本上是单个光谱,
pwelch
取平均值。通过使用频谱图的频率和时间分辨率,您甚至可以对每个时间段进行有限数量的平均。但这取决于你有多少数据,通常你必须在频率和时间分辨率之间进行权衡。试试看,最坏的情况是太吵了……我又试了一次,但还是看不出有什么不同!您是否尝试了nfft的各种值?我通常会尝试使用许多不同的2次幂。