فهرست مطالب:
تصویری: فیلتر FIR برای تشخیص فرکانس قابل اطمینان: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
من واقعاً طرفدار دستورالعمل های akellyirl در مورد تشخیص فرکانس قابل اعتماد با استفاده از تکنیک های DSP هستم ، اما گاهی اوقات اگر اندازه گیری های پر سر و صدا دارید ، تکنیک مورد استفاده او به اندازه کافی خوب نیست.
یک راه حل آسان برای بدست آوردن ورودی تمیزتر برای آشکارساز فرکانس ، استفاده از نوعی فیلتر در اطراف فرکانسی است که می خواهید تشخیص دهید.
متأسفانه ایجاد فیلتر دیجیتال کار آسانی نیست و ریاضیات زیادی نیز در آن دخیل است. بنابراین من در مورد ایجاد نوعی برنامه برای ساده سازی ایجاد چنین فیلترهایی فکر کردم که به هر کسی اجازه دهد از آنها در پروژه های خود بدون کاوش در جزئیات استفاده کند.
در این دستورالعمل ، من قصد دارم یک موج سینوسی 50 هرتزی را در اندازه گیری پر سر و صدا با Arduino Uno تشخیص دهم (آردوینو واقعاً ضروری نیست).
مرحله 1: مشکل
تصور کنید داده های ورودی اندازه گیری شده مانند منحنی بالا است - بسیار پر سر و صدا.
اگر یک آشکارساز فرکانس ساده مانند آنچه در دستورالعمل akellyirl ساخته شده است بسازیم ، نتیجه "-inf" یا در مورد کد زیر است: "بله ، سر و صدای زیاد …"
توجه: من تقریباً از تمام کد akellyirl استفاده کردم ، اما یک آرایه rawData در بالا با اندازه گیری های پر سر و صدا اضافه کردم.
در زیر می توانید کل کد را در فایلی به نام "unfiltered.ino" پیدا کنید.
مرحله 2: راه حل
از آنجا که داده های ورودی پر سر و صدا هستند ، اما ما فرکانس مورد نظر خود را می دانیم ، می توانیم از ابزاری که من ایجاد کردم به نام easyFIR برای ایجاد یک فیلتر Bandpass و اعمال آن بر روی داده های ورودی استفاده کنیم ، که منجر به ورودی بسیار تمیزتر برای آشکارساز فرکانس می شود (تصویر بالا)
مرحله 3: EasyFIR
استفاده از ابزار easyFIR بسیار آسان است ، کافی است مخزن GitHub را بارگیری کرده و فایل easyFIR.py را با یک نمونه از اندازه گیری های خود (در قالب CSV) اجرا کنید.
اگر فایل easyFIR.py را باز کنید ، 5 پارامتر خواهید یافت (تصویر بالا را ببینید) بسته به نتیجه ای که می خواهید به آن برسید ، می توانید و باید تغییر دهید. پس از اصلاح 5 پارامتر و اجرای فایل پایتون ، ضرایب محاسبه شده را در ترمینال خود مشاهده خواهید کرد. این ضرایب برای مرحله بعدی بسیار مهم هستند!
اطلاعات بیشتر در مورد استفاده دقیق را می توانید در اینجا پیدا کنید:
مرحله 4: فیلتر کردن
حال اگر ضرایب فیلتر مورد نیاز را محاسبه کرده اید ، اعمال فیلر واقعی بر روی آشکارساز فرکانس بسیار آسان است.
همانطور که در تصویر بالا مشاهده می کنید ، فقط باید ضرایب ، تابع applyFilter را اضافه کرده و سپس اندازه گیری های ورودی را فیلتر کنید.
در زیر می توانید کل کد موجود در فایلی به نام "filtered.ino" را بیابید.
توجه: با تشکر فراوان از این Stack Overflow Post برای الگوریتم عالی برنامه فیلتر!
مرحله 5: لذت ببرید
همانطور که می بینید ، اکنون ما قادر به تشخیص یک سیگنال 50 هرتز حتی در یک محیط پر سر و صدا هستیم؟
لطفاً با خیال راحت ایده و کد من را با نیازهای خود تطبیق دهید. من بسیار ممنون می شوم اگر پیشرفت های شما را نیز شامل شود!
اگر از کارهای من خوشتان می آید ، اگر از کار من با ستاره در GitHub حمایت کنید ، واقعاً قدردانی می کنم!
از حمایت شما متشکرم!:)
توصیه شده:
تشخیص چهره ، آموزش و تشخیص Opencv: 3 مرحله
تشخیص چهره ، آموزش و تشخیص Opencv: OpenCV یک کتابخانه بینایی رایانه منبع باز است که برای انجام کارهای اصلی پردازش تصویر مانند تار شدن ، ترکیب تصویر ، افزایش تصویر و همچنین کیفیت فیلم ، آستانه و غیره بسیار محبوب است. علاوه بر پردازش تصویر ، اثبات می کند
تشخیص و تشخیص چهره - Arduino Face ID با استفاده از OpenCV Python و Arduino .: 6 مرحله
تشخیص و تشخیص چهره | شناسه صورت آردوینو با استفاده از OpenCV پایتون و آردوینو.: تشخیص چهره AK ID چهره یکی از مهمترین ویژگی های تلفن های همراه امروزه است. بنابراین ، من یک سوال داشتم & quot؛ آیا می توانم برای پروژه آردوینو خود شناسه چهره داشته باشم & quot؛ و پاسخ بله است … سفر من به شرح زیر آغاز شد: مرحله 1: دسترسی به ما
کنترل از راه دور پیامک قابل اطمینان ، ایمن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست: 4 مرحله
SMS ، کنترل از راه دور قابل اعتماد ، ایمن ، قابل تنظیم (Arduino/pfodApp) - نیازی به کد نویسی نیست: به روز رسانی 6 جولای 2018: نسخه 3G/2G این پروژه ، با استفاده از SIM5320 ، در اینجا موجود است به روز رسانی: 19 مه 2015: از کتابخانه pfodParser نسخه 2.5 یا بالاتر این مشکل گزارش شده از عدم اجازه زمان کافی برای اتصال سپر به
پردازش ساده Uldar (تشخیص و تشخیص اولتراسونیک): 3 مرحله
پردازش ساده Uldar (تشخیص و رتبه بندی اولتراسونیک): این یک پروژه ساده است که از Arduino UNO و Processing برای ایجاد یک لیدار ساده استفاده می کند. Lidar (همچنین LIDAR ، LiDAR و LADAR نیز نامیده می شود) یک روش نقشه برداری است که با روشن کردن فاصله تا یک هدف را اندازه گیری می کند. هدف با نور لیزری پالس و اندازه گیری
تشخیص چهره+تشخیص: 8 مرحله (همراه با تصاویر)
تشخیص چهره+تشخیص: این یک مثال ساده از اجرای تشخیص و تشخیص چهره با OpenCV از دوربین است. توجه: من این پروژه را برای مسابقه سنسور ساختم و از دوربین به عنوان سنسور برای ردیابی و شناسایی چهره ها استفاده کردم. بنابراین ، هدف ما در این جلسه ، 1. Anaconda را نصب کنید