自適應(yīng)濾波的MATLAB實現(xiàn)(共6頁)_第1頁
自適應(yīng)濾波的MATLAB實現(xiàn)(共6頁)_第2頁
自適應(yīng)濾波的MATLAB實現(xiàn)(共6頁)_第3頁
自適應(yīng)濾波的MATLAB實現(xiàn)(共6頁)_第4頁
自適應(yīng)濾波的MATLAB實現(xiàn)(共6頁)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上自適應(yīng)濾波的MATLAB實現(xiàn) 發(fā)表于: 2006-12-06 08:56 來源: 中國振動聯(lián)盟1.LMS算法的仿真程序:%lms 算法clear allclose allhold off%系統(tǒng)信道權(quán)數(shù)sysorder = 5 ;%抽頭數(shù)N=1000;%總采樣次數(shù)inp = randn(N,1);%產(chǎn)生高斯隨機系列n = randn(N,1);b,a = butter(2,0.25);Gz = tf(b,a,-1);%逆變換函數(shù)h= 0.0976;0.2873;0.3360;0.2210;0.0964;%信道特性向量y = lsim(Gz,inp);%加入噪聲n = n

2、 * std(y)/(10*std(n);%噪聲信號d = y + n;%期望輸出信號totallength=size(d,1);%步長N=60 ; %60節(jié)點作為訓(xùn)練序列%算法的開始w = zeros ( sysorder , 1 ) ;%初始化for n = sysorder : Nu = inp(n:-1:n-sysorder+1) ;% u的矩陣y(n)= w' * u;%系統(tǒng)輸出e(n) = d(n) - y(n) ;%誤差if n < 20mu=0.32;elsemu=0.15;endw = w + mu * u * e(n) ;%迭代方程end%檢驗結(jié)果for n

3、= N+1 : totallengthu = inp(n:-1:n-sysorder+1) ;y(n) = w' * u ;e(n) = d(n) - y(n) ;%誤差endhold onplot(d)plot(y,'r');title('系統(tǒng)輸出') ;xlabel('樣本')ylabel('實際輸出')figuresemilogy(abs(e) ;% e的絕對值坐標title('誤差曲線') ;xlabel('樣本')ylabel('誤差矢量')figure%作圖plo

4、t(h, 'k+')hold onplot(w, 'r*')legend('實際權(quán)矢量','估計權(quán)矢量')title('比較實際和估計權(quán)矢量') ;axis(0 6 0.05 0.35)2.NLMS算法的仿真程序:%lms 算法clear allclose allhold off%系統(tǒng)信道權(quán)數(shù)sysorder = 5 ;%抽頭數(shù)N=1000;%總采樣次數(shù)inp = randn(N,1);%產(chǎn)生高斯隨機系列n = randn(N,1);b,a = butter(2,0.25);Gz = tf(b,a,-1);%逆變換

5、函數(shù)h= 0.0976;0.2873;0.3360;0.2210;0.0964;%信道特性向量y = lsim(Gz,inp);%加入噪聲n = n * std(y)/(10*std(n);%噪聲信號d = y + n;%期望輸出信號totallength=size(d,1);%步長N=60 ; %60節(jié)點作為訓(xùn)練序列%算法的開始w = zeros ( sysorder , 1 ) ;%初始化for n = sysorder : Nu = inp(n:-1:n-sysorder+1) ;% u的矩陣y(n)= w' * u;%系統(tǒng)輸出r(n)=u'*u;%自相關(guān)矩陣e(n) =

6、 d(n) - y(n) ;%誤差fai=.0001;%修正參數(shù),為防止u'*u過小導(dǎo)致步長值太大而設(shè)置的if n < 20mu=0.32;elsemu=0.15;endw = w + mu * u * e(n)/(r(n)+fai) ;%迭代方程end%檢驗結(jié)果for n = N+1 : totallengthu = inp(n:-1:n-sysorder+1) ;y(n) = w' * u ;e(n) = d(n) - y(n) ;%誤差endhold onplot(d)plot(y,'r');title('系統(tǒng)輸出') ;xlabel

7、('樣本')ylabel('實際輸出')figuresemilogy(abs(e) ;% e的絕對值坐標title('誤差曲線') ;xlabel('樣本')ylabel('誤差矢量')figure%作圖plot(h, 'k+')hold onplot(w, 'r*')legend('實際權(quán)矢量','估計權(quán)矢量')title('比較實際和估計權(quán)矢量') ;axis(0 6 0.05 0.35)3.RLS算法的仿真程序:% RLS算法ra

8、ndn('seed', 0) ;rand('seed', 0) ;NoOfData = 8000 ; % Set no of data points used for trainingOrder = 32 ; % 自適應(yīng)濾波權(quán)數(shù)Lambda = 0.98 ; % 遺忘因子Delta = 0.001 ; % 相關(guān)矩陣R的初始化x = randn(NoOfData, 1) ;%高斯隨機系列h = rand(Order, 1) ; % 系統(tǒng)隨機抽樣d = filter(h, 1, x) ; % 期望輸出% RLS算法的初始化P = Delta * eye ( Orde

9、r, Order ) ;%相關(guān)矩陣w = zeros ( Order, 1 ) ;%濾波系數(shù)矢量的初始化% RLS Adaptationfor n = Order : NoOfData ;u = x(n:-1:n-Order+1) ;%延時函數(shù)pi_ = u' * P ;%互相關(guān)函數(shù)k = Lambda + pi_ * u ;K = pi_'/k;%增益矢量e(n) = d(n) - w' * u ;%誤差函數(shù)w = w + K * e(n) ;%遞歸公式PPrime = K * pi_ ;P = ( P - PPrime ) / Lambda ;%誤差相關(guān)矩陣w_er

10、r(n) = norm(h - w) ;%真實估計誤差end ;% 作圖表示結(jié)果figure ;plot(20*log10(abs(e) ;%| e |的誤差曲線title('學習曲線') ;xlabel('迭代次數(shù)') ;ylabel('輸出誤差估計') ;figure ;semilogy(w_err) ;%作實際估計誤差圖title('矢量估計誤差') ;xlabel('迭代次數(shù)') ;ylabel('誤差權(quán)矢量') ;4.自適應(yīng)均衡器的仿真程序:% Illustration of the co

11、nventional RLS algorithmclose all;W=2.9;Nexp=10;N=2000;Nmc=1; % Number of ensemble realizationsM=11;%抽頭系數(shù)lambda=0.99;%遺忘因子varv=0.001;%噪聲方差h=zeros(3,1);%h的初始化er=zeros(N,Nmc);%er的初始化h(1)=0.5*(1+cos(2*pi*(1-2)/W);h(2)=0.5*(1+cos(2*pi*(2-2)/W);h(3)=0.5*(1+cos(2*pi*(3-2)/W);% 學習曲線hc=0 h(1) h(2) h(3)'

12、n0=7;t=(1:N)'for i=1:Nmcy=sign(rand(N,1)-0.5);%輸入信號v=sqrt(varv)*randn(N,1);%噪聲信號x=filter(hc,1,y)+v;%信號混合x=zeros(M-1,1);x;%x矩陣yd=zeros(N+M-1,1); %延遲信號初始化e=yd;yd(n0+M-1:N+M-1)=y(1:N-n0+1);% CRLS 算法% Initializationlambda=0.98;P=(10-3)*eye(M,M);c=zeros(M,1);g=c;glambda=g;% 迭代范圍for n=M:M+N-1xn=flipud

13、(x(n-M+1:n);glambda=P*xn;alphal=lambda+conj(glambda')*xn;g=glambda/lambda;a(n)=1-conj(g')*xn;P=(P-g*conj(glambda')/lambda;P=(P+P')/2;e(n)=yd(n)-conj(c')*xn;c=c+g*conj(e(n);endendeplot=e(M:M+N-1).2;subplot(2,1,1), plot(t,abs(eplot)ylabel('|e(n)|2');xlabel('n');subp

14、lot(2,1,2), plot(t,a(M:M+N-1);ylabel('alpha(n)');xlabel('n');5.自適應(yīng)陷波器的仿真程序:N=400; %總采樣長度t=0:N-1; %時間的變化范圍s=sin(2*pi*t/20); %輸入信號A=0.5; %干擾信號的幅值fai=pi/3;%干擾信號的相移n=A*cos(2*pi*t/10+fai);%干擾信號x=s+n;%信號混合subplot(2,2,1);%作第一子圖plot(t,s);subplot(2,2,2); %作第二子圖plot(t,x);x1=cos(2*pi*t/10);x2=sin(2*pi*t/1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論