Სარჩევი:
- ნაბიჯი 1: როგორ მუშაობს (კონცეფცია):
- ნაბიჯი 2: როგორ მუშაობს (კოდში):
- ნაბიჯი 3: კოდის გამოყენება სიხშირის ანალიზისათვის:
- ნაბიჯი 4: გამომავალი:
- ნაბიჯი 5: ფანჯრისა და ნიმუშის ზომის შემოწმება:
- ნაბიჯი 6: მაგალითი:
ვიდეო: Arduino: სიხშირის გარდაქმნა (DFT): 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ეს პროგრამა არის გამოთვლა სიხშირის გარდაქმნა არდუინოზე პარამეტრების კონტროლით. ის წყდება დამამცირებელი მეოთხე გარდაქმნის გამოყენებით.
ეს არ არის FFT
FFT არის ალგორითმი, რომელიც გამოიყენება DFT უფრო მცირე დროით ამოხსნისთვის.
FFT კოდი შეგიძლიათ ნახოთ აქ.
ნაბიჯი 1: როგორ მუშაობს (კონცეფცია):
სიხშირის გარდაქმნის მოცემული პროგრამა უზრუნველყოფს დიდ კონტროლს თქვენთვის საჭირო გამომუშავებაზე. ეს პროგრამა აფასებს მომხმარებლის მიერ მოცემული მონაცემების ნაკრების სიხშირის დიაპაზონს.
- ფიგურაში მოცემულია მონაცემების ნაკრები ორი სიხშირისგან, სახელწოდებით f2 და f5, რომლებიც უნდა შემოწმდეს. f2 და f5 არის შემთხვევითი სახელები ორი სიხშირისთვის, უფრო მაღალი რიცხვი შედარებით მაღალი სიხშირისთვის. აქ უფრო მცირე სიხშირე f2 აქვს უფრო მაღალი ამპლიტუდა და f5 აქვს უფრო მცირე ამპლიტუდა.
- მათემატიკურად შეიძლება ნაჩვენები იყოს, რომ განსხვავებული ჰარმონიული მონაცემთა ნაკრების გამრავლების ჯამი სხვადასხვა სიხშირით ნულის ტოლია (მონაცემთა უფრო მეტმა რაოდენობამ შეიძლება გამოიწვიოს ბატარეის შედეგი). ჩვენს შემთხვევაში, თუ ამ ორ გამრავლების სიხშირეს აქვს იგივე (ან ძალიან ახლო) სიხშირე, გამრავლების ჯამი არის ნულოვანი რიცხვი, სადაც ამპლიტუდა დამოკიდებულია მონაცემების ამპლიტუდაზე.
- კონკრეტული სიხშირის გამოსავლენად მოცემული მონაცემთა ნაკრები შეიძლება გამრავლდეს სხვადასხვა ტესტის სიხშირეზე და შედეგს შეუძლია მისცეს მონაცემებში ამ სიხშირის კომპონენტი.
ნაბიჯი 2: როგორ მუშაობს (კოდში):
მოცემული მონაცემებისთვის (f2+f5) სათითაოდ f1 to f6 მრავლდება და თანხის მნიშვნელობა აღინიშნება ქვემოთ. რომ საბოლოო ჯამი წარმოადგენს ამ სიხშირის შინაარსს. სიხშირის დასვენება (შეუსაბამობა) იდეალურად უნდა იყოს ნულის ტოლი, მაგრამ ეს რეალურ შემთხვევაში შეუძლებელია. ნულოვანი ჯამის შესაქმნელად საჭიროა მონაცემთა ნაკრებების უსასრულო ზომა.
- როგორც შეიძლება ნაჩვენები იყოს ფიგურაში f1- დან f6- მდე ცდის სიხშირე და ნაჩვენებია მისი გამრავლება მონაცემებთან ერთად ყველა წერტილში.
- მეორე ფიგურაში გამოსახულია ამ გამრავლების შეჯამება თითოეულ სიხშირეზე. ორი მწვერვალი 1 და 5 არის იდენტიფიცირებადი.
შემთხვევითი მონაცემებისთვის იგივე მიდგომის გამოყენებით შეგვიძლია შევაფასოთ ამდენი სიხშირე და გავაანალიზოთ მონაცემების სიხშირე.
ნაბიჯი 3: კოდის გამოყენება სიხშირის ანალიზისათვის:
მაგალითისთვის მოდით გამოვიყენოთ ეს კოდი კვადრატული ტალღის DFT- ის მოსაძებნად.
პირველი ჩასვით თანდართული კოდი (dft ფუნქცია) მარყუჟის შემდეგ, როგორც ნაჩვენებია სურათზე
8 პირობა, რომელიც უნდა იყოს სპეციფიკური
- რომლის მასივი dft უნდა იქნას მიღებული
- მასივის ზომა
- დროის ინტერვალი მასივის 2 კითხვას შორის მილიწამებში
- სიხშირის დიაპაზონის ქვედა მნიშვნელობა Hz- ში
- სიხშირის დიაპაზონის ზედა მნიშვნელობა Hz
- ნაბიჯების ზომა სიხშირის დიაპაზონისთვის
- სიგნალის გამეორება (მინიმუმ 1) უფრო დიდი რაოდენობის ბატარეის სიზუსტე, მაგრამ გაზრდილი გადაწყვეტის დრო
-
ფანჯრის ფუნქცია:
0 ფანჯრის გარეშე 1 ბრტყელი ფანჯრისთვის 2 ჰანის ფანჯრისთვის 3 ჩაქუჩის ფანჯრისთვის
(თუ თქვენ არ გაქვთ იდეა ფანჯრის არჩევის შესახებ შეინახეთ ნაგულისხმევი 3)
მაგალითი: dft (a, 8, 0.5, 0, 30, 0.5, 10, 3); აქ არის 8 ელემენტის მასივი, რომელიც უნდა შემოწმდეს 0 Hz– დან 30 Hz– მდე 0.5 საფეხურით (0, 0.5, 1, 1.5,…, 29, 29.5, 30) 10 გამეორება და ჩაქუჩის ფანჯარა
აქ შესაძლებელია გამოვიყენოთ უფრო დიდი ზომის მასივი რამდენიც შეუძლია არდუინოს.
ნაბიჯი 4: გამომავალი:
თუ კომენტარს გააკეთებ
Serial.print (f); Serial.print ("\ t");
კოდის სერიული პლოტერი მისცემს სიხშირის სპექტრის ბუნებას, თუ არა სერიული მონიტორი მისცემს სიხშირეს მისი ამპლიტუდით.
ნაბიჯი 5: ფანჯრისა და ნიმუშის ზომის შემოწმება:
ფიგურაში, სინუსური ტალღის სიხშირე იზომება სხვადასხვა პარამეტრის გამოყენებით.
ნაბიჯი 6: მაგალითი:
მონაცემების ტრანსფორმაცია SciLab და arduino გამოყენებით არის შედარებული.
გირჩევთ:
აკუსტიკური გიტარა ელექტრო ბას გიტარაზე გარდაქმნა: 5 ნაბიჯი
აკუსტიკური გიტარა ელექტრო ბას გიტარაზე კონვერსია: მე მივიღე ჩემი პირველი კლასიკური გიტარა საჩუქრად 15 წლის დაბადების დღეს. წლების განმავლობაში, მე მქონდა რამოდენიმე დაბალბიუჯეტიანი ელექტრო გიტარა და ნახევრად აკუსტიკური. მაგრამ მე არასოდეს მიყიდია ბასი. ასე რომ, რამდენიმე კვირის წინ მე გადავწყვიტე გადამეცვალა ჩემი
მონიტორის სატელევიზიო გარდაქმნა: 5 ნაბიჯი
მონიტორი სატელევიზიო გარდაქმნაზე: გამარჯობა, ეს ინსტრუქცია ეხება კომპიუტერის LCD მონიტორის გარდაქმნას, რომელიც გამოუყენებელი/დაზიანებული დენის დაფის ან კონტროლერის გარშემოა. ეს ინსტრუქცია მოითხოვს კარგ სამუშაო LCD პანელს. სასურველია უფრო დიდი (> 20 " ეკრანი)
CAR-INO: ძველი RC მანქანის სრული გარდაქმნა Arduino და Bluetooth კონტროლით: 5 ნაბიჯი (სურათებით)
CAR-INO: ძველი RC მანქანის სრული გარდაქმნა Arduino და Bluetooth კონტროლით: შესავალი გამარჯობა, ჩემს პირველ ინსტრუქციებში მინდა გაგიზიაროთ ჩემი გამოცდილება 1990 წლიდან ძველი რკინის მანქანის ახალზე გადაკეთებასთან დაკავშირებით. ეს იყო 1990 წელი, როდესაც თოვლის ბაბუამ მაჩუქა ეს Ferrari F40, ყველაზე სწრაფი მანქანა მსოფლიოში! … იმ დროს
ყურსასმენის გარდაქმნა: 3 ნაბიჯი
ყურსასმენის გარდაქმნა: რამდენიმე ხნის წინ მე გავათავისუფლე ეს ყურსასმენები დელტა ფრენის წინა სავარძლებიდან. მინდოდა ყურის ყურსასმენი მქონოდა და ისინი მიტოვებული იყო, რადგან ეს იყო კომპლიმენტური ყურსასმენი და ყურსასმენის უცნაური ბუდე (2x 3.5 მმ
12V Makita NiCad ლითიუმ -იონური 1222 ბატარეის გარდაქმნა (ძალიან LiPo): 3 ნაბიჯი
12V Makita NiCad ლითიუმ -იონური 1222 ბატარეის გარდაქმნა (ძალიან LiPo): შევიძინე " ახალი? &Quot; 3 ამპერიანი ბატარეა ჩემი 12 ვოლტიანი Makita– სთვის. ეს თავიდანვე უაზრო იყო. დაბალი სიმძლავრე ალბათ თაროზე იჯდა 5 წელია და მისი გამოყენება არ უმჯობესდება. ჩანაცვლებას ჰქონდა ხრახნები ბატარეის გამოსაყოფად, ე