Բովանդակություն:
Video: FIR ֆիլտրացում `ավելի հուսալի հաճախականության հայտնաբերման համար` 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Ես իսկապես մեծ երկրպագու եմ akelirl- ի ՝ հուսալի հաճախականությունների հայտնաբերման վերաբերյալ DSP տեխնիկայի օգտագործմամբ ուսուցանելու վերաբերյալ, բայց երբեմն նրա օգտագործած տեխնիկան բավական լավը չէ, եթե աղմկոտ չափումներ ունեք:
Հաճախականությունների դետեկտորի համար ավելի մաքուր մուտք գործելու հեշտ միջոցներից մեկն այն է, որ ինչ -որ զտիչ կիրառվի այն հաճախականության շուրջ, որը ցանկանում եք հայտնաբերել:
Unfortunatelyավոք, թվային զտիչ ստեղծելը հեշտ չէ, և բավականին շատ մաթեմատիկա է ներգրավված: Այսպիսով, ես մտածեցի ինչ -որ ծրագիր ստեղծելու մասին `պարզեցնելու նման զտիչների ստեղծումը, թույլ տալու որևէ մեկին օգտագործել դրանք իրենց նախագծերում` չխորանալով մանրամասների մեջ:
Այս Ուղեցույցում ես մտադիր եմ 50Hz սինուս ալիք հայտնաբերել Arduino Uno- ով աղմկոտ չափման ժամանակ (Arduino- ն իրականում անհրաժեշտ չէ):
Քայլ 1: Խնդիր
Պատկերացրեք, որ չափված մուտքային տվյալները նման են վերևի կորին `բավականին աղմկոտ:
Եթե մենք կառուցենք մի պարզ հաճախականության դետեկտոր, ինչպիսին է akellyirl's Instructable- ը, արդյունքը կլինի «-inf» կամ ստորև նշված կոդի դեպքում ՝ «Այո, չափազանց շատ աղմուկ…»
Նշում. Ես օգտագործել եմ akellyirl- ի գրեթե բոլոր ծածկագրերը, բայց վերևում ավելացրել եմ rawData զանգված, որը պարունակում է աղմկոտ չափումներ:
Ստորև կարող եք գտնել ամբողջ ծածկագիրը «unfiltered.ino» անունով ֆայլում:
Քայլ 2: Լուծում
Քանի որ մուտքային տվյալները աղմկոտ են, բայց մենք գիտենք, թե ինչ հաճախականություն ենք փնտրում, մենք կարող ենք օգտագործել իմ ստեղծած գործիքը easyFIR անունով ՝ Bandpass զտիչ ստեղծելու և այն մուտքագրելու տվյալների վրա, ինչը հանգեցնում է հաճախականության դետեկտորի ավելի մաքուր մուտքի (վերևի պատկերը):
Քայլ 3: EasyFIR
EasyFIR գործիքը բավականին հեշտ է օգտագործել, պարզապես ներբեռնեք GitHub պահոցը և գործարկեք easyFIR.py ֆայլը ձեր չափումների մեկ օրինակով (CSV ձևաչափով):
Եթե բացեք easyFIR.py ֆայլը, ապա կգտնեք 5 պարամետր (տես վերևի պատկերը), որոնք կարող եք և պետք է փոխվեն ՝ կախված այն արդյունքից, որին կցանկանայիք հասնել: 5 պարամետրերը շտկելուց և պիթոնի ֆայլը կատարելուց հետո ձեր տերմինալում կտեսնեք հաշվարկված գործակիցները: Այս գործակիցները վճռորոշ նշանակություն ունեն հաջորդ քայլի համար:
Usageշգրիտ օգտագործման մասին լրացուցիչ տեղեկություններ կարող եք գտնել այստեղ ՝
Քայլ 4: Filտիչ
Եթե դուք հաշվարկել եք անհրաժեշտ զտիչի գործակիցները, ապա բավականին հեշտ է կիրառել իրական ֆայլը հաճախականությունների դետեկտորին:
Ինչպես տեսնում եք վերևի նկարում, ձեզ հարկավոր է ավելացնել միայն գործակիցները, applyFilter գործառույթը և այնուհետև զտել մուտքային չափումները:
Ստորև կարող եք գտնել ամբողջ ծածկագիրը «filtered.ino» անունով ֆայլում:
Նշում. Մեծ շնորհակալություն Stack Overflow Post- ին `զտիչի կիրառման հիանալի ալգորիթմի համար:
Քայլ 5: Վայելեք
Ինչպես տեսնում եք, այժմ մենք ի վիճակի՞ ենք 50Hz ազդանշան հայտնաբերել նույնիսկ աղմկոտ միջավայրում:
Խնդրում եմ ազատ զգալ հարմարեցնել իմ գաղափարն ու կոդը ձեր կարիքներին: Ես շատ շնորհակալ կլինեմ ներառել ձեր բարելավումները:
Եթե ձեզ դուր է գալիս իմ աշխատանքը, ես իսկապես կգնահատեի, եթե աջակցեիք իմ աշխատանքին աստղով GitHub- ում:
Շնորհակալություն աջակցության համար!:)
Խորհուրդ ենք տալիս:
Հիմնական էլեկտրասրտագրության ձեռքբերում, ուժեղացում և ֆիլտրացում. 6 քայլ
Հիմնական էլեկտրասրտագրության ձեռքբերում, ուժեղացում և ֆիլտրում Այս նախագծի նպատակների համար բոլոր սխեմաներն ու մոդելավորումներն աշխատելու են LTspice XVII- ի վրա: Այս սիմուլյացիոն ծրագրաշարը պարունակում է
Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել `7 քայլ
Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել. Այս խնդիրը լուծելու համար մենք ստեղծեցինք Safer Better- ը: Մենք օգտագործում էինք թրթռման տվիչներ, շարժման տվիչներ և
Pike - քշեք ավելի ապահով, քշեք ավելի խելացի, քշեք մի հեծան: 5 քայլ
Pike - Քշիր ավելի ապահով, վարիր ավելի խելացի, քշիր մի պիկ !: Բարի գալուստ իմ նախագիծ, որը կոչվում է Pike: Սա նախագիծ է որպես իմ կրթության մի մաս: Ես ուսանող եմ NMCT- ում, Բելգիայում, Howest- ում: Նպատակն էր ՝ ինչ -որ բան խելացի դարձնել ՝ օգտագործելով Raspberry Pi- ն: Մենք ունեինք լիակատար ազատություն, որում ցանկանում էինք խելացի լինել: Ինձ համար դա
Ինչպես կատարել զգեստների համար հաճախականության աուդիո վիզուալիզատոր (Arduino նախագիծ). 8 քայլ (նկարներով)
Ինչպես կատարել հաճախականության համար աուդիո վիզուալիզատոր զգեստի համար (Arduino նախագիծ). Այս Instuctable- ում ես կտրամադրեմ խորհուրդներ, ծրագրեր և ծածկագրեր `ապակեպլաստե ապակուց պատրաստված փրփուրի կոստյումի մեջ կառուցված հուզիչ աուդիո վիզուալիզատոր պատրաստելու համար: Theանապարհին ես կկիսվեմ օգտակար քայլերով և լրացուցիչ ծածկագրերով, որոնք ոմանք ցանկանում են ներդնել arduino FFT գրադարանները
Կատարեք ձեր RC ավտոմեքենաների ցնցումները ավելի կարճ ՝ բարձր արագությամբ ավելի լավ գործածելու համար. 5 քայլ
Կատարեք ձեր RC մեքենաների ցնցումները ավելի բարձր արագությամբ ավելի լավ վարվելու համար. Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես կրճատել ձեր հարվածները, որպեսզի կարողանաք ձեր մեքենան ավելի մոտեցնել գետնին, որպեսզի կարողանաք ավելի արագ պտույտներ կատարել ՝ առանց հարվածների: Ես կօգտագործեմ իմ այլ հրահանգներ այն մասին, թե ինչպես կատարել ձեր մեքենաների ցնցումները, որպեսզի