15
دا ام خ ه ن ب م ت س سیرای ب ی ر ساز ب و ص تاسر اس ب ی ی اسا ن! ش م ت ی وز گ ل ا) ک : ی- وان ن ع ی ط خ ر ی غ- ن ی ا ن! ش ر م ه های دمه: ق م م ت@ س سی) ک ی@ ل از @ ن ق هD ظ@ خاف- دون ی ن@ ط خ ر ی @ غ م ت@ س سی) ک ه@ا ی@ نJ ک@ه دز ا د نM ت@ س ه ی ط خ ر ی @ غ ره@ای لی ن ق ی از ع و @ ن ی ط خ ر ی @ غ- ن ی ا ن! @ ش ر م ه ه@ای ی م راز ق ی ط خ ی ک ن م ا ن ی م د ت س سی م ت س سی- ن ی. ا)ر ب ل ز ک! ش( رد گی ی دازد. ی راوا قرد ب ال کاز ن گ ن ش! س ردازf ب ل ی سا م ی ساز لز مد ها د م ت س سی ی ی اسا ن! ش! ل زوس م ا! س- ن ی ا ن! ش ر م ه های ی م ری میزا اf ری و ن میزا اf ر ن ی غ های! ر زوس ی! شi یj ی د.! اس ی ر ی غ ی ی اسا ن! شرای ب ده! ه سl ی ازاب ها ی م ن- ان نj ی طا خ عات ب ر م- ن ی ر می ک وزت ص ه ود زا ب خ ه ج یM ت{ ی را! کی د و ا نM ست ه ی ق یj ب ط ت د. ن{ کت: از ت ش ا ازت ن ع ما هدف اله ق م- ن ی دز ا1 . م ت س سی ی ی اسا ن! ش م و ت@ س سی ی ی س@از ط خ ه ب@ از ن@ ی- دون ی، ن@ ر س@از ب و ص ت! اس زوسر اس ب ی ق یj ب ط ت وزت ص ه ب- ن ی ا ن! ش ر م ه های م. ت س سیزد وزودی و م ی دز! ش ن دا- ن ت! س دا ا ن2 . دازی انf رای ن ب ی ق یj ب ط ت م ت ی وز گ لم دز ا ر گا میزا اf رای ن ب ی رز م- ن ت ف ا نBIBO . 1

azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

به نام خدا های همرشتاینعنوان: یک الگوریتم شناسایی بر اساس تصویر سازی برای سیستم

غیر خطیمقدمه:

های همرشتاین غیر خطی نوعی از فیلتره((ای غ(یر خطی هس((تند ک((ه در آنه((ا ی((ک سیس((تمسیستم-گیرد )شکل زیر(. این سیستمغیرخطی بدون حافظه قبل از یک سیستم دینامیکی خطی قرار می

ها در مدلسازی مسایل پردازش سیگنال کاربرد فراوانی دارد.

-باش(د. بیش((تر روشهای غیر پارامتری و پ((ارامتری میهای همرشتاین شامل روششناسایی سیستم های ارائه شده برای شناس((ایی غ((یر تط((بیقی هس((تند و اک((ثرا نتیج((ه خ((ود را ب((ه ص((ورت کم((ترین

کنند.مربعات خطا بیان نمیدر این مقاله هدف ما عبارت است از:

های همرشتاین به صورت تطبیقی بر اساس روش تصویر س((ازی، ب((دونشناسایی سیستم.1نیاز به خطی سازی سیستم و یا داشتن دانشی در مورد ورودی سیستم.

.BIBOیافتن مرزی برای پارامتر گام در الگوریتم تطبیقی برای پایداری .2 بدست آوردن یک رابطه برای عملکرد متوسط مربعات خطا در الگ((وریتم ارائ((ه ش((ده ب((ر.3

اساس اصل پایداری انرژی.بیان مساله

،x 1در شکل v و d .سیگنال غیر قابل دسترس((ی ورودی، نویز و خروجی سیستم هستند ب((ه ص((ورت زی((ر درLای درج((ه داخلی سیستم است. برای قسمت غیر خطی یک مدل چند جمله

گیریم:نظر می

شود: با معادله تفاضلی زیر در نظر گرفته میIIRبرای قسمت خطی یک مدل

1

Page 2: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

ده((د. نش((ان میnه((ا را در ه((ر لحظ((ه ض((رایب زی((ر سیس((تم و و ک((ه در آن درج((ه چن((دL درج((ه مخ((رج ت((ا تب((دیل و N درجه صورت ت((ابع تب((دیل، Mشودهمانطور که دیده می

( داریم:2 برای نرمالیزاسیون، از )ای قسمت غیر خطی است. با فرض جمله

اگر معادله باال را به صورت ماتریسی بازنویسی کنیم:

و خروجی های ورودی با استفاده از سیگنالدر این پروژه هدف بروزرسانی بردار نزدیک باشد. تا حد ممکن به باشد، به صورتی که می

الگوریتم تطبیقی همرشتاینباشد: قید زیر میQ نسبت به هدف مینیمم سازی مربع نرم اقلیدسی بردار

کنیم:های زیر را طی میبرای حل مساله بهینه سازی باال، قدمکنیم:متغیرهای زیر را مقدار دهی اولیه می.1

M م((اتریس هم((انی ب((ا ابع((اد ک((ه در آن +N+Lباش((د و می ی(((((ک م(((((اتریس ص(((((فرمق(((((ادیر ع(((((ددی مثبت هس(((((تند و

(M+N+L−1)×Qباشد. میدهیم: نمونه از سیگنال عملیات زیر را انجام میnبرای تمام .2

2

Page 3: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

که در آن :

a={θi } , i=1 ,…,N

است. Q×Q ماتریس همانی Iکه در آن

بدست آمده در این تکرار، مقدار با استفاده از z(n)را با استفاده رابطه زیر زنیم:تخمین می

p̂= {θi } ,i=M+N+1,…, M+N+L

با استفاده ازz(n)تخمین زده شده و پارامترهای این تکرار، مقدار خروجی را تعیین کنیم:می

یافتن کرانی برای اندازه گامبا تعریف سیستم همرشتاین به صورت فضای حالت زیر:

3

Page 4: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

شود که برای پایداری الگوریتم تطبیقی همرشتاین باید:اثبات می

به صورت تئوریMSEتعیین مقدار در الگوریتم همرشتاین تطبیقی از روابط زیر بدستEMSE و MSEشود که مقدار اثبات می

آیند:می

که در آن:

4

Page 5: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

مثال شبیه سازی گیریم. سیس((تمدر این پروژه یک سیستم همرشتاین را برای بررسی عملکرد الگوریتم در نظر می

مذکور دارای قسمت خطی به صورت زیر است:

گیریم:ای زیر را در نظر میهمچنین برای قسمت غیر خطی چند جمله

باشد.30dB برابر SNRشود که دارای ای آغشته میخروجی این سیستم با نویز سفید به گونه گیریم ویک بار نویز در نظر می1 و واریانس 0ورودی سیستم را یک بار نویز سفید با میانگین

رنگی که در آن از فیلتر زیر برای نویز سفید استفاده شده است:

گ((یریم. همچ((نین در نظ((ر می1.674e-7( براب((ر مق((دار ث((ابت 53مقدار گام را با توجه به رابط((ه )گیریم. در نظر می0.995 که فاکتور فراموشی نام دارد را برابر مقدار

Matlabپیاده سازی الگوریتم در های ورودی-خروجی سیستم همرشتاین مورد نظر را س((اخت. ب((رای این منظ((وردر ابتدا باید داده

نوشته شده است که توضیحات آن به صورت زیر است:data.mبرنامه flag=2;% 1=white noise, 0=colored noise

( را وارد کند.0، رنگی=1شود که نوع ورودی )سفید=ابتدا از کاربر درخواست میN=4000;

شودهای مورد نیاز تعیین میتعداد کل نمونهx=randn(N,1);

شود تولید میxهای مورد نیاز عدد تصادفی با توزیع نرمال استاندارد در بردار به تعداد نمونهif flag==0 x=filter([1 .5],1,x);end

گردد.( فیلتر می63اگر نویز رنگی برای ورودی انتخاب شده بود، نویز سفید با فیلتر رابطه )z=x-.3*x.^2+.2*x.^3;

5

Page 6: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

شود.( محاسبه می62خروجی قسمت غیر خطی از رابطه )a=[1 -.2314 .4318 -.3404 .5184];b=[1 -1.8 1.62 -1.458 .6561];dn=filter(b,a,z);

شود.( محاسبه می61خروجی قسمت خطی با استفاده از تابع تبدیل )d=awgn(dn,30);

گردد.30dB آن حدودا برابر SNRگردد تا خروجی با نویز مخلوط میif flag==0 save('colored_data.mat','x','d')else save('white_data.mat','x','d')end

شوند.ورودی و خروجی ساخته شده بسته به نوع نویز ورودی در فایلی با نام مناسب ذخیره میبرنامه اصلی

ه((ای هردو مشابه هم هس((تند، فق((ط در اولی دادهcolored_inp.m و white_inp.mهای برنامه ه((ای مرب((وط ب((ه ن((ویز رنگی. توض((یح خط((وطش((ود و در دومی دادهمربوط به نویز س((فید ل(ود می

ها به صورت زیر است:مربوط به این برنامهload white_data

شوند.های مربوطه لود میدادهM=4;N=5;L=3;

شوند. با توجه بهای غیر خطی تعیین میمقادیر درجه صورت و مخرج تابع تبدیل و درجه چند جمله وارد4،( 5( درجه صورت را باید یکی کمتر از آنچه واقعا هست وارد کرد که ما به جای 3رابطه )

ایم.کردهlam=.995;del=.05;u=1.64e-7;

شوند. وارد می و و مقدار پارامترهای th=[1 -.2314 .4318 -.3404 .5184 -1.8 1.62 -1.458 .6561 1 -.3 .2]';

شود. تعریف میthمقدار اصلی پارامترها برای مقایسه در هر مرحله، در متغیر p_color=[0 0 1;0 0 0;1 0 0;0 1 0];

شود.( تعیین میQ=1,…, 4رنگ نمودار هر کدام از چهار حالت مورد نظر )for Q=1:4

.Q=1,…,4تکرار برای theta=[zeros(N,1);zeros(M,1);ones(L,1)];

6

Page 7: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

.مقدار دهی اولیه برای پارامترها ak=theta(1:N);bk=theta(N+1:N+M);pk=theta(N+M+1:end);

مقدار اولیه ضرایب صورت و مخرج قسمت خطی و ضرایب قسمت غیر خطی.R=eye(M+N+L);

شود. تعیین میمقدار اولیه ماتریس S=zeros(M+N+L,Q);

شود. تعیین میمقدار اولیه ماتریس sp=200;

بزرگتر باشدM+N+Lیک نقطه برای شروع الگوریتم از آن نمونه به خصوص. این مقدار باید از انتخاب کردیم.200که ما آنرا

dh=zeros(size(d));zh=zeros(size(d));phi=cell(sp,1);for i=1:length(d) phi{i}=zeros(N+M+L,Q);endps=cell(sp,1);for i=1:length(d) ps{i}=zeros(N+M+L,1);end

شوند ت((ا بع((داً در الگ((وریتم مق((ادیرمتغیرهای مورد استفاده در الگوریتم مقدار دهی اولیه صفر میآنها تعیین گردد.

for n=sp:length(d)

های ورودی-خروجیهای سیگنالشروع الگوریتم برای تمام نمونه e=(d(n-1:-1:n-Q)-S'*theta);

محاسبه temp=[-dh(n-1-1:-1:n-1-N);zh(n-1-1:-1:n-1-M)]; for l=1:L temp=[temp;sum(x(n-1:-1:n-1-M).^l)]; end ps{n-1}=temp;

.محاسبه for q=1:Q phi{n-1}(:,q)=ps{n-q}; end for k=1:N phi{n-1}=phi{n-1}-ak(k)*phi{n-1-k};

7

Page 8: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

end

.محاسبه R1=pinv(R); R1=lam*R1+(1-lam)*phi{n-1}*phi{n-1}'; R=pinv(R1);

(.27 از رابطه )محاسبه theta=theta+u*R*phi{n-1}*pinv(del*eye(Q)+u*S'*phi{n-1})*e;

(.29 از رابطه )محاسبه ak=theta(1:N);bk=theta(N+1:N+M);pk=theta(N+M+1:end);

. از روی و و جداسازی zh(n)=sum(x(n).^(1:L).*pk');

. با رابطه محاسبه s=[-dh(n-1:-1:n-N);zh(n-1:-1:n-M);x(n).^(1:L)'];

.تشکیل S=[s S(:,1:end-1)];

.به روز رسانی dh(n)=s'*theta;

. با رابطه محاسبه MSD(n)=mse(th-theta);end

خطای بین مقدار اصلی پارامترها و مقدار تخمین زده شده توسط الگوریتم وMSDمحاسبه ها.پایان حلقه تکرار برای شمارش نمونه

MSD=MSD(sp+N+M+L+1:end);plot(MSD),'Color',p_color(Q,:));hold onend

و رسم آن با استفاده از رنگ مربوطه و پایان حلقهMSDجداسازی قسمت معنی دار نمودار .Qمربوط به شمارش

legend('Q=1','Q=2','Q=3','Q=4')axis tightxlabel('Number of iterations(n)')ylabel('Mean Square Deviation')

برچسب گذاری و تنظیمات نمودار رسم شده.

8

Page 9: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

ش((ود. این برنام((ه مقدار خطا با اس((تفاده از رابط((ه تئ((وری محاس((به میErrorMse.mدر برنامه ای است که در باال توضیح داده شد، فقط خطوط زیر در آن اضافه شده است.مشابه برنامه

akk(n,:)=ak';

ذخیره سازی ضرایب مخرج تابع تبدیل در هر تکرارMSE(n)=mse(dh(sp:n)-d(sp:n));

های واقعی و تخمین زده شده توسط الگوریتم. بین دادهMSEمحاسبه C=C+1/(length(d)-sp)*pinv(del*eye(Q)+u*phi{n-1}'*S)... *phi{n-1}'*R*phi{n-1}*pinv(del*eye(Q)+u*phi{n-1}'*S);

.محاسبه ماتریس G=G+1/(length(d)-sp)*pinv(del*eye(Q)+u*phi{n-1}'*S);

.محاسبه ماتریس zet(n)=u; for f=1:10:n-2 zet(n)=zet(n)-(-1)^f*prod(sum(akk(n-10:n,:))); end

.محاسبه مقدار TMSE=-u*.2^2*trace(C)/(trace(u*C)-2*zet(n)*trace(G))+.2^2;

( .60 از رابطه )محاسبه مقدار plot(MSE,'k');hold onplot(TMSE(1,length(MSE)),'r')legend('MSE for Q=3','Theoretical MSE')xlabel('Number of iterations(n)')ylabel('Mean Square Error')

تئوری بر روی یک نمودار.MSE و MSEرسم

نتایجگردد:ها برای ورودی نویز سفید و رنگی، دو نمودار زیر رسم میبا اجرای برنامه

9

Page 10: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

رود ک((ه نش((ان از می0شود خطای پارامترها با پیش((رفت تکراره((ا ب((ه س((مت همانطور که دیده می بی((نیم ک((ه همگ((راییموفقیت الگوریتم در شناسایی پارامترها دارد. همچنین برای ه((ردو ورودی می

گردد. سریعتر میQالگوریتم با افزایش شود: تئوری نمودار زیر رسم میMSEهمچنین با اجرای برنامه برای

10

Page 11: azadproject.irazadproject.ir/wp-content/uploads/2014/06/گزارش.docx · Web viewشناسایی سیستمهای همرشتاین به صورت تطبیقی بر اساس روش

شوند.های واقعی و تئوری با پیشرفت تکرارها به هم نزدیک میMSEشود، همانطور که دیده می

یک مثال عملی الگوریتم ارائه شده بر روی یک مثال عملی نیز پیاده سازی ش((ده. این الگ((وریتم ب((رای شناس((ایی

8یک مدل برای دینامیک رفلکس کشش در ماهیچه انسان استفاده شده است. با انتخ((اب مرتب((ه برای قسمت غیر خطی، خط((ای آم((وزش الگ((وریتم در ش((کل زی((ر5برای قسمت خطی و مرتبه

اند(.ها شبیه سازی نشدهقابل مشاهده است )شکل از اصل مقاله است و به علت نبود داده

11