Съдържание:
- Стъпка 1: Как работи (концепция):
- Стъпка 2: Как работи (в код):
- Стъпка 3: Използване на код за честотен анализ:
- Стъпка 4: Изход:
- Стъпка 5: Проверка на различни прозорци и размери на пробите:
- Стъпка 6: Пример:
Видео: Arduino: Честотна трансформация (DFT): 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
тази програма е за изчисляване на честотна трансформация на arduino с контрол на тестото над параметри. тя се решава с помощта на оскверняване на четирикратна трансформация.
това не е FFT
FFT е алгоритъм, използван за решаване на DFT с по -малко време.
Код за FFT можете да намерите тук.
Стъпка 1: Как работи (концепция):
Дадената програма за преобразуване на честотата осигурява голям контрол върху необходимия за вас изход. тази програма оценява честотния диапазон, даден от потребителя при даден вход за набор от данни.
- На фигурата е даден набор от данни от две честоти, наречени f2 и f5, които трябва да бъдат тествани. f2 и f5 са произволни имена за две честоти, по -високо число за относително по -висока честота. тук по -малка честота f2 има по -висока амплитуда и f5 има по -малка амплитуда.
- Математически може да се покаже, че -сумирането на умножение на два хармонични набора от данни с различна честота се стреми към нула (по -голям брой данни може да доведе до резултат на тесто). В нашия случай Ако тези две честоти на умножение имат една и съща (или много близка) честота, тази сума на умножението е ненулево число, където амплитудата зависи от амплитудата на данните.
- за откриване на специфична честота даден набор от данни може да се умножи по различни честоти на изпитване и резултатът може да даде компонент на тази честота в данните.
Стъпка 2: Как работи (в код):
за тези данни (f2+f5) едно по едно f1 до f6 се умножава и стойността на сумата се записва. тази крайна сума представлява съдържанието на тази честота. почивката (несъответствието) на честотата в идеалния случай трябва да бъде нула, но в реалния случай това не е възможно. за да се направи нулева сума е необходимо да има безкраен размер на набори от данни.
- както може да бъде показано на фигура f1 до f6 пробна честота и е показано нейното умножение с набор от данни във всяка точка.
- на втора фигура е нанесено сумиране на това умножение при всяка честота. два пика при 1 и 5 могат да бъдат идентифицирани.
така че използвайки същия подход за произволни данни, можем да оценим за толкова много честоти и да анализираме честотното съдържание на данните.
Стъпка 3: Използване на код за честотен анализ:
за пример нека използваме този код за намиране на DFT на квадратна вълна.
първо поставете прикачен код (функция dft) след цикъл, както е показано на изображението
8 УСЛОВИЯ, КОИТО ТРЯБВА ДА БЪДАТ ПОСОЧЕНИ
- масив от който трябва да се вземе dft
- размер на масив
- интервал от време между 2 четения в масива в милиСЕКУНДИ
- по -ниска стойност на честотния диапазон в Hz
- горна стойност на честотния диапазон в Hz
- размер на стъпките за честотния диапазон
- повторение на сигнал (минимум 1) по -висока точност на тестото, но увеличено време за разтвор
-
прозоречна функция:
0 за без прозорец1 за прозорец с плосък плот 2 за прозорец Hann 3 за прозорец с чук
(ако нямате представа за избор на прозорец, запазете по подразбиране 3)
пример: dft (a, 8, 0.5, 0, 30, 0.5, 10, 3); тук a е масив от елемент 8, който трябва да се провери за 0 Hz до 30 Hz с 0,5 стъпка (0, 0,5, 1, 1,5,…, 29, 29,5, 30) 10 прозорец за повторение и забиване
тук е възможно да се използва масив с по -голям размер, доколкото arduino може да се справи.
Стъпка 4: Изход:
ако коментирате
Serial.print (f); Serial.print ("\ t");
от кода сериен плотер ще даде характер на честотния спектър и ако не сериен монитор ще даде честота с неговата амплитуда.
Стъпка 5: Проверка на различни прозорци и размери на пробите:
на фигурата, честотата на синусоида се измерва, като се използват различни настройки.
Стъпка 6: Пример:
на фигура се сравнява трансформацията на данни с помощта на SciLab и arduino.
Препоръчано:
Система за предупреждение за паркиране на автомобил Arduino - Стъпки по стъпка: 4 стъпки
Система за предупреждение за паркиране на автомобил Arduino | Стъпки по стъпка: В този проект ще проектирам обикновена верига за сензори за паркиране на автомобил Arduino, използвайки Arduino UNO и HC-SR04 ултразвуков сензор. Тази базирана на Arduino система за предупреждение за автомобил за заден ход може да се използва за автономна навигация, измерване на роботи и други обхвати
Arduino Halloween Edition - Изскачащ екран за зомбита (стъпки със снимки): 6 стъпки
Arduino Halloween Edition - Изскачащ екран за зомбита (стъпки със снимки): Искате ли да изплашите приятелите си и да издадете крещящ шум в Хелоуин? Или просто искате да направите добра шега? Този изскачащ екран Zombies може да направи това! В тази инструкция ще ви науча как лесно да правите изскачащи зомбита с помощта на Arduino. HC-SR0
EasyFFT: Бърза трансформация на Фурие (FFT) за Arduino: 6 стъпки
EasyFFT: Бързо преобразуване на Фурие (FFT) за Arduino: Измерването на честотата от уловения сигнал може да бъде трудна задача, особено на Arduino, тъй като има по -ниска изчислителна мощност. Има налични методи за улавяне на пресичане на нула, където честотата се улавя чрез проверка колко пъти
Arduino Първи стъпки с хардуер и софтуер и уроци по Arduino: 11 стъпки
Arduino Първи стъпки с хардуер и софтуер и уроци по Arduino: В днешно време производителите, разработчиците предпочитат Arduino за бързо развитие на прототипирането на проекти. Arduino е електронна платформа с отворен код, базирана на лесен за използване хардуер и софтуер. Arduino има много добра потребителска общност. Arduino борда d
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE - Инсталиране на платки Esp в Arduino Ide и програмиране на Esp: 4 стъпки
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE | Инсталиране на Esp платки в Arduino Ide и програмиране на Esp: В тази инструкция ще научим как да инсталираме esp8266 дъски в Arduino IDE и как да програмираме esp-01 и да качваме код в нея. Тъй като esp дъските са толкова популярни, затова се замислих да поправя инструкции за това и повечето хора се сблъскват с проблем