راهنمای استفاده از فیلتر دیجیتال در متلب/فیلتر دیجیتال

از testwiki
پرش به ناوبری پرش به جستجو

الگو:سرصفحه مهم‌ترین نکته در فیلترهای دیجیتال پاسخ فیلتر است که با توجه به آن؛ فیلتر می‌تواند پایین گذر، بالاگذر، میان‌گذر یا میان نگذر باشد.

برای ایجاد فیلترهای مختلف باید ضرایب حاصل از Z آن‌ها را در قسمت ضرایب فیلتر دیجیتال تنظیم کرد تا یک فیلتر مناسب پدید آید.

پرونده:فیلتردیجیتال 8.jpg

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

پرونده:فیلتردیجیتال 9.jpg
جدول

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

f=1(sampletime)×(sampleperperiod)

و برای به دست آوردنω خواهیم داشت:

ω=2π(sampletime)×(sampleperperiod)

فیلتر پایین گذر

در این قسمت با تنظیم ضرایب صورت و مخرج فیلتر، یک فیلتر پایین‌گذر می‌سازیم.

پرونده:فیلتردیجیتال 10.jpg
پرونده:فیلتردیجیتال 11.jpg

شکل صفر و قطب‌های آن به صورت زیر خواهد بود:

پرونده:فیلتردیجیتال 12.jpg

ضرایب سینوسی‌های ورودی در اینجا به گونه‌ای تنظیم شده‌اند که فیلتر یکی از آن‌ها را عبور دهد و دیگری را ندهد.

پرونده:فیلتردیجیتال 13.jpg

که شکل مدار و خروجی‌های آن به صورت زیر خواهند بود:

پرونده:فیلتردیجیتال 14.jpg

با توجه به اینکه فیلتر پایین‌گذر است سیگنال با فرکانس پایین را عبور داده و سیگنال با فرکانس بالا را عبور نمی‌دهد. با توجه به شکل فیلتر مشاهده می‌شود که سیگنال با فرکانس بالا را تضعیف و سیگنال با فرکانس پایین را با ضریب بزرگی تقویت می‌کند.

در زیر شکل بزرگ شده نشان داده شده است.

پرونده:فیلتردیجیتال 15.jpg

اجرای فیلتر پایین گذر در COMMAND WINDOW

مثال مشابهی برای فیلتر پایین گذر با استفاده از دستور filter نیز انجام شده که در زیر به صورت مختصر آمده است:

استفاده از دستور فیلتر به این صورت است:

Filter (a,b,s) که a, b, s به ترتیب ضرایب صورت و مخرج فیلتر و سیگنال مورد نظر هستند.

در این مثال دو سیگنال با فرکانس بالا و پایین تعریف شده سپس آن‌ها را با هم جمع کردیم تا یک سیگنال ترکیبی متشکل از دو سیگنال اولیه به دست آوریم. سپس سیگنال حاصله فیلتر داده شده و در انتها با توجه به اینکه سیگنال پایین گذر است، سیگنال با فرکانس بالا را حذف می‌کند.

در زیر تصاویر دستورات و اشکال خروجی آورده شده است و فایل متلب دستورات نیز ضمیمه شده‌اند.

پرونده:فیلتردیجیتال 16.jpg
پرونده:فیلتردیجیتال 17.jpg
پرونده:فیلتردیجیتال 18.jpg
پرونده:فیلتردیجیتال 19.jpg
پرونده:فیلتردیجیتال 20.jpg
پرونده:فیلتردیجیتال 21.jpg

در مثال زیر فیلتر شبیه یک فیلتر پایین‌گذر است ولی با توجه به اینکه در 0 dB هم فیلتر سیگنال ورودی را عبور می‌دهد، پس در سیگنال خروجی هیچ تضعیفی نخواهیم داشت و تنها تغییر آن نسبت به سیگنال ورودی تقویت سیگنال فرکانس پایین خواهد بود:

پرونده:فیلتردیجیتال 22.jpg
پرونده:فیلتردیجیتال 23.jpg

فیلتر بالاگذر

این بار نیز مانند دفعه قبل ضرایب فیلتر را به گونه‌ای تنظیم می‌کنیم تا یک فیلتر بالاگذر پدید آید.

ضرایب سیگنال‌های ورودی و فیلتر دیجیتال به صورت زیر است:

پرونده:فیلتردیجیتال 24.jpg

که با توجه به آن شکل صفر و قطب فیلتر و پاسخ آن به صورت زیر خواهد شد:

پرونده:فیلتردیجیتال 25.jpg
پرونده:فیلتردیجیتال 26.jpg

مدار در این قسمت به گونه‌ای طراحی شده است که دو سیگنال، یکی با فرکانس بالا و دیگری با فرکانس پایین را بگیرد و با یکدیگر ترکیب کند. سپس حاصل را به فیلتر می‌دهد و با توجه به اینکه فیلتر بالاگذر است و سیگنال با فرکانس بالا را تقویت و سیگنال با فرکانس پایین را تضعیف می‌کند، شکل مدار و خروجی آن به صورت زیر خواهد بود:

پرونده:فیلتردیجیتال 27.jpg
پرونده:فیلتردیجیتال 28.jpg

در مثال زیر فقط یک سیگنال به عنوان ورودی اعمال شده است که با توجه به ضرایب موج سینوسی ورودی می‌توان فرکانس آن را محاسبه کرد:

f=10.01×100=110=0.1Hzor100mHz

با دقت در پاسخ فیلتر می‌توان دید که فرکانس 100mHz در قسمتی قرار دارد که magnitude فیلتر اندکی کمتر از ۱۰^-۱۲ است که با توجه به جدول تقریبا اندازه سیگنال ۴ برابر تضعیف می‌شود (در ۲۵/۰ ضرب می‌شود).

پرونده:فیلتردیجیتال 29.jpg
پرونده:فیلتردیجیتال 30.jpg
پرونده:فیلتردیجیتال 31.jpg

به عنوان یک مثال دیگر این بار ضرایب فیلتر را به صورت زیر تغییر می‌دهیم:

پرونده:فیلتردیجیتال 32.jpg

این فیلتر با توجه به اینکه شیب بیشتری دارد فیلتر مناسب‌تری است.

فیلتر بالاگذر با استفاده از ضرایب قطب‌ها

در حالت قبلی فیلتر را با تنظیم صفرها و قطب‌ها ایجاد کرده بودیم ولی در مثال زیر فیلتر تنها با ضرایب قطب‌ها (ریشه‌های مخرج) ایجاد شده است.

پرونده:فیلتردیجیتال 33.jpg

همانطور که در شکل ملاحظه می‌شود فیلتر فقط فرکانس‌های بالا را عبور داده است.

توجه شود که چون فرکانس سیگنالی که به عنوان سیگنال فرکانس پایین انتخاب شده در مقایسه با سیگنال دوم بسیار کمتر است شکل موج حاصل جمع به صورت صعودی است.

پرونده:فیلتردیجیتال 34.jpg
پرونده:فیلتردیجیتال 35.jpg

فیلتر میان‌نگذر

این نوع فیلتر تمامی فرکانس‌ها بجز یک باند در میان آن را عبور می‌دهد.

در اینجا هم مانند قسمت‌های قبل با استفاده از ضرایب مناسب در قسمت پارامترهای فیلتر دیجیتال، یک فیلتر میان‌گذر ایجاد می‌کنیم و سپس با اعمال چند ورودی آن را آزمایش می‌کنیم.

در زیر چند نمونه از این فیلتر که با ضرایب مختلف ساخته شده است دیده می‌شود:

پرونده:فیلتردیجیتال 36.jpg
پرونده:فیلتردیجیتال 37.jpg
پرونده:فیلتردیجیتال 38.jpg

ار بخواهیم فرکانس قطع 3dB را مورد توجه قرار دهیم با توجه به نمودار شکل بالا، که پاسخ فرکانسی فیلتر دیجیتال را نشان می‌دهد، می‌توان نوشت:

f=120Hz

و

f=350Hz

یعنی فیلتر، تمام فرکانس‌ها بجز فرکانس‌های بین این دو را عبور می‌دهد.

numerator=[44243]

و

denuminator=[3552]

ضرایب موج سینوسی ورودی به صورت رو به رو است:

Amplitude = ۲

Bias = ۰

Sample per period = ۱۰۰۰

Number of set samples = ۰

Sample time = ۰٫۰۰۱

پس با توجه به فرمول فرکانس آن را اینچنین می‌توان محاسبه کرد:

f=1(1000)×(0.001)=1Hz

در این فرکانس پاسخ فیلتر تقریبا 7dB است که با توجه به جدول باید سیگنال ورودی را تقریبا ۵/۲ برابر بزرگ کند.

این موضوع به همراه شکل بلوکی در زیر نشان داده شده‌اند:

پرونده:فیلتردیجیتال 39.jpg

حالا اگر ضرایب ورودی را به صورت زیر تغییر دهیم خواهیم داشت:

Sample per period = ۵

Sample time = ۰٫۰۰۱

f=15×0.001

که در این فرکانس پاسخ فیلتر تقریبا -1dB است. پس فیلتر دامنه سیگنال ورودی را در ۰٫۸۹ ضرب می‌کند. این امر در شکل زیر که خروجی را به ازای ضرایب جدید سینوسی نشان می‌دهد به خوبی هویدا است.

پرونده:فیلتردیجیتال 40.jpg
پرونده:فیلتردیجیتال 41.jpg

این بار ضرایب موج ورودی را به صورت زیر تغییر می‌دهیم:

Sample per period = ۴

Sample time = ۰٫۰۰۱

پس:

f=14×0.001

و خروجی به شکل زیر خواهد شد

پرونده:فیلتردیجیتال 42.jpg
پرونده:فیلتردیجیتال 43.jpg

ratio=11892=0.059

پس با تقریب خوبی می‌توان گفت فیلتر این فرکانس را اصلا عبور نمی‌دهد.

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

Sample per period = ۲

Sample time = ۰٫۰۰۱

f=12×0.001=500

با توجه به فرکانس ورودی و پاسخ فیلتر انتظار می‌رود که فیلتر سیگنال را عبور دهد و همچنین تقویت کند که این امر رخ داده است:

پرونده:فیلتردیجیتال 44.jpg

فیلتر میان‌گذر

این نوع فیلتر همان‌طور که از اسم آن برمی‌آید بجز فرکانس‌های بین دو فرکانس خاص، هیچ فرکانسی را عبور نمی‌دهد.

این بار هم با تنظیم ضرایب یک فیلتر میان‌گذر می‌سازیم. به طور مثال: الگو:چپ‌چین Numerator coefficients = [۲ - ۲ - ۴۵]

Denominator coefficients = [-۳ -۱۲۱ - ۵۲۲] الگو:پایان چپ‌چین

پرونده:فیلتردیجیتال 45.jpg

یا

الگو:چپ‌چین Numerator coefficients = [۲ - ۲ - ۴۸۳]

Denominator coefficients = [-۷ -۱۱۲۱۲۱] الگو:پایان چپ‌چین

پرونده:فیلتردیجیتال 46.jpg

در اینجا به بررسی یک فیلتر میان‌گذر به شکل زیر خواهیم پرداخت:

پرونده:فیلتردیجیتال 47.jpg

پارمترهای سینوسی را اینگونه قرار می‌دهیم:

ضرایب ورودی اول

الگو:چپ‌چین Sample per period = ۲۰۰۰

Number of offset samples = ۰

Sample time = ۰٫۰۱

f=12000×0.01=50mHz الگو:پایان چپ‌چین

پرونده:فیلتردیجیتال 48.jpg

همان طور که انتظار داشتیم، فیلتر سیگنال را عبور نداد

و ضرایب ورودی دوم

الگو:چپ‌چین Sample per period = 400

Number of offset samples = ۰

Sample time = ۰٫۰۱

f=1400×0.01=250mHz الگو:پایان چپ‌چین

پرونده:فیلتردیجیتال 49.jpg

به وضوح دیده می‌شود که فیلتر فرکانس 50 mHz را که کمتر از فرکانس پایین است را عبور نمی‌دهد (به شدت تضعیف کرده) ولی فرکانس ۲۵۰ را که بین فرکانس بالا و پایین فیلتر است را عبور می‌دهد.

اختلاف فاز، ناشی از مشخصه فاز فیلتر است که در شکل زیر نشان داده شده است.

پرونده:فیلتردیجیتال 50.jpg