设计一个自适应滤波器对信号x(n)进行分离.docVIP

设计一个自适应滤波器对信号x(n)进行分离.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计一个自适应滤波器对信号x(n)进行分离

作业3:设计一个自适应滤波器,对信号x n 进行分离 图1 信号分离原理框图 。 仿真结果: 周期为1的余弦输入信号,随机噪声信号 滤波器输入信号,自适应滤波的输出信号 自适应滤波的输出信号,期望输出,误差 代码: function [ output_args ] SeSiNoi input_args close all % 周期信号的产生 t 0:0.01:6; xs cos 2*pi*t ; figure; subplot 2,1,1 ; plot t,xs ;grid; ylabel 幅值 ; title 输入周期性信号 ; % 噪声信号的产生 randn state,sum 100*clock ; snr 10; s_power var xs ; %var函数: 返回方差值 linear_snr 10^ snr/10 ; factor sqrt s_power/linear_snr ; xn randn 1,length xs *factor; subplot 2,1,2 ; plot t,xn ;grid; ylabel 幅值 ; xlabel 时间 ; title 随机噪声信号 ; % 信号滤波 xn xs+xn; xn xn. ; % 输入信号序列 dn xs. ; % 预期结果序列 M 20 ; % 滤波器的阶数 rho_max max eig xn*xn. ; % 输入信号相关矩阵的最大特征值 mu rand * 1/rho_max ; % 收敛因子 0 mu 1/rho [yn,W,en] LMS xn,dn,M,mu ; % 绘制滤波器输入信号 figure; subplot 2,1,1 ; plot t,xn ;grid; ylabel 幅值 ; xlabel 时间 ; title 滤波器输入信号 ; % 绘制自适应滤波器输出信号 subplot 2,1,2 ; plot t,yn ;grid; ylabel 幅值 ; xlabel 时间 ; title 自适应滤波器输出信号 ; % 绘制自适应滤波器输出信号,预期输出信号和两者的误差 figure plot t,yn,b,t,dn,g,t,dn-yn,r ;grid; legend 自适应滤波器输出,预期输出,误差,输入信号 ; ylabel 幅值 ; xlabel 时间 ; title 自适应滤波器 ; End 其中自适应滤波器采用LMS最小均方算法 LMS 函数源代码如下: function [yn,W,en] LMS xn,dn,M,mu,itr % LMS Least Mean Squre 算法 % 输入参数: % xn 输入的信号序列 列向量 % dn 所期望的响应序列 列向量 % M 滤波器的阶数 标量 % mu 收敛因子 步长 标量 要求大于0,小于xn的相关矩阵最大特征值的倒数 % itr 迭代次数 标量 默认为xn的长度,M itr length xn % 输出参数: % W 滤波器的权值矩阵 矩阵 % 大小为M x itr, % en 误差序列 itr x 1 列向量 % yn 实际输出序列 列向量 % 参数个数必须为4个或5个 if nargin 4 % 4个时递归迭代的次数为xn的长度 itr 5*length xn ; elseif nargin 5 % 5个时满足M itr length xn if itr length xn *6 | itr M error 迭代次数过大或过小! ; end else error 请检查输入参数的个数! ; end % 初始化参数 en zeros itr,1 ; % 误差序列,en k 表示第k次迭代时预期输出与实际输入的误差 W zeros M,itr ; % 每一行代表一个加权参量,每一列代表-次迭代,初始为0 % 迭代计算 for k M:itr % 第k次迭代 x xn k:-1:k-M+1 ; % 滤波器M个抽头的输入 y W :,k-1 . * x; % 滤波器的输出 en k dn k - y ; % 第k次迭代的误差 % 滤波器权值计算的迭代式 W :,k W :,k-1 + 2*mu*en k *x; end % 求最优时滤波器的输出序列 yn inf * ones size xn ; for k M:length xn x xn k:-1:k-M+1 ; yn k W :,end .* x; end

文档评论(0)

kakaxi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档