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

📄 f_corrlms.asv

📁 DSP程序 Matlab是一套用于科学工程计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体
💻 ASV
字号:
function [w,e] = f_corrlms (x,d,m,alpha,beta,w)
%-----------------------------------------------------------------------
% Usage:       [w,e] = f_corrlms (x,d,m,alpha,beta,w)
%
% Description: Identify the parameters an mth order adaptive 
%              transversal (FIR) filter using the correlation LMS 
%              method. The filter output is
%
%              y(k) = w(1)x(k) + w(2)x(k-1) + ... + w(m+1)x(k-m)
%
% Inputs:      x     = N by 1 vector containing input samples
%              d     = N by 1 vector containing desired output samples
%              m     = order of transversal filter (m >= 0)
%              alpha = scalar containing relative step size
%              beta  = an scalar containing the smoothing parameter. 
%                      beta is approximately one with 0 < beta < 1.
%                      (default: 0.97).
%              w     = an optional (m+1) by 1 vector containing the
%                      initial values of the weights (default: w = 0)
%
% Outputs      w  = (m+1) by 1 weight vector of filter coefficients
%              e  = an optional N by 1 vector of errors where 
%                   e(k) = d(k)-y(k)
%              mu = an optional N by 1 vector containing step sizes  
%-----------------------------------------------------------------------
   
% Initialize

m = f_clip (m,0,m);
N = length(x);
if (nargin < 5) | (beta == [])
   beta = 0.97;
end
if nargin 
theta = zeros(m+1,1);
e = zeros(N,1);
 
% Find optimal weight vector

for k = 1 : N
   if k < (m+1)
       theta(1:k) = x(1:k);
   else
       theta = x(k-m:k);
   end
   e(k) = d(k) - w'*theta;
   w = w + 2*mu*e(k)*theta;
end
%-----------------------------------------------------------------------

⌨️ 快捷键说明

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