
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41

Olen todella suuri fani akellyirlin ohjeista luotettavasta taajuuden havaitsemisesta DSP -tekniikoiden avulla, mutta joskus hänen käyttämänsä tekniikka ei ole tarpeeksi hyvä, jos sinulla on meluisia mittauksia.
Yksi helppo korjaus puhtaamman tulon saamiseksi taajuusilmaisimelle on käyttää jonkinlaista suodatinta sen taajuuden ympärillä, jonka haluat havaita.
Valitettavasti digitaalisen suodattimen luominen ei ole helppoa, ja siihen liittyy melko paljon matematiikkaa. Joten ajattelin luoda jonkinlaisen ohjelman, joka yksinkertaistaisi tällaisten suodattimien luomista, jotta kuka tahansa voisi käyttää niitä projekteissaan syventymättä yksityiskohtiin.
Tässä Instructable -ohjelmassa aion havaita 50 Hz: n siniaallon meluisassa mittauksessa Arduino Unolla (Arduino ei todellakaan ole tarpeen).
Vaihe 1: Ongelma

Kuvittele, että mitatut syöttötiedot näyttävät yllä olevalta käyrältä - melko meluisalta.
Jos rakennamme yksinkertaisen taajuusilmaisimen, kuten akellyirlin Instructable-ohjelmassa, tulos on "-inf" tai alla olevan koodin tapauksessa: "Joo, liikaa kohinaa …"
Huomautus: Käytin melkein koko akellyirlin koodin, mutta lisäsin yläosaan rawData -taulukon, joka sisälsi meluisia mittauksia.
Alta löydät koko koodin tiedostosta "unfiltered.ino".
Vaihe 2: Ratkaisu

Koska syöttötiedot ovat meluisia, mutta tiedämme etsimämme taajuuden, voimme luoda luomani työkalun nimeltä easyFIR luoda kaistanpäästösuodattimen ja soveltaa sitä syötetietoihin, mikä johtaa paljon puhtaampaan tuloon taajuusilmaisimelle (kuva yllä).
Vaihe 3: EasyFIR

EasyFIR -työkalua on melko helppo käyttää, lataa vain GitHub -arkisto ja suorita easyFIR.py -tiedosto yhdellä näytteellä mittauksistasi (CSV -muodossa).
Jos avaat easyFIR.py -tiedoston, löydät 5 parametria (katso yllä oleva kuva), joita voit muuttaa ja joiden pitäisi muuttua sen mukaan, minkä tuloksen haluat saavuttaa. Kun olet säätänyt 5 parametria ja suorittanut python -tiedoston, näet lasketut kertoimet päätelaitteessasi. Nämä kertoimet ovat ratkaisevia seuraavassa vaiheessa!
Lisätietoja tarkasta käytöstä löytyy täältä:
Vaihe 4: Suodatus

Jos olet laskenut tarvittavat suodatuskertoimet, varsinaisen suodattimen käyttäminen taajuudenilmaisimeen on melko helppoa.
Kuten yllä olevasta kuvasta näkyy, sinun tarvitsee vain lisätä kertoimet, ApplyFilter -toiminto ja suodattaa tulomittaukset.
Alta löydät koko koodin tiedostosta "filttered.ino".
Huomaa: suuri kiitos tästä Stack Overflow Post -palvelusta loistavasta suodatinsovellusalgoritmista!
Vaihe 5: Nauti

Kuten näette, pystymmekö nyt havaitsemaan 50 Hz: n signaalin jopa meluisassa ympäristössä?
Voit vapaasti mukauttaa ideani ja koodini tarpeisiisi. Olisin erittäin kiitollinen, jos voisin sisällyttää parannuksesi!
Jos pidät työstäni, olisin todella kiitollinen, jos tuet työtäni tähtien kanssa GitHubissa!
Kiitos tuestasi!:)
Suositeltava:
NeoPixel Clip-On C9 -hajotin jouluvaloja varten: 6 vaihetta (kuvilla)

NeoPixel Clip-On C9 -hajotin jouluvaloja varten: Joskus hyvät asiat menevät pois-kuten himmeät C9-lamput. Tiedätkö ne, joissa maali irtoaa. Kyllä, nuo Charlie Brownin hyvyyden himmeät C9 -polttimot … Tässä on oikea C9 -LED -hajotin 12 mm: n WS2811 NeoPixel -osoitteille. Kirjailija: p
HC-05 (bluetooth) Moduuli kotiautomaatiota varten Perus: 3 vaihetta

HC-05 (bluetooth) -moduuli kotiautomaatiota varten Perus: Viimeisessä projektissani ohjain LEDiä painikkeella, mutta tässä projektissa olen korvannut PUSH BUTTONin HC-05-moduulilla. jatkaa tätä projektia. Saat kaikki yksityiskohdat
Tee interaktiivinen LED -järjestelmä portaita varten: 7 vaihetta

Tee interaktiivinen LED -järjestelmä portaita varten: Talossa on portaikko. On erittäin mielenkiintoista nähdä monia portaikkojen kunnostushankkeita yhteisössä. Ei kovin kiireinen viime aikoina, joten päätin käyttää joitain avoimen lähdekoodin laitteistomoduuleja portaiden muuttamiseen kotona ja lisätä vuorovaikutusta
Virtalähteen taajuuden ja jännitteen mittaus Arduinolla: 6 vaihetta

Virtalähteen taajuuden ja jännitteen mittaus Arduinolla: Johdanto: Tämän projektin tavoitteena on mitata syöttötaajuutta ja jännitettä, joka on 220-240 volttia ja 50 Hz täällä Intiassa. Käytin Arduinoa signaalin sieppaamiseen ja taajuuden ja jännitteen laskemiseen, voit käyttää mitä tahansa muuta mikroyhteyttä
Suorittimen taajuuden säätäminen Windows 10: 5 vaiheessa

Suorittimen taajuuden säätäminen Windows 10: ssä: Tässä näytetään kuinka säätää suorittimen taajuutta sekä hidastaa/rajoittaa tai vapauttaa suorittimen koko nopeus Windows 10 -tietokoneessa