fs=1000%采样频率1000hz
N=500%采样点数
t=(0:1:N-1)/fs
f=10%正弦信号频率10hz
x=sin(2*pi*f*t)+randn(size(t))%被随机信号干扰的正弦信号
b = fir1(31,0.5) %由b = fir1(31,0.5)产生32阶滤波器系数
n = 0.1*randn(1,500)% 通过以上滤波系统所加入的噪声
d = filter(b,1,x)+n % 通过滤波器后的期望信号
delta = 0.005 % 设置自适应滤波器其中一个步长因子为0.005
ha = adaptfilt.lms(32,delta)%求出系统的滤波器系数
[y,e] = filter(ha,x,d)
delta0=0.001 %另一个步长因子为0.001作对比
ha=adaptfilt.lms(32,delta0)
[y0,e0]=filter(ha,x,d)
m=1:500
figure(1)
plot(m,x,'g')
figure(2)
plot(m,e,'r',m,e0)
legend('delta=0.001','delta=0.005')
% subplot(2,1,1)
% plot(m,e0)
%
以上是基本的LMS算法
% 滤波型LMS算法滤波
M = 20 % 运行次数
N = 1000 % 信号的长度
n = 0:N-1
s = sin(2*pi*n/10)% 初始信号
u = s + 0.36*randn(1,N) % 叠加噪声后的信号
% 信号叠加噪声波形图
figure(1)
plot(n,u)
title('信号叠加噪声波形图')
xlabel('n')ylabel('u')
LEACH在运行过程中不断地循环执行簇的重构。算法 *** 作使用了“轮”的概念,每一轮由初始化和稳定的工作两个阶段组成。在初始化阶段,每个节点产生一个0~1之间的随机数,如果某个节点产生的随机数小于所设的阈值T(n),则该节点发布自己是簇头的消息。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)