⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 volterra_train.m

📁 Volterra自适应预测的 matlab 程序,用于自适应预测测试和混沌序列的相空间重构(转)
💻 M
字号:
function [Hn,len_filter] = Volterra_train(xn_train,dn_train,p,Times);
% 混沌时间序列的 Volterra 自适应预测 -- 训练部分
% [Hn,len_filter] = Volterra_train(s_train, tau, m, p, Times)
% 输入参数:    xn_train   训练样本(每一列为一个样本)
%               dn_train   训练目标
%               p          Volterra 级数阶数
%               Times      最小二乘估计迭代次数
% 输出参数:    Hn         最小二乘估计滤波器权矢量 Hn
%          len_filter 权矢量长度

%--------------------------------------------------
% 由相空间构造 Volterra 自适应 FIR 滤波器的输入信号矢量 Un

[Un,len_filter] = PhaSpa2VoltCoef(xn_train,p);
% 输入参数:    xn_train     相空间中的点序列(每一列为一个点)
%               p            Volterra 级数阶数
% 输出参数:    Un           Volterra 自适应 FIR 滤波器的输入信号矢量 Un
%               len_filter   FIR 滤波器长度

%----------------------------------------
% 最小二乘估计滤波器权矢量 Hn(自适应MSE算法)

M = len_filter;
N = size(xn_train,2);
R = zeros(M,M);
P = zeros(M,1);
trR = 0;
for i = 1:N                     % i 取值范围 1 -> N-M+1
    R = R + Un(:,i)*Un(:,i)';
    P = P + dn_train(i)*Un(:,i);
    trR = trR + sum(Un(:,i).^2);
end
R = R./N;               % 输入信号自相关矩阵,见式(3.10)
P = P./N;               % 期望信号与输入信号的互相关矢量,见式(3.11)
trR = trR/N;            % 矩阵迹的估计,见式(3.50)

mu_max = 1/trR;          % 必须满足式(3.49)
mu = mu_max*0.95;

Hn0 = zeros(M,1);                   % 初始化滤波系数矢量
for i=1:Times-1
    DeltaWn = -2*mu*(R*Hn0-P);      % 滤波系数矢量增量,见式(3.40)
    Hn = Hn0 + DeltaWn;      % 滤波系数矢量更新,见式(3.40)
    Hn0 = Hn;
end

⌨️ 快捷键说明

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