线性神经网络用于噪声对消
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性神经网络用于噪声对消
ADALINE自适应线性神经元的输入量为随机噪声nl;正弦波信号与随机噪声之和ADALINE神经元的目标向量;输出信号为网络调整过程中的误差信号。
源程序:
clear all; %消除所有内存变量
time=0.01:0.01:10; %时间变量
noise=(rand(1,1000)-0.5)*4; %随机噪声
input=sin(time); %信号
p=noise; %将信号作为ADALINE的输入向量
t=input+noise; %将噪声+信号作为目标向量
%创建线性神经网络
net=newlin([-1 1],1,0,0.0005);
%线性神经网络的自适应调整(训练)
net.adaptParam.passes=70;
[net,y,output]=adapt(net,p,t); %输出信号output为网络调整过程中的误差
%绘制信号、迭加随机噪声的信号、输出信号的波形
hold on
subplot(3,1,1);
plot(time,input,'b');
xlabel('t','position',[10.5,-1]);
ylabel('信号波形sin(t)','fontsize',8)
subplot(3,1,2);
plot(time,t,'m');
xlabel('t','position',[10.5,-5]);
ylabel('随机噪声波形sin(t)+noise(t)','fontsize',8)
subplot(3,1,3);
plot(time,output,'y');
xlabel('t','position',[10.5,-2]);
ylabel('输出信号波形y(t)','fontsize',8)
hold off
仿真结果:
从图中可以看出,输出信号处理含有一定的直流分量外,其波形与输入信号基本一致,消除了迭加的随机噪声。
线性神经网络噪声对消的实际应用:
采用这种系统来完成对胎儿心率的检测,可以得到十分满意的结果。由于测量胎儿的心率一定会受到母体心率的干扰,而且母体心率很强,但是与胎儿心率是相互独立的,所以可以将母体心率作为噪声源n1,输入ADALINE中,混有噪声的胎儿心率信号作为目标相应,通过对消后,系统就可以得到清晰的胎儿心率。
这种系统还可以应用于电话中的回音对消。在电话通话的过程中,如果没有回音对消措施,那么,我们自身的声音会与来自对方的声音一起传到听筒中,而且自身的声音更强,影响通话质量。可将自身的声音作为噪声源n1输入ADALINE 中,混有对方声音的信号作为目标响应,通过对消后,系统就可以得到清晰的来自对方的声音信号。