Tartalomjegyzék:
Videó: FIR szűrés a megbízhatóbb frekvenciaérzékelés érdekében: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Igazán nagy rajongója vagyok az akellyirl utasításainak a megbízható frekvenciaérzékelésről a DSP technikák használatával, de néha az általa alkalmazott technika nem elég jó, ha zajos méréseket végez.
Az egyik egyszerű megoldás a frekvenciaérzékelő tisztább bemenetének megszerzésére, ha valamilyen szűrőt alkalmaz az érzékelni kívánt frekvencia körül.
Sajnos a digitális szűrő létrehozása nem könnyű, és meglehetősen sok matematika van benne. Ezért arra gondoltam, hogy létrehozok valamilyen programot, amely egyszerűsíti az ilyen szűrők létrehozását, hogy bárki használhassa őket a projektjeiben anélkül, hogy belemélyedne a részletekbe.
Ebben az utasításban 50 Hz -es szinuszhullámot fogok érzékelni zajos méréseknél Arduino Uno -val (az Arduino nem igazán szükséges).
1. lépés: A probléma
Képzelje el, hogy a mért bemeneti adatok úgy néznek ki, mint a fenti görbe - elég zajos.
Ha olyan egyszerű frekvenciaérzékelőt építünk, mint az akellyirl Instructable-ben, az eredmény "-inf", vagy az alábbi kód esetében: "Igen, túl sok zaj …"
Megjegyzés: Nagyjából az akellyirl összes kódját használtam, de hozzáadtam egy rawData tömböt a tetején, amely tartalmazza a zajos méréseket.
Az alábbiakban megtalálja a teljes kódot egy "unfiltered.ino" nevű fájlban.
2. lépés: A megoldás
Mivel a bemeneti adatok zajosak, de ismerjük a keresett frekvenciát, az általam létrehozott easyFIR nevű eszközzel létrehozhatunk egy Bandpass szűrőt, és alkalmazhatjuk a bemeneti adatokra, ami sokkal tisztább bemenetet eredményez a frekvenciaérzékelő számára (kép fent).
3. lépés: EasyFIR
Az easyFIR eszköz használata nagyon egyszerű, csak töltse le a GitHub adattárat, és futtassa le az easyFIR.py fájlt egy mérési mintával (CSV formátumban).
Ha megnyitja az easyFIR.py fájlt, 5 paramétert talál (lásd a fenti képet), amelyeket meg kell változtatnia és meg kell változtatnia az elérni kívánt eredménytől függően. Miután beállította az 5 paramétert és végrehajtotta a python fájlt, látni fogja a számított együtthatókat a terminálon. Ezek az együtthatók kulcsfontosságúak a következő lépéshez!
További információ a pontos használatról itt található:
4. lépés: Szűrés
Most, ha kiszámította a szükséges szűrési együtthatókat, nagyon könnyű a tényleges szűrőt alkalmazni a frekvenciaérzékelőre.
Amint a fenti képen látható, csak hozzá kell adnia az együtthatókat, az applyFilter függvényt, majd szűrnie kell a bemeneti méréseket.
Az alábbiakban megtalálja a teljes kódot a "filtered.ino" nevű fájlban.
Megjegyzés: nagy köszönet ennek a Stack Overflow Postnak a nagyszerű szűrőalkalmazási algoritmusért!
5. lépés: Élvezze
Amint látja, most képesek vagyunk 50 Hz -es jelet érzékelni még zajos környezetben is?
Kérem, bátran igazítsa ötletemet és kódomat az Ön igényeihez. Nagyon hálás lennék, ha belefoglalná a fejlesztéseit!
Ha tetszik a munkám, nagyon megköszönném, ha támogatnád a GitHubon végzett munkámat!
Köszönet a támogatásodért!:)
Ajánlott:
Arduino számláló a TM1637 LED kijelző és az akadályok elkerülése érdekében: 7 lépés
Arduino számláló a TM1637 LED kijelző és akadálykerülő érzékelő használatával: Ebben az oktatóanyagban megtanuljuk, hogyan készítsünk egyszerű számjegyű számlálót a TM1637 LED kijelző, valamint az akadálykerülő érzékelő és a Visuino segítségével. Nézze meg a videót
DIY Arduino Solar Tracker (a globális felmelegedés csökkentése érdekében): 3 lépés
DIY Arduino Solar Tracker (a globális felmelegedés csökkentése érdekében): Üdv mindenkinek, ebben az oktatóanyagban megmutatom nektek, hogyan lehet napelemes nyomkövetőt készíteni az arduino mikrokontroller segítségével. A mai világban számos aggodalomra ad okot. Ezek egyike a klímaváltozás és a globális felmelegedés. Az igény
Hogyan készítsünk akadályt a robot elkerülése érdekében: 6 lépés
Hogyan készítsünk akadályokat elkerülő robotot: Az akadálykerülő robot egy egyszerű robot, amelyet egy arduino működtet, és amit tesz, az az, hogy csak barangol, és elkerüli az akadályokat. Más szavakkal érzékeli az akadályokat egy HC-SR04 ultrahangos érzékelővel, ha a robot érzékeli a közelben lévő tárgyakat
Keskeny sávú IoT: intelligens világítás és mérés a jobb és egészségesebb ökoszisztéma érdekében: 3 lépés
Keskeny sávú IoT: intelligens világítás és mérés a jobb és egészségesebb ökoszisztéma felé: Az automatizálás szinte minden szektorban megtalálta az utat. A gyártástól kezdve az egészségügyig, a szállításig és az ellátási láncig az automatizálás látta meg a napvilágot. Nos, ezek kétségkívül vonzóak, de van egy, ami úgy tűnik
Hogyan lehet feltörni a hőmérséklet -érzékelőt az akkumulátor hosszabb élettartama érdekében: 4 lépés
Hogyan lehet feltörni a hőmérséklet-érzékelőt az akkumulátor hosszabb élettartama érdekében: Az Inkbird IBS-TH1 egy nagyszerű kis eszköz a hőmérséklet és a páratartalom néhány órás vagy napi naplózásához. Beállítható, hogy másodpercenként akár 10 percenként naplózzon, és az adatokat Bluetooth LE -n keresztül jelenti egy androidos vagy iOS -es okostelefonra. Az alkalmazás