📄 wienerfilter_mse.m
字号:
% 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -