第六次上机.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、实验内容: 上机1 随机梯度法的实现,编写一个matlab函数实现 上机2 自适应噪声抵消器的实现 上机3 自适应谱线增强的应用 上机4 语音信号的去噪 上机5 综合比较 五、实验数据及结果分析: 1.随机梯度法的实现,编写一个matlab函数实现 a)观察到p个值计算,,初值W和eT预先给定,μ先给定。 关键代码: function [w,y]=mylms(x,d,delta,N) % LMS Algorithm for coefficient adjustment % w=estimated FIR FILTER % y=output array % x=input array % d=desired array,length must be same as x % delta=step size 1 % N=length of FIR filter,Nlength of x %----初始化----- w=zeros(1,N); M=length(x); y=zeros(1,M); b)当有新观测值XT+1后,,计算新的误差,不断调整W,使之接近最优解。 关键代码:%---求权重w---- for n=N:M xt=x(n:-1:n-N+1); y(n)=w*xt; et=d(n)-y(n); w=w+2*delta*et*xt; end 自适应噪声抵消器的实现 实现工频干扰的自适应噪声抵消。要求s=母亲心电或胎儿心电信号;d=n+s;n为50Hz的正弦干扰信号;n通过一个线性系统后产生x信号。 a)载入母亲心电信号s,50Hz正弦信号n,让n通过线性系统得到相关的噪声信号x,观测信号d=n+s。 关键代码: s=load(mecg1.dat); s=s(500:1500); t=0:1:length(s)-1; n=0.7*10^11*sin(100*pi*t);%f=50hz x=filter([2,1],1,n);%产生相关的噪声 d=s+n; b)对含噪声的母亲心电进行自适应滤波,得到自适应滤波后的输出和自适应噪声抵消后的输出误差。 关键代码: [w,y]=mylms(x,d,0.001,15); 分析2.1: n和x相关,而与s不相关。右图我们可以看到,第四幅图是自适应滤波后的得到的图像,相比第二幅噪声滤除了很多,利用c=corr(s,(d-y));SNR=10*log10(var(s)/var(n)); 我们求得c=0.9546,SNR=4.47,在这个信噪比可见相关系数很大,滤波效果很好。 3.自适应谱线增强的应用 信号较弱,在宽带噪声背景下,突出信号而压制噪声,就是谱线增强。 载入胎儿心电信号s,我选取其中的1001点,产生对应长度的白噪声n,进行自适应滤波,步长μ=0.001,阶数N=15。得到了滤波前后的对比图如下。 关键代码:%------s=胎儿心电信号 n=白噪声信号---- s=load(fecg1.dat); s=s(500:1500); N=length(s); n=0.5*randn(1,N); x=s+n; d=[0 x(1:end-1)]; %移位delta x [w,y]=mylms(d,x,0.001,15) 分析3.1: 使得d与x不相关,但信号s延迟后与原信号是相关的。使得自适应后输出y趋于s,eT趋于n。我们在第三幅图中得到滤波后的图像y,利用 c=corr(y,s);SNR=10*log10(var(s)/var(n)); 求得c=0.6936,SNR=6.47,在这个信噪比下得到的相关系数不算很高,滤波的效果不算理想,可能和步长有关。 b)改变信噪比,与维纳滤波器比较去噪效果。 关键代码:%-----改变信噪比,与维纳滤波器比较去噪效果------ weight=0.1:0.05:30; for i=1:150 X=s+weight(i)*n;D=[0 X(1:end-1)]; SNR(i)=10*log10(var(s)/var(weight(i)*n)); %信噪比 [ww,yy]=mylms(D,X,0.001,15);%自适应滤波 y1=X-yy; [h,err]=weiner(X,(weight(i)*n));%维纳滤波 y2=filter(h,1,X); ceof1(i)=corr(y1,s); ceof2(i)=corr(y2,s); %相关系数 end 分析3.2: 我们给定权重weight,进行了150次循环,花费的时间也很多,这也是我截取1001点的原因。我们分别用自适应滤波和维纳滤波对信号进行处理,通过计算相关系数和信噪比,得到右图,可以看出维纳滤波的效果优于自适应滤波,维纳

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档