wienerfilter_mse.m

来自「AR模型的源程序。」· M 代码 · 共 44 行

M
44
字号
% File: WienerFilter_MSE.m
% ------------------------
% This file is used to compute various mean square errors (MSE) incounted in
% Wiener filtering process.

function WienerFilter_MSE()
load WienerFilter_SeqGen.mat;
load WienerFilter_Core.mat;
load WienerFiltering.mat;

% compute the MSE of x(n) and s(n)
mse_xs = 0; % mean square error between x(n) and s(n)
for i = 1: L
    mse_xs = mse_xs + (signalvector_x(i) - signalvector_s(i)) * (signalvector_x(i) - signalvector_s(i));
end
mse_xs = mse_xs / L;

% compute the MSE of h_fir(n) and h_ide(n)
mse_hh = 0; % mean square error between h_fir(n) and h_ide(n)
for i = 1: N
    mse_hh = mse_hh + (h_fir(i) - h_ide(i)) * (h_fir(i) - h_ide(i));
end
mse_hh = mse_hh / N;

% compute the MSE of s_I(n) and s(n)
mse_sis = 0; % mean square error between s_I(n) and s(n)
for i = 1: L
    mse_sis = mse_sis + (output_ide(i) - signalvector_s(i)) * (output_ide(i) - signalvector_s(i));
end
mse_sis = mse_sis / L;

% compute the MSE of s_R(n) and s(n)
mse_srs = 0; % mean square error between s_R(n) and s(n)
for i = 1: L
    mse_srs = mse_srs + (output_fir(i) - signalvector_s(i)) * (output_fir(i) - signalvector_s(i));
end
mse_srs = mse_srs / L;

sprintf('mse_xs:  %f\nmse_hh:  %f\nmse_sis: %f\nmse_srs: %f', mse_xs, mse_hh, mse_sis, mse_srs)

savefile = 'WienerFilter_MSE.mat';
save(savefile, 'mse_xs', 'mse_hh', 'mse_sis', 'mse_srs');

clear;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?