Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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,我试图找出我的项目中音频文件的MSE和PSNR值。到目前为止,我编写的代码如下: [y1,fs1, nbits1,opts1]=wavread('one.wav'); [y2,fs2, nbits2,opts2]=wavread('newOne.wav'); [c1x,c1y]=size(y1); [c2x,c2y]=size(y1); if c1x ~= c2x disp('dimeonsions do not agree'); else R=c1x; C=c1y; err =

我试图找出我的项目中音频文件的MSE和PSNR值。到目前为止,我编写的代码如下:

[y1,fs1, nbits1,opts1]=wavread('one.wav');
[y2,fs2, nbits2,opts2]=wavread('newOne.wav');
[c1x,c1y]=size(y1);
[c2x,c2y]=size(y1);
if c1x ~= c2x
    disp('dimeonsions do not agree');
 else
 R=c1x;
 C=c1y;
 err = (((y1-y2).^2)/(R*C));
 MSE=sqrt(err);
 MAXVAL=65535;
  PSNR = 20*log10(MAXVAL/MSE); 
  disp(['mse=' num2str(MSE) ' PSNR=' num2str(PSNR)]);
end
但我得到的错误如下:

[y1,fs1, nbits1,opts1]=wavread('one.wav');
[y2,fs2, nbits2,opts2]=wavread('newOne.wav');
[c1x,c1y]=size(y1);
[c2x,c2y]=size(y1);
if c1x ~= c2x
    disp('dimeonsions do not agree');
 else
 R=c1x;
 C=c1y;
 err = (((y1-y2).^2)/(R*C));
 MSE=sqrt(err);
 MAXVAL=65535;
  PSNR = 20*log10(MAXVAL/MSE); 
  disp(['mse=' num2str(MSE) ' PSNR=' num2str(PSNR)]);
end
被连接矩阵的维数不一致。

我做错了什么???

为了计算MSE-变化,您需要将误差平方相加:

err = (((y1-y2).^2)/(R*C));
致:

您需要对平方误差求和,以计算MSE-变化:

err = (((y1-y2).^2)/(R*C));
致:

您需要对平方误差求和,以计算MSE-变化:

err = (((y1-y2).^2)/(R*C));
致:

您需要对平方误差求和,以计算MSE-变化:

err = (((y1-y2).^2)/(R*C));
致: