1 简介
2 部分代码
% 时变维纳滤波器函数示例
%需要谱图matlab函数!
clear all
clc
close all
% 合成信号
% 采样频率 1 kHz
% 啁啾:从 50 Hz 开始,并在 10 秒时穿过 450 Hz,具有强 Gussian 背景噪声 (SNR -18 dB)
fs = 1000;
T = 10;
t=0:1/fs:T;
r=chirp(t,50,T,450);
L = length(r);
wnoise = 6 .* randn(size(r));
x = wnoise + r;
figure
spectrogram(r,256,250,256,1E3);
view(-45,65)
colormap bone
title('参考信号')
figure
subplot(1,2,1)
spectrogram(x,256,250,256,1E3);
view(-45,65)
colormap bone
title('噪声信号')
Lw = 256;
[xest,B,Nblocks] = ADwienerFilt(x,r,Lw);
subplot(1,2,2)
spectrogram(xest,256,250,256,1E3);
view(-45,65)
colormap bone
title('估计信号')
3 仿真结果
4 参考文献
[1] Qianjun D , Yongliang W , Yongshun Z , et al. Efficient Algorithms for Implementing Multistage Wiener Filter in Adaptive Arrays自适应阵列中多级维纳滤波器的有效实现算法[J]. 电子与信息学报, 2006, 28(5):936-940.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。