Სარჩევი:
ვიდეო: FIR ფილტრაცია უფრო საიმედო სიხშირის გამოვლენისათვის: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
მე ნამდვილად დიდი თაყვანისმცემელი ვარ akellyirl– ის მიერ საიმედო სიხშირის გამოვლენის შესახებ DSP ტექნიკის გამოყენებით, მაგრამ ზოგჯერ ის ტექნიკა, რომელიც მან გამოიყენა, არ არის საკმარისად კარგი, თუ ხმაურიანი გაზომვები გაქვთ.
სიხშირის დეტექტორისთვის უფრო სუფთა შეყვანის მისაღებად ერთი მარტივი გამოსავალია გამოიყენოთ რაიმე სახის ფილტრი იმ სიხშირის გარშემო, რომლის ამოცნობაც გსურთ.
სამწუხაროდ, ციფრული ფილტრის შექმნა ადვილი არ არის და მათემატიკა საკმაოდ ბევრია ჩართული. ასე რომ, მე ვიფიქრე რაიმე სახის პროგრამის შექმნაზე, რომელიც გაამარტივებს ამგვარი ფილტრების შექმნას, საშუალებას მისცემს ვინმეს გამოიყენოს ისინი თავიანთ პროექტებში დეტალებში ჩაღრმავების გარეშე.
ამ ინსტრუქციაში, მე ვაპირებ გამოვავლინო 50Hz სინუსური ტალღა ხმაურიანი გაზომვით Arduino Uno– ით (Arduino ნამდვილად არ არის აუცილებელი).
ნაბიჯი 1: პრობლემა
წარმოიდგინეთ გაზომილი შეყვანის მონაცემები ზემოთ მრუდის მსგავსია - საკმაოდ ხმაურიანი.
თუ ჩვენ შევქმნით უბრალო სიხშირის დეტექტორს, როგორიც არის akellyirl's Instructable, შედეგი არის "-inf" ან ქვემოთ მოყვანილი კოდის შემთხვევაში: "დიახ, ძალიან ბევრი ხმაური …"
შენიშვნა: მე გამოვიყენე თითქმის ყველა აკელირლის კოდი, მაგრამ დავამატე rawData მასივი, რომელიც შეიცავს ხმაურიან გაზომვებს.
ქვემოთ შეგიძლიათ იხილოთ მთელი კოდი ფაილში სახელწოდებით "unfiltered.ino".
ნაბიჯი 2: გამოსავალი
ვინაიდან შეყვანის მონაცემები ხმაურიანია, მაგრამ ჩვენ ვიცით სიხშირე, რომელსაც ჩვენ ვეძებთ, ჩვენ შეგვიძლია გამოვიყენოთ ინსტრუმენტი, სახელწოდებით easyFIR, რათა შევქმნათ Bandpass ფილტრი და გამოვიყენოთ იგი შეყვანის მონაცემებზე, რაც იწვევს გაცილებით სუფთა შეყვანას სიხშირის დეტექტორისთვის (სურათი ზემოთ).
ნაბიჯი 3: EasyFIR
EasyFIR ინსტრუმენტი საკმაოდ მარტივი გამოსაყენებელია, უბრალოდ გადმოწერეთ GitHub საცავი და გაუშვით easyFIR.py ფაილი თქვენი გაზომვების ერთი ნიმუშით (CSV ფორმატში).
თუ გახსნით easyFIR.py ფაილს, ნახავთ 5 პარამეტრს (იხ. სურათი ზემოთ), რომელიც შეგიძლიათ და უნდა შეცვალოთ იმ შედეგის მიხედვით, რომლის მიღწევაც გსურთ. მას შემდეგ რაც შეცვლით 5 პარამეტრს და შეასრულებთ პითონის ფაილს, თქვენ ნახავთ გამოთვლილ კოეფიციენტებს თქვენს ტერმინალში. ეს კოეფიციენტები გადამწყვეტია შემდეგი ნაბიჯისათვის!
დამატებითი ინფორმაცია ზუსტი გამოყენების შესახებ შეგიძლიათ იხილოთ აქ:
ნაბიჯი 4: გაფილტვრა
ახლა თუ გამოთვლით ფილტრის საჭირო კოეფიციენტებს, საკმაოდ ადვილია ფაქტობრივი შემავსებლის გამოყენება სიხშირის დეტექტორზე.
როგორც ხედავთ ზემოთ სურათზე, თქვენ მხოლოდ უნდა დაამატოთ კოეფიციენტები, applyFilter ფუნქცია და შემდეგ გაფილტროთ შეყვანის გაზომვები.
ქვემოთ შეგიძლიათ იხილოთ მთელი კოდი ფაილში სახელწოდებით "filtered.ino".
შენიშვნა: დიდი მადლობა ამ Stack Overflow Post– ს ფილტრის გამოყენების ალგორითმისთვის!
ნაბიჯი 5: ისიამოვნეთ
როგორც ხედავთ, ახლა ჩვენ შეგვიძლია გამოვავლინოთ 50Hz სიგნალი თუნდაც ხმაურიან გარემოში?
გთხოვთ თავისუფლად მოერგოთ ჩემი იდეა და კოდი თქვენს საჭიროებებს. ძალიან მადლობელი ვიქნები თქვენი გაუმჯობესების ჩათვლით!
თუ მოგწონთ ჩემი ნამუშევარი, მე ნამდვილად ვაფასებ, თუ თქვენ მხარს დაუჭერთ ჩემს მუშაობას ვარსკვლავით GitHub– ზე!
Გმადლობთ მხარდაჭერისთვის!:)
გირჩევთ:
CMOS სიხშირის საზომი: 3 ნაბიჯი
CMOS სიხშირის საინფორმაციო პროგრამა: ეს არის სახელმძღვანელო PDF ფაილებით და ფოტოებით, თუ როგორ შევქმენი ჩემი სიხშირის მრიცხველი გასართობად დისკრეტული ლოგიკის გარეშე. მე არ შევალ დეტალურად იმის შესახებ, თუ როგორ გავაკეთე მიკროსქემის ღორები ან როგორ გავამაგრე იგი, მაგრამ სქემები დამზადებულია KICAD– ში, რომელიც უფასო რბილია
მარტივი სიხშირის მრიცხველი არდუინოს გამოყენებით: 6 ნაბიჯი
მარტივი სიხშირის მრიცხველი Arduino– ს გამოყენებით: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ უნდა გავაკეთოთ მარტივი სიხშირის მრიცხველი Arduino– ს გამოყენებით. უყურეთ ვიდეოს
მარტივი, იაფი და საიმედო შეხების სენსორი მხოლოდ 3 ნაწილით: 3 ნაბიჯი
მარტივი, იაფი და საიმედო შეხების სენსორი მხოლოდ 3 ნაწილით: ყველა სახის ელექტრონული მოწყობილობის კონტროლი თითის შეხებით შეიძლება საკმაოდ სასარგებლო იყოს. ამ გაკვეთილზე მე გაჩვენებთ, თუ როგორ უნდა ავაშენოთ მარტივი, მაგრამ მძლავრი შეხების სენსორი, რომელიც მუშაობს უზადოდ. ყველაფერი რაც თქვენ გჭირდებათ არის სტანდარტული ტრანზისტორი და ორი
ჰაერის დაბინძურების გამოვლენა + ჰაერის ფილტრაცია: 4 ნაბიჯი
ჰაერის დაბინძურების გამოვლენა + ჰაერის ფილტრაცია: გერმანული შვეიცარიის საერთაშორისო სკოლის მოსწავლეები (არისტობულუს ლამი, ვიქტორ სიმ, ნათან როზენცვეიგი და დეკლან ლოგესი) მუშაობდნენ MakerBay– ის თანამშრომლებთან ერთად ჰაერის დაბინძურების გაზომვისა და ჰაერის ფილტრაციის ეფექტურობის ინტეგრირებული სისტემის შესაქმნელად. ეს
შექმენით ვებ - კონტენტის ფილტრაცია 4 ნაბიჯში Ubuntu– ით: 5 ნაბიჯი
შექმენით ვებ კონტენტის გაფილტვრა 4 ნაბიჯში Ubuntu– ით: როგორც IT ბიჭი, თანამშრომლების ერთ -ერთი ყველაზე გავრცელებული რამ არის ის, თუ როგორ შეუძლიათ მათ გააკონტროლონ ის საიტები, რომლებსაც მათი ბავშვები ინტერნეტით წვდებიან. ამის გაკეთება ძალიან ადვილია და უფასო Ubuntu linux, dansguardian და tinyproxy გამოყენებით