Matlab:均方误差

时间:2015-05-01 13:05:31

标签: matlab signal-processing noise

您好我是Matlab的新手,我很难理解均方误差背后的逻辑。我得到了一个信号,我能够生成它并计算信号的SNR,有没有办法找到原始信号和SNR信号之间的均方误差?

class newthread extends Thread {

    newthread() {

    super("demo thread");

    System.out.println("child thread:"+this);

    start();}

    public void run(){

    try{

    for(int i=5;i>0;i--)  {

        System.out.println("child thread:"+i);

        Thread.sleep(500); }

       }

   catch(InterruptedException e){

        System.out.println("child thread interrupted");}

        System.out.println("child thread exiting");

       }

}

    class exthr{

       public static void main(String args[]){

         new newthread();

         try{

         for(int i=5;i>0;i--)    {

         System.out.println("main thread:"+i);

         Thread.sleep(1000);     }

            }

         catch(InterruptedException e){

         System.out.println("main thread interrupted ");     }

       System.out.println("main thread exiting");

       }

       } 

??????

2 个答案:

答案 0 :(得分:1)

首先,您必须找出原始信号的功率,然后您必须使用给定的snr信息计算噪声功率。然后,您必须使用您在上一步计算的功率信息构建噪声信号。然后在实际信号中添加噪声信号,然后使用以下代码行。

我试图实施上面解释的程序:

在下面的代码中,我从您的问题中选择了:

n = 1:512;
signal = exp(-5*(n-250).^2/100000).*cos(pi*(n-250)/6);
Snr = 30:-5:-10 ;

从信号计算功率:

power_signal = (1/length (n))* sum ( signal.^2) ;

使用snr信息计算不同的噪声功率:

P_noise = [] ;
for i = 1: length(Snr) 
    p_noise (i) = power_signal/(Snr(i) /10) ;
end

为了简单起见,我选择了信号和噪声对应于第一个snr级别:

noise   = wgn (1, length(n), p_noise (1), 'linear') ;
ModifiedSignal = signal + noise  ;

MSE计算:

 differ = abs(signal - ModifiedSignal).^2  ; 
 MSE = sum(differ(:) )/ numel(signal ) ;

答案 1 :(得分:0)

%MSE Original Signal
MSE_original_signal = (double(original_signal) - double(noise_signal)) .^ 2;
MSE_original_signal = sum(sum(MSE_original_signal)) / (length(n)); 
fprintf('\nMSE Original Signal.....= %3.4f', MSE_original_signal);

均方误差(MSE) 计算每个信号的均方,以便进行比较。该 最接近的值与原始信号的均方值相比较 最准确的一个。

  1. 将样本数转换为类型浮点数 确保没有负面差异。

  2. 在元素的基础上减去浮点整数。

  3. 对减法

  4. 中的结果矩阵的元素进行平方
  5. 求平方信号

  6. 除以原始矩阵的元素数

  7. (根均方根可选)平方根获得均方根误差的答案