维纳滤波最陡下降法 matlab仿真


% 最陡下降算法仿真实例 现代数字信号处理及其应用 4.3.4
close all 
clc
% 模拟产生输入随机序列u(n)
% 迭代步长 0.02
q = 0.02;
N = 1000;

% 2抽头维纳滤波器,迭代次数为N
W = zeros(2, N);
R = [1.0997 0.4997; 0.4997 1.0997]
% 其中D为特征值构成的对角阵,特征向量为V
[V, D] = eig(R)

%通过上式求出最大特征值是1.5994,u < 2/1.5994 = 1.2505
%所以u如果大于1.25,迭代次数越多,并不会使Jmin收敛。
%反之,u小于1.25,相对来说迭代越多,Jmin越收敛,并且u越小,收敛越慢。

p = [0.5270 -0.4458]'
%期望信号d(n)的平均功率或方差
var_d = 0.9486

%w(n+1) = w(n) + u[p - Rw(n)]
%J(w(n)) = σd^2 - p'w(n)
for n = 1 : N - 1
    W(:, n+1) = W(:, n) + q * (p - R * W(:, n));
    J(n) = var_d - p'* W(:, n);
end
Jmin = J(n)

figure
n=1 : N;  
plot(n,W(1, :),n,W(2, :))

figure
n=1 : N;  
plot(n, J(n))




  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值