


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB自适应滤波去噪课程设计报告1. 课程设计目的此次课程设计目的是为了让我们学会使用 MATLA进行计算机仿真,使用自适应 滤波法设计一个语音去噪声电路。培养我们的电路设计思路及其算法,明白理论和实 践相结合的重要性,培养了我们的实际操作能力以及锻炼我们对实际问题的分析和解 决的能力。2. 课程设计内容2.1 LMS自适应算法原理自适应过程一般采用典型LMS自适应算法,但当滤波器的输入信号为有色随机过 程时,特别是当输入信号为高度相关时,这种算法收敛速度要下降许多,这主要是因 为输入信号的自相关矩阵特征值的分散程度加剧将导致算法收敛性能的恶化和稳态 误差的增大。此时若采用变换域算法可以
2、增加算法收敛速度。变换域算法的基本思想 是:先对输入信号进行一次正交变换以去除或衰减其相关性,然后将变换后的信号加 到自适应滤波器以实现滤波处理,从而改善相关矩阵的条件数。因为离散傅立叶变换 DFT本身具有近似正交性,加之有 FFT快速算法,故频域分块LMS FBLMS算法 被广泛使用。FBLMSS法本质上是以频域来实现时域分块 LMS算法的,即将时域数据分组构成 N个点的数据块,且在每块上滤波权系数保持不变。其原理框图如图2所示。FBLMS算法在频域内可以用数字信号处理中的重叠保留法来实现,其计算量比时域法大为减少,也可以用重叠相加法来计算,但这种算法比重叠保留法需要较大的计算量。块数 据的
3、任何重叠比例都是可行的,但以50%的重叠计算效率为最高。对FBLM算法和典 型LMS算法的运算量做了比较,并从理论上讨论了两个算法中乘法部分的运算量。本 文从实际工程出发,详细分析了两个算法中乘法和加法的总运算量,其结果为:复杂度之比二FBLM麒数乘加次数/ LMS实数乘加次数=(25Nlog2N+ 2N 4)/ 2N(2N 1)采用ADSP勺C语言来实现FBLMSJ法的程序如下:for(i = 0;i v = 30;i + +)for(j 二0;j v= n 1;j + +)inj = inputi x N+ j;rfft(i n,ti n,n f,wfft,wst, n);rfft(w,t
4、w,wf,wfft,wst, n);cvecvmlt(i nf,wf,i nw, n);ifft(i nw,t,O,wfft,wst, n);for(j = 0,j v = N- 1;j + + )yi x N+ j = ON+ j . re;ei x N+ j = refereix N+ j yi x N+ j;tempN + j = ei x N+ j;rfft(temp,t,E,wfft,wst, n);for(j = 0;j v = n - 1;j + + )in f_conjj= conjf(in fj);cvecvmlt(E,i nf_conj,Ei n,n);ifft(Ei n,
5、t,Ei n,wfft,wst, n);for(j = 0;j v = N- 1;j + + )OOj二 Einj . re;wj二 wj + 2* u* OOj;在EZ KIT测试板中,笔者用汇编语言和C语言程序分别测试了典型LMS算法的 运行速度,并和FBLMSf法的C语言运行速度进行了比较,表 2所列是其比较结果, 从表2可以看出滤波器阶数为64时,即使是用C语言编写的FBLMSJ法也比用汇编 编写的LMS算法速度快20%以上,如果滤波器的阶数更大,则速度会提高更多。2.2语音信号去噪声源程序%lms算法源程序clear allclose all%cha nnel system orde
6、rsysorder = 5 ;% Number of system pointsN=2000;inp = randn( N,1);n = randn( N,1);b,a = butter(2,0.25);Gz = tf(b,a,-1);%This fun ctio n is submitted to make inv erse Z-tra nsform (Matlab cen tral file excha nge)%The first sysorder weight value%h=ldiv(b,a,sysorder)'% if you use ldiv this will give
7、 h :filter weights to beh= 0.0976;0.2873;0.3360;0.2210;0.0964;y = lsim(G z,in p);%add some no isen = n * std(y)/(10*std(n);d = y + n;totalle ngth=size(d,1);%Take 60 poi nts for trai ningN=60 ;%beg in of algorithmw = zeros ( sysorder , 1 );for n = sysorder : Nu = inp(n :-1: n-sysorder+1);y(n )= w'
8、; * u;e(n) = d(n) - y(n);% Start with big mu for speeding the convergenee then slow down to reach the correct weightsif n < 20mu=0.32;elsemu=0.15;endw = w + mu * u * e(n);end%check of resultsfor n = N+1 : totalle ngthu = inp(n :-1: n-sysorder+1);y( n) = w' * u ;e( n) = d(n) - y( n);endhold on
9、plot(d)plot(y,'r');title('System output');xlabel('Samples')ylabel('True and estimated output') figuresemilogy(abs(e);title('Error curve'); xlabel('Samples')ylabel('Error value')figureplot(h, 'k+')hold onplot(w, 'r*')lege nd('
10、;Actual weights','Estimated weights')title('Comparison of the actual weights and the estimated weights'); axis(0 6 0.05 0.35)% RLS算法randn ('seed', 0);ran d('seed', 0);NoOfData = 8000 ;% Set no of data poi nts used for trainingOrder = 32 ;% Set the adaptive filter
11、orderLambda = 0.98 ;% Set the forgetti ng factorDelta = 0.001 ;% R in itialized to Delta*Ix = randn(No OfData, 1) ;% In put assumed to be whiteh = ran d(Order, 1) ;% System picked ran domlyd = filter(h, 1, x) ;% Gen erate output (desired sig nal)% In itialize RLSP = Delta * eye ( Order, Order );w =
12、zeros ( Order, 1 );% RLS Adaptati onfor n = Order : NoOfData ;u = x(n:-1:n-Order+1);pi_ = u' * P ;k = Lambda + pi_ * u ;K = pi_'/k;e(n)二 d(n) - w' * u ;w = w + K * e(n);PPrime = K * pi_ ;P = ( P - PPrime ) / Lambda ;w_err( n) = no rm(h - w);end ;% Plot resultsfigure ;plot(20*log10(abs(e)
13、;title('Lear ning Curve');xlabel('lteration Number'); ylabel('Output Estimation Error in dB'); figure ;semilogy(w_err);title('Weight Estimation Error');xlabel('Iteration Number'); ylabel('Weight Error in dB');2.3去噪声前后信号波形System outputSystem output2004006008001000Sampl!e312001400160018002G00o5"5嘗 p£bui-¥ puE«un 匚Error curveComparis onComparison of the actual weights grid the astimated weights1II+1+ Actual weights 十 Estimated eights0.3+*-0254-+02-0 15*0 10.05+II+ i123465Lear ning CurveLearning! Curve10002
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老厂退休考试题及答案
- 教师招聘之《幼儿教师招聘》能力提升试题打印含答案详解(典型题)
- 2025年教师招聘之《幼儿教师招聘》题库试题含答案详解(b卷)
- 课程改革考试题及答案
- 绢纺精炼操作工主管竞选考核试卷及答案
- 咖啡学徒考试题及答案
- 课件无法播放显示要登陆问题
- 警示标识考试题及答案
- 课件文案制作指南
- 集群通信系统机务员专业知识考核试卷及答案
- 小学二年级体育教案全集全册1
- 2025秋八年级上册道德与法治新教材全册知识点提纲
- 车辆安全培训课件
- 装修电工施工方案(3篇)
- esg考试试卷问题及答案
- 村医依法执业培训课件
- 外科面试题目及答案
- 翻越您的浪浪山新学期开学第一课+课件
- 医院反恐知识培训课件
- 《不懂就问》教学课件
- 重症肺炎的体位管理
评论
0/150
提交评论