Satura rādītājs:
- 1. solis: problēma
- 2. solis: risinājums
- 3. darbība: EasyFIR
- 4. darbība: filtrēšana
- 5. solis: izbaudiet
Video: FIR filtrēšana drošākai frekvences noteikšanai: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Es esmu ļoti liels akellyirl pamācāmo fanu par uzticamu frekvenču noteikšanu, izmantojot DSP metodes, bet dažreiz viņa izmantotā tehnika nav pietiekami laba, ja jums ir trokšņaini mērījumi.
Viens vienkāršs risinājums, lai iegūtu tīrāku ievadi frekvences detektoram, ir noteikt filtru ap frekvenci, kuru vēlaties noteikt.
Diemžēl digitālā filtra izveide nav vienkārša, un tajā ir diezgan daudz matemātikas. Tāpēc es domāju izveidot kādu programmu, lai vienkāršotu šādu filtru izveidi, lai ikviens varētu tos izmantot savos projektos, neiedziļinoties detaļās.
Šajā pamācībā trokšņainā mērījumā ar Arduino Uno es atklāšu 50 Hz sinusoidālo viļņu (Arduino nav īsti nepieciešams).
1. solis: problēma
Iedomājieties, ka izmērītie ievades dati izskatās kā augšējā līkne - diezgan trokšņaini.
Ja mēs izveidojam vienkāršu frekvences detektoru, piemēram, akellyirl's Instructable, rezultāts ir "-inf" vai tālāk norādītā koda gadījumā: "Jā, pārāk daudz trokšņa …"
Piezīme. Es izmantoju gandrīz visu akellyirl kodu, bet augšpusē pievienoju rawData masīvu, kas satur trokšņainus mērījumus.
Zemāk jūs varat atrast visu kodu failā ar nosaukumu "unfiltered.ino".
2. solis: risinājums
Tā kā ievades dati ir trokšņaini, bet mēs zinām meklēto frekvenci, mēs varam izmantot manu izveidoto rīku ar nosaukumu easyFIR, lai izveidotu frekvenču joslas filtru un piemērotu to ievades datiem, kā rezultātā frekvences detektora ievade būs daudz tīrāka (attēls iepriekš).
3. darbība: EasyFIR
EasyFIR rīku ir diezgan viegli lietot, vienkārši lejupielādējiet GitHub repozitoriju un palaidiet failu easyFIR.py ar vienu mērījumu paraugu (CSV formātā).
Atverot failu easyFIR.py, jūs atradīsit 5 parametrus (skatiet attēlu iepriekš), kurus varat un vajadzētu mainīt atkarībā no tā, kādu rezultātu vēlaties sasniegt. Pēc 5 parametru pielāgošanas un python faila izpildīšanas terminālī redzēsit aprēķinātos koeficientus. Šie koeficienti ir izšķiroši nākamajam solim!
Plašāku informāciju par precīzu lietošanu var atrast šeit:
4. darbība: filtrēšana
Tagad, ja esat aprēķinājis nepieciešamos filtra koeficientus, ir diezgan viegli piemērot reālo filtru frekvences detektoram.
Kā redzat attēlā iepriekš, jums jāpievieno tikai koeficienti, funkcija ApplyFilter un pēc tam jāfiltrē ievades mērījumi.
Zemāk jūs varat atrast visu kodu failā ar nosaukumu "filtrated.ino".
Piezīme: liels paldies šim kaudzes pārpildes ierakstam par lielisko filtru lietojuma algoritmu!
5. solis: izbaudiet
Kā redzat, tagad mēs varam noteikt 50 Hz signālu pat trokšņainā vidē?
Lūdzu, nekautrējieties pielāgot manu ideju un kodu savām vajadzībām. Es būtu ļoti pateicīgs, ja iekļautu jūsu uzlabojumus!
Ja jums patīk mans darbs, es būtu ļoti pateicīgs, ja jūs atbalstītu manu darbu ar zvaigzni vietnē GitHub!
Paldies par atbalstu!:)
Ieteicams:
DUS CO noteikšanai: 5 soļi
DUS CO noteikšanai: Oglekļa monoksīds (CO) ir ļoti bīstama gāze, jo tai nav smaržas, tai nav garšas. Jūs to nevarat redzēt vai atklāt ar degunu. Mans mērķis ir izveidot vienkāršu CO detektoru. Pirmkārt, es savā mājā atklāju ļoti nelielu šīs gāzes daudzumu. Tas ir iemesls
Radio izmantošana zibens noteikšanai: 4 soļi
Radio izmantošana zibens noteikšanai: Mazos radioaparātus var izmantot ne tikai mūzikas klausīšanai vai sportam. Visus radioaparātus (pat lētus tikai AM radioaparātus) var izmantot zibens un citu atmosfēras parādību noteikšanai. Ar apmācītu ausu var pat noteikt, vai zibens pārvietojas
Interneta satura filtrēšana, izmantojot DNS: 10 soļi
Interneta satura filtrēšana, izmantojot DNS: atjaunināts 2021. gada 3. februārī, lai 8. darbībā iekļautu papildu informāciju & 9. Ir plaši zināms, ka internetā ir daudz satura, kas nav tieši piemērots bērnu skatīšanai. Tomēr nav tik plaši zināms fakts, ka
Sirdsdarbības ātruma mērīšana ir pirksta galā: fotopletismogrāfijas pieeja sirdsdarbības noteikšanai: 7 soļi
Sirdsdarbības ātruma mērīšana ir pirksta galā: fotopletismogrāfija Pieeja sirdsdarbības ātruma noteikšanai: Fotopletismogrāfs (PPG) ir vienkārša un lēta optiskā tehnika, ko bieži izmanto, lai noteiktu asins tilpuma izmaiņas audu mikrovaskulārajā gultnē. To galvenokārt izmanto neinvazīvi, lai veiktu mērījumus uz ādas virsmas, parasti
Gaisa piesārņojuma noteikšana + gaisa filtrēšana: 4 soļi
Gaisa piesārņojuma noteikšana + gaisa filtrēšana: Vācijas Šveices Starptautiskās skolas studenti (Aristobulus Lam, Victor Sim, Nathan Rosenzweig un Declan Loges) sadarbojās ar MakerBay darbiniekiem, lai izveidotu integrētu gaisa piesārņojuma mērīšanas un gaisa filtrēšanas efektivitātes sistēmu. Šī