目前在做个超声波方便的东西,就是计算固定的距离的两点之间超声波的传播时间,因为我以前也没学过自适应滤波的知识,matlab也不怎么懂,所以现在就碰到一些困难。
附件是我用来仿真的一个MATLAB程序,这是参考自适应滤波程序来的,程序就存在问题,对LMS自适应时延估计算法里 for 循环的编写不怎么明白,还有输出的权值w是一个多维的矩阵,那怎么来求峰值时刻呢?还有对信号插值,插值后数据的计算,比如说时间间隔是1ms,但是我要到us级的精度,插值后怎样来按us间隔来计数?期望师兄师姐们帮我看看程序,指导我!期待你的回复!万分感激!
程序:
% 该程序参考时域LMS算法(用统计的方法仿真得出不同步长下的收敛曲线),计算信号之间的时延
clear % 清空变量空间
close all
g=100; % 统计仿真次数为g
N=1024; % 输入信号抽样点数N
k=128; % 时域抽头LMS算法滤波器阶数
u=0.001;
for q=1:g
n=1:N;
a=1;
s1=a*sin(0.05*pi*n); % 输入单频信号s1 周期为40
s2=a*sin(0.05*pi*(n-22)); % 输入时延后的单频信号s2,时延为90
%时域波形
figur