Përmbajtje:

Filtrimi i FIR për Zbulim më të Besueshëm të Frekuencës: 5 Hapa
Filtrimi i FIR për Zbulim më të Besueshëm të Frekuencës: 5 Hapa

Video: Filtrimi i FIR për Zbulim më të Besueshëm të Frekuencës: 5 Hapa

Video: Filtrimi i FIR për Zbulim më të Besueshëm të Frekuencës: 5 Hapa
Video: 1563-IT Teresa, KINSEY - Ipnosi Esoterica ∞ Lucio Carsi 2024, Nëntor
Anonim
Filtrimi i FIR për Zbulim më të Besueshëm të Frekuencës
Filtrimi i FIR për Zbulim më të Besueshëm të Frekuencës

Unë jam një tifoz me të vërtetë i udhëzueshëm i akellyirl për zbulimin e frekuencës së besueshme duke përdorur teknikat DSP, por ndonjëherë teknika që ai përdori nuk është mjaft e mirë nëse keni matje të zhurmshme.

Një rregullim i lehtë për të marrë një hyrje më të pastër për detektorin e frekuencës është të aplikoni një lloj filtri rreth frekuencës që dëshironi të zbuloni.

Fatkeqësisht, krijimi i një filtri dixhital nuk është i lehtë dhe ka shumë matematikë të përfshirë. Kështu që unë mendova për krijimin e një lloj programi për të thjeshtuar krijimin e filtrave të tillë, për t'i lejuar kujtdo t'i përdorë ato në projektet e tyre pa gërmuar në detaje.

Në këtë Instructable, unë do të zbuloj një valë sinus 50Hz në një matje të zhurmshme me një Arduino Uno (Arduino nuk është vërtet i nevojshëm).

Hapi 1: Problemi

Problemi
Problemi

Imagjinoni të dhënat e matura hyrëse duken si kurba e mësipërme - goxha e zhurmshme.

Nëse ndërtojmë një detektor frekuence të thjeshtë si ai në Akellyirl's Instructable, rezultati është "-inf" ose në rastin e kodit më poshtë: "Po, shumë zhurmë …"

Shënim: Kam përdorur pothuajse të gjithë kodin e akellyirl, por kam shtuar një grup të rawData në krye që përmban matjet e zhurmshme.

Më poshtë mund të gjeni të gjithë kodin në një skedar të quajtur "unfilttered.ino".

Hapi 2: Zgjidhja

Zgjidhja
Zgjidhja

Meqenëse të dhënat hyrëse janë të zhurmshme, por ne e dimë frekuencën që ne po kërkojmë, ne mund të përdorim një mjet që krijova i quajtur easyFIR për të krijuar një filtër Bandpass dhe ta zbatojmë atë në të dhënat hyrëse, gjë që rezulton në një hyrje shumë më të pastër për detektorin e frekuencës (imazhi i mësipërm).

Hapi 3: EasyFIR

EasyFIR
EasyFIR

Mjeti easyFIR është mjaft i lehtë për t’u përdorur, thjesht shkarkoni depon GitHub dhe drejtoni skedarin easyFIR.py me një mostër të matjeve tuaja (në formatin CSV).

Nëse hapni skedarin easyFIR.py, do të gjeni 5 parametra (shihni imazhin më lart) që mund dhe duhet të ndryshoni në varësi të rezultatit që dëshironi të arrini. Pasi të keni rregulluar 5 parametrat dhe keni ekzekutuar skedarin python, do të shihni koeficientët e llogaritur në terminalin tuaj. Këta koeficientë janë vendimtar për hapin tjetër!

Më shumë informacion mbi përdorimin e saktë mund të gjenden këtu:

Hapi 4: Filtrimi

Filtrimi
Filtrimi

Tani nëse keni llogaritur koeficientët e nevojshëm të filtrit, është shumë e lehtë të aplikoni filerin aktual në detektorin e frekuencës.

Siç mund ta shihni në imazhin e mësipërm, ju vetëm duhet të shtoni koeficientët, funksionin applyFilter dhe më pas të filtroni matjet hyrëse.

Më poshtë mund të gjeni të gjithë kodin në një skedar të quajtur "filtered.ino".

Shënim: falënderim i madh për këtë Stack Overflow Post për algoritmin e shkëlqyeshëm të aplikimit të filtrit!

Hapi 5: Shijoni

Shijoni
Shijoni

Siç mund ta shihni, tani ne jemi në gjendje të zbulojmë një sinjal 50Hz edhe në një mjedis të zhurmshëm?

Ju lutem mos ngurroni të përshtatni idenë dhe kodin tim me nevojat tuaja. Do të isha shumë mirënjohës për të përfshirë përmirësimet tuaja!

Nëse ju pëlqen puna ime, do ta vlerësoja vërtet nëse e mbështesni punën time me yll në GitHub!

Faleminderit per mbeshtetjen!:)

Recommended: