بخشی از مقاله
*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***
طراحي و پياده سازي فيلتر ديجيتال ميان نگذر توسط ميکروکنترلرهاي خانواده AVR
چکيده - در اين مقاله به معرفي روش هاي طراحي و پياده سازي فيلترهاي ديجيتال مي پردازيم . فيلترهاي ميان نگذر و محدود کننده باند بدليل اينکه اصولا تنها بخش کوچکي از پهناي باند داراي تداخل را پردازش مي کنند ، ابزاري مطمئن براي بکارگيري در کاربردهاي باند پهن مي باشند. امروزه با ظهور پردازش ديجيتالي سيگنال ، پياده سازي فيلترهايي که باند فرکانسي و تضعيف در آنها بصورت ديناميک کنترل مي شود ، ممکن شده است . فيلترهاي ديجيتال کاربرد گسترده اي در سيستم هاي نظامي ، پزشکي و سيستم هاي چند رسانه اي ديجيتال و ... پيدا کرده اند. در اين مقاله ابتدا به معرفي روش هاي مختلف طراحي فيلتر ديجيتال پرداخته و در پايان يک فيلتر ديجيتال ميان نگذر درجه ۲ با فرکانس مرکزي Hz٥٠ و باند ممنوعه Hz١٠ براي استفاده در سيستم هاي مهندسي پزشکي طراحي شده و توسط تبديل معکوس Z ، تابع تبديل گسسته فيلتر ديجيتال براي پياده سازي بر روي ميکروکنترلر بدست مي آيد ، در نهايت شبيه سازي اين فيلتر توسط دو نرم افزار Proteus و Labview انجام شده و نتايج داخل يک فايل عرضه شده است .
کليد واژه - FFT,ADC ,FIR, IIR
١- مقدمه
يک فيلتر ديجيتال در واقع يک فيلتر الکترونيکي است که با اجراي عمليات ديجيتال رياضي بر روي سيگنال ورودي ، عمل مي کند. اين فيلترها در تباين با فيلترهاي آنالوگ مي باشند که کاملا در حوزه آنالوگ کار مي کنند و از شبکه هايي فيزيکي از اجزاء الکترونيکي ( مانند مقاومت ، خازن ، سلف و ترانزيستور و ...) براي دست يابي به فيلتر مطلوب بهره مي برند. فيلترهاي ديجيتال بطور واقعي مي توانند هرگونه فيلتري را بر اساس تابعي رياضي يا يک الگوريتم اجرا نمايند. دو محدوديت اساسي فيلترهاي ديجيتال ، سرعت و قيمت آنها مي باشد.(بطوريکه فيلتر نمي تواند سريعتر از پردازنده مرکزي فيلتر عمل نمايد) با اين وجود قيمت مدارهاي مجتمع رور به روز در حال کاهش است .
فيلترهاي ديجيتال بطور فزاينده اي در حال استفاده مي باشندو امروزه يک جزء اساسي براي بسياري از لوازم روزمره مانند راديو ، تلفن هاي همراه ، گيرنده هاي استريو و . . . مي باشد. امروزه در سيستم هاي نوين اندازه گيري پزشکي مانند ECG و EEG بدليل ضعيف بودن سيگنال و تداخل فرکانس برق شهر بر روي آنها ، عملا لزوم استفاده از فيلترهاي ديجيتال به يک واقعيت غير قابل انکار تبديل شده است . پاسخ فاز و فرکانسي يک فيلتر ميان نگذر در شکل -۱ نمايش داده شده است .
شکل ۱: پاسخ فاز(منحني سبز-پائين ) و فرکانس (منحني قرمز-بالا) يک فيلتر ميان نگذر با فرکانس مرکزي Hz٥٠
٢- مقايسه فيلترهاي ديجيتال و آنالوگ
٢-١- مزايا
فيلترهاي ديجيتال قابليت دستيابي عملي به مشخصه هايي را دارند که از طريق فيلترهاي آنالوگ قابل دسترسي نمي باشند. براي مثال ، ساخت يک فيلتر پائين گذر Hz١٠٠٠ که اجازه عبور مؤلفه Hz٩٩٩ و حذف مؤلفه Hz١٠٠١ از سيگنال ورودي در حوزه ديجيتال کاملا عملي مي باشد. در حالي که فيلترهاي آنالوگ واقعي نمي توانند بين مؤلفه هاي فرکانسي نزديک بهم چنين تمايزي را قائل شوند. فيلترهاي ديجيتال قابليت دستيابي به ميزان سيگنال به نويز بيشتري نسبت به فيلترهاي آنالوگ را مهيا مي سازند ، بدليل اينکه نويز تصادفي تنها در هنگام تبديل آنالوگ به ديجيتال (ADC) مي تواند وارد فيلتر ديجيتال شود ، در حالي که در فيلترهاي آنالوگ چند طبقه ، نويز تصادفي در هر طبقه به سيستم تزريق مي شود که مي تواند باعث بروز خطا و در نهايت پاسخ نامطلوب فيلتر گردد.
٢-٢- معايب
مبدل آنالوگ به ديجيتال باعث بروز خطاي تدريجي مي گردد که بر اثر محدوديت هاي محاسباتي و ذخيره ديجيتالي سيگنال مي باشد. اين موضوع همچنين محدوديت نرخ نمونه برداي را شامل مي شود که بطور کلي (طبق نظريه نمونه برداي نايکوئيست ) کمتر از فيلترهاي آنالوگ مي باشد.
٣- مباني فيلترهاي ديجيتال[١]
بسياري از فيلترهاي ديجيتال بر پايه تبديل FFT مي باشند
، يک الگوريتم رياضي که به سرعت طيف فرکانسي سيگنال ورودي را استخراج مي کند ، که در اين مرحله مي توان طيف فرکانسي سيگنال ورودي را مورد دستکاري قرار داد(براي مثال ساخت فيلترهاي ميان گذر) و سپس طيف دستکاري شده را به سيگنال حوزه زمان گسسته تبديل کرد. تابع تبديل براي يک فيلتر ديجيتال خطي را مي توان بصورت يک تبديل در حوزه Z با معادله نمايش داد:
بطوريکه M درجه فيلتر مي باشد. اين فرم از تابع تبديل مخصو فيلتر بازگشتي است که در نهايت منجر به خابيت IIR (پاسخ ضربه نامحدود) مي شود. اما اگر مخرج داراي عبارت واحد باشد ، در اينصورت به اين فرم تابع تبديل ، فيلتر FIR (پاسخ ضربه محدود) گفته مي شود. فرم ديگر يک فيلتر ديجيتال ، مدل فباي حالت آن مي باشد.
يک فيلتر فباي حالت مرسوم ، فيلتر Kalman مي باشد که در سال 1960 توسپ Rudolf Kalman منتشر شده است .
٣-١- تبديل آنالوگ به ديجيتال
داده آنالوگ نمي تواند بصورت مستقيم وارد يک سيستم ديجيتال شود. بلکه ابتدا بايستي به فرم ديجيتال تبديل شود. نمونه هايي از سيگنال آنالوگ در بازه هاي زماني گسسته گرفته مي شود و به معادل ديجيتال تبديل مي گردد. معادل ديجيتال در واقع يک نمايش باينري از سيگنال ورودي در همان لحظه مي باشد. اغلپ مبدل هاي آنالوگ به ديجيتال در ازاي يک ولتاژ آنالوگ ورودي توانايي توليد يک داده باينري 6 تا 8 بيت را دارا مي باشند. براي اينکه نمونه برداري بصورت بحيت انجام بگيرد ، فرکانس نمونه برداري بايستي حداقل از دو برابر بيشينه فرکانس ورودي بيشتر باشد. مثلا در سيستم تلفن که پهناي باند معمولا با Khz٣٤ محدود مي گردد سيگنال ها با Khz٨ نمونه برداري مي شوند. اين بدان معناست که فرکانس هاي بالاي Khz٤ بايستي تا زير سطت نويز تبعيف شوند. که براي رسيدن به اين مقصود هم بايستي از يک فيلتر با پاسخ فرکانسي تيز در محدوده فرکانس قطع استفاده شود.
٣-٢- نمونه برداري پائين تر از نرخ نايکوئيست
اين شرايپ هنگامي رخ مي دهد که فرکانس نمونه برداري پائين تر از دو برابر بيشينه فرکانس ورودي آنالوگ باشد.
نمونه برداري زير نرخ نايکوئيست ، سيگنال دلخواه باند عبور را با سيگنال هاي ناخواسته در همسايگي باند عبور ميکس مي کند که پس از ميکس شدن ، با هيت فيلتري قابل جداسازي نمي باشد.
٣-٣- نمونه برداري بيش از حد
اين شرايپ در هنگام نمونه برداري با نرخ بسيار بالاتر از فرکانس بالا رخ مي دهد. نمونه برداري بيش از حد باعث کاهش اعوجاج مي شود. هرچند با توليد نمونه هاي بيشتر پردازنده مي بايست داده هاي بيشتري را پردازت نمايد که اين عمل باعث کاهش توانايي پردازنده براي انجام ساير وت ايف شده و نياز به استفاده از پردازنده هاي سريعتر پيدا مي کنيم .
٣-۴- تصحيح نرخ نمونه برداري با استفاده از روش
درون يابي و چند يک کشي [٢]
اگر در يک پروسه نياز به توليد خروجي ديجيتال با نرخ 48Khz داشته باشيم و حداکثر نرخ نمونه برداري مبدل موجود 24Khz باشد ، مي توانيم از درون يابي استفاده کنيم . بدين بورت که داده هاي اضافي مي بايست مابين داده هاي دريافتي مبدل از ورودي قرار بگيرند. نمونه هاي اضافي بصورت نرم افزاري در واقع ميانگيني از داده قبلي و داده بعدي بوده و ما بين آنها قرار مي گيرد. با افزودن داده ميانگين بين داده هاي ابلي ، سيگنال خروجي از مبدل تصحيت شده و بدين ترتيپ مي توان با استفاده از سخت افزار سطت پائين و جبران نرم افزاري ، عملکرد سيستم را بهبود بخشيد. به همين ترتيپ روشي براي حذف داده هاي اضافي ، يا پائين آوردن نرخ نمونه برداري با استفاده از روت يک ده کشي (Decimation) وجود دارد. براي مثال از اين روت براي حذف يک محدوده فرکانسي نزديک به محدوده فرکانسي دلخواه در سيگنال ورودي استفاده مي شود. از اين دو روت در تقويت کننده هاي بوتي ديجيتال براي تقويت يا حذف محدوده خا فرکانسي از سيگنال ورودي به وفور استفاده مي شود.
٣-۵- تبديل تابع تبديل به معادله تفاضلي [٣]
در سيستم هاي گسسته ، فيلتر ديجيتال معمولا توسپ تبديل تابع تبديل به يک معادله تفاضلي خطي با ضرايپ ثابت (LCCD) توسپ تبديل Z پياده سازي مي شود. تابع تبديل گسسته حوزه فرکانس بصورت نسبت دو چند جمله اي نوشته مي شود.(براي مثال : معادله (2) )
با تقسيم بر بزرگترين درجه Z ، معادله (3 ) حابل مي شود:
ضرايپ مخرج در واقع ضرايپ Feed-Backward و ضرايپ بورت در واقع ضرايپ Feed-Forward مي باشند. در نتيجه معادله تفاضلي خطي بصورت معادله (4 ) بدست مي آيد:
يا بصورت :
معادله (5) ، نحوه محاسبه خروجي را بر حسپ خروجي هاي قبلي ، ورودي کنوني و ورودي هاي قبلي نشان مي دهد.[٤]
۴- روشهاي طراحي فيلترهاي ديجيتال[٥]
دو گونه ساختار براي طراحي فيلترهاي ديجيتال وجود دارد:
پاسخ ضربه نامحدود (IIR)
پاسخ ضربه محدود (FIR)
بر اساس پاسخ سيستم به تابع ضربه واحد ، تعريف مي شوند. فيلترهاي IIR اغلپ بصورت ساختار بازگشتي (فيدبک ) اجرا مي شوند ، در حالي که فيلترهاي FIR معمولا نياز به فيدبک ندارند. در طراحي فيلترهاي IIR ، رايج ترين شيوه استفاده از تبديل دو خطي مي باشد. در اين شيوه ، طراحي با استفاده از تابع تبديل يک فيلتر آنالوگ آغاز شده و سپس نگاشتي از حوزه S به حوزه Z انجام مي شود. براي نگاشت از حوزه S به حوزه Z از معادله (ب ) استفاده مي شود:
اين نگاشت ، فرم کلي يک فيلتر IIR را با تعداد دلخواهي از صفر و قطب ها نتيجه مي دهد (معادله (7 ) )
فيلتر FIR داراي معادله تفاضلي (8 ) مي باشد:
با توجه به اينکه تبديل دوخطي ، نيمه چج حوزه S را به داخل دايره واحد در حوزه Z نگاشت مي کند ، مي توان دريافت که کل محور موهومي به خود دايره واحد نگاشت شده است . يعني کل محور فرکانسي از 0. تا ∞+ به تا نگاشت يافته است . با توجه به فشرده سازي در طي تبديل دو خطي و فرث تبديل محور موهومي به دايره واحد در حوزه داريم :