خانه / پروژه های تحقیقاتی / الگوریتم PCA با سنسورهای Figaro
پیاده سازی الگوریتم PCA بر روی سنسورهای گاز Figaro

الگوریتم PCA با سنسورهای Figaro

این پروژه صرفا سورس راه انداز می باشد
346

در این پروژه از میکروکنترلر STM32F103، سنسورهای گاز Figaro و یک نمایشگر تمام رنگی نوع TFT سایز ۳٫۲ اینچ جهت تحلیل مولفه های اصلی داده های خروجی سنسورهای اثر گاز، استفاده شده است .

تحلیل مولفه‌های اصلی (Principal Component Analysis – PCA) تبدیلی در فضای برداری است، که غالباً برای کاهش ابعاد مجموعهٔ داده‌ها مورد استفاده قرار می‌گیرد .

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

هدف اصلی در این پروژه تحقیقاتی، پیاده سازی الگوریتم محاسباتی PCA بر روی میکروکنترلرهای سری ARM بدون نیاز به کامپیوتر های PC و نرم افزار Matlab می باشد به طوریکه میکروکنترلر با دریافت اطلاعات خروجی مربوط به گازهای مختلف (فضای نمونه)، بر اساس الگوریتم محاسباتی PCA نمودار پراکندگی آنها را بر روی نمایشگر رنگی نشان دهد .

در این پروژه از سنسورهای گاز اکسید فلزی ساخته شرکت ژاپنی Figaro به شماره های TGS2600، TGS2602، TGS2610 و TGS2620 به منظور تشخیص میزان آلایندگی کلی هوا، گاز مونوکسید کربن، الکل، گاز بوتان استفاده شده است که هر کدام از این گازها را یکی از سنسورهای تشخیص میدادند که در تحلیل های الگوریتم PCA ما محاسبات را بصورت جداگانه در فضاهای نمونه ای مستقل باهم، در نظر گرفته ایم. که در نهایت توانستیم همان نتایجی را که نرم افزار Matlab برای داده های خام خروجی آنالیز کرده بود را توسط میکروکنترلر و با برنامه نویسی کلیه عملیات مربوط به این الگوریتم محاسبه و به نمایش بگذاریم . این پروژه میتواند کاربردهایی را در ربات های امداد نجات واقعی، به منظور تجزیه تحلیل شرایط محیطی داشته باشد .

طراحی سخت افزاری این پروژه به نحوی صورت گرفته بود که امکان دسترسی به داده های خام خروجی از سنسورها، همچنین نتیجه آنالیز شده توسط میکروکنترلر، از طریق پورت COM کامپیوتر نیز مهیا بود تا بتوانیم محاسبات عددی صورت گرفته خود را با محاسبات نرم افزار Matlab مقایسه نماییم .

برنامه نویسی این پروژه به زبان C تحت کامپایلر mikroC PRO for ARM بوده و در برنامه نویسی این پروژه سعی شده تا برنامه آن به نحوی آماده شود که علاوه بر بهینه بودن، از ساختار منطقی و منظمی تبعیت نماید و بدین منظور بیشتر کدها در قالب توابع فرعی می باشند .

در صورت درخواست میتوان هر نوع تغییرات و شخصی سازی های دلخواهی را بر روی این پروژه اعمال نمود یا حتی الگوریتم های محاسباتی دیگری همچون KNN، LDA، SVM و MLP را نیز به پروژه اضافه نمود .

لینک کوتاه:

درباره افشین علیزاده

افشین علیزاده
من فارغ التحصیل رشته برق الکترونیک در مقطع کارشناسی ارشد هستم. مرا به عنوان یک علاقه‌مند به رشته های برق و کامپیوتر بشناسید‌. بدیهی است در دنیایی زندگی می‌کنم که از دریای بی‌کران علایقم‌، فقط قطراتی اندک نصیبم می‌شود. معتقدم مهندسی یعنی «خلاقانه ایجاد کردن»‌ و همواره سعی کرده ام تا در این مسیر دشوار قدم هایی هر چند کوچک بردارم.

۲ نظر

  1. سلام این الگوریتم در پردازش تصویرم فک کنم باشه برای تشخیص چهره
    فک میکنید بشه با stm32f407 دیسکاوری کیت (cortex m4)
    و دوربین پروژه تشخیص چهره را پیاده سازی کنید
    هزینه سورسش و برد جداگانه چقدر میشه؟
    ممنون

    • افشین علیزاده

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *