Деньги, как известно, имеют различные функции. Одной из них является непрестанное движение денег в обращении, обслуживание процесса обращения. Без выполнения деньгами этой функции торговля была бы невозможна.

Что такое БПФ и как вы можете реализовать его на Arduino?

  1. FFT
  2. Частота дискретизации
  3. Количество образцов
  4. Бункеры
  5. Arduino
  6. Установка библиотеки
  7. Наш пример и код
  8. Результаты
  9. Последняя глава

В этом сообщении мы сначала кратко обсудим преобразование Фурье и БПФ. Затем мы покажем вам один из способов реализации FFT на Arduino.

Быстрое преобразование Фурье (также известное как FFT ) - это алгоритм, который вычисляет дискретное преобразование Фурье (DFT). Мы не собираемся углубляться в относительно сложную математику вокруг преобразования Фурье, но один важный принцип здесь заключается в том, что любой сигнал (даже непериодический) может быть достаточно точно восстановлен путем добавления синусоидальных сигналов вместе с различными частотами и амплитудами. Чем больше синусоидальных сигналов мы складываем вместе, тем больше наш восстановленный сигнал будет выглядеть как исходный. Теоретически, с бесконечным количеством синусоидальных сигналов мы получаем сигнал, идентичный оригиналу.

Отказ от ответственности: отныне мы будем использовать только термин FFT (для простоты), хотя DFT или просто преобразование Фурье могут быть правильным термином в некоторых случаях.

Ниже приведен хороший GIF, который показывает, как шесть синусоидальных сигналов, сложенных вместе, могут напоминать прямоугольный сигнал.

Ниже приведен хороший GIF, который показывает, как шесть синусоидальных сигналов, сложенных вместе, могут напоминать прямоугольный сигнал

GIF источник неизвестен (giphy).

FFT

Алгоритм FFT использует этот принцип и, по существу, позволяет вам видеть, какие частоты присутствуют в любом аналоговом сигнале, а также видеть, какие из этих частот являются наиболее доминирующими . Это очень полезно в огромном количестве приложений. Графики, подобные синему с единственными шипами (f ^) в GIF выше, это то, что вы обычно получаете после запуска FFT:

  • Ось X - это частота - чем выше эта ось, тем выше частота.
  • Ось Y - это амплитуда - чем выше эта ось, тем больше амплитуда.

То, что вы обычно получаете на этом графике, это один или несколько шипов . Высокий пик означает, что именно эта частота является доминирующей в сигнале.

Если вы примените БПФ к синусоидальному сигналу без шума, вы получите только один пик . Это логично, так как вам нужен только один синусоидальный сигнал, чтобы воссоздать синусоидальный сигнал.

Однако, если вы примените БПФ к прямоугольному сигналу (как показано в GIF), вы получите экспоненциально убывающий график , на котором присутствует много частот с четным интервалом между ними. Самая низкая частота имеет наибольшую амплитуду (это основная частота прямоугольного сигнала), а самые высокие частоты имеют самые низкие амплитуды.

Частота дискретизации

Теорема Найквиста-Шеннона о сэмплировании говорит нам, что для возможности дискретизации сигнала частота дискретизации должна быть как минимум вдвое больше частоты сигнала, который мы пытаемся сэмплировать . Другими словами, БПФ сможет обнаруживать частоты только до половины частоты дискретизации .

На обычном Arduino частота дискретизации довольно ограничена. Операция АЦП (с использованием analogRead ()) занимает около 100 мкс, а другие операции относительно медленные из-за тактовой частоты 8 или 16 МГц.

Количество образцов

Алгоритм FFT работает с конечным числом выборок . Это число должно быть 2n, где n - целое число (в результате получается 32, 64, 128 и т. Д.). Чем больше это число, тем медленнее будет алгоритм. Однако, со многими образцами вы получите большее разрешение для результатов.

Бункеры

Термин bin связан с результатом FFT, где каждый элемент в массиве результатов является bin. Можно сказать, что это «разрешение» БПФ. Каждый бин представляет частотный интервал , как гистограмма. Количество бинов, которые вы получаете, составляет половину количества выборок, охватывающих диапазон частот от нуля до половины частоты дискретизации .

Arduino

Есть, конечно, несколько способов реализации FFT на Arduino. Вы можете реализовать это с нуля или использовать готовую библиотеку . В этом посте мы сделаем последнее.

Установка библиотеки

Первое, что вам нужно сделать, это установить библиотеку, что очень просто. Мы используем arduinoFFT от kosme , который не следует путать с этот библиотека.

Чтобы установить arduinoFFT, откройте окно «Управление библиотеками», введите fft в строке поиска и установите последнюю версию.

Чтобы установить arduinoFFT, откройте окно «Управление библиотеками», введите fft в строке поиска и установите последнюю версию

Теперь вы готовы начать кодирование!

Наш пример и код

Здесь мы будем использовать установку Arduino Uno и генератор сигналов . Единственные провода - два от генератора сигналов, где один идет к A0 на Arduino, а другой идет к GND . Наш сигнал имеет амплитуду и смещение, так что он почти охватывает весь диапазон 0-5 В , что хорошо соответствует свойствам нашего АЦП.

В отличие от примера кода, поставляемого с библиотекой, мы применяем БПФ к надлежащему аналоговому сигналу. Пример кода генерирует симулированный синусоидальный сигнал и применяет к нему БПФ.

Вот код:

#include "arduinoFFT.h" #define SAMPLES 128 // Должно быть степенью 2 #define SAMPLING_FREQUENCY 1000 // Гц, должно быть меньше 10000 из-за АЦП arduinoFFT FFT = arduinoFFT (); без знака int sampling_period_us; неподписанные длинные микросекунды; double vReal [ОБРАЗЦЫ]; двойной вимаг [ОБРАЗЦЫ]; void setup () {Serial.begin (115200); sampling_period_us = round (1000000 * (1.0 / SAMPLING_FREQUENCY)); } void loop () {/ * SAMPLING * / for (int i = 0; i <SAMPLES; i ++) {microseconds = micros (); // переполняется примерно через 70 минут! vReal [i] = analogRead (0); vImag [i] = 0; while (micros () <(микросекунды + sampling_period_us)) {}} / * FFT * / FFT.Windowing (vReal, SAMPLES, FFT_WIN_TYP_HAMMING, FFT_FORWARD); FFT.Compute (vReal, vImag, SAMPLES, FFT_FORWARD); FFT.ComplexToMagnitude (vReal, vImag, SAMPLES); двойной пик = FFT.MajorPeak (vReal, SAMPLES, SAMPLING_FREQUENCY); / * РЕЗУЛЬТАТЫ ПЕЧАТИ * / //Serial.println(peak); // Распечатать, какая частота является наиболее доминирующей. for (int i = 0; i <(SAMPLES / 2); i ++) {/ * Просмотреть все эти три строки в последовательном терминале, чтобы увидеть, какие частоты имеют какие амплитуды * / //Serial.print((i * 1.0 * SAMPLING_FREQUENCY) / ОБРАЗЦЫ, 1); //Serial.print (""); Serial.println (vReal [i], 1); // Просмотр только этой строки в последовательном плоттере для визуализации бинов} // delay (1000); // Повторяем процесс каждую секунду ИЛИ: while (1); // Выполнить код один раз}

Этот код имеет три «режима печати»:

  • Линия 41 может выводить на терминал, какая частота является наиболее доминирующей.
  • Строки 47-49 могут выводить на терминал значения каждого бина.
  • Строка 49 напечатает, может распечатать на плоттере визуализацию всех бункеров.

Последние две строки (52 и 53) являются взаимоисключающими. Либо вы запускаете БПФ один раз, либо запускаете его повторно с определенным интервалом.

Если мы посмотрим на верхнюю часть кода, то увидим, что количество сэмплов равно 128. У Arduino Uno недостаточно памяти для поддержки 256 сэмплов.

Вы также можете распечатать сэмплированный сигнал в цикле сэмплирования. Помните, что функция Serial.println () довольно медленная и может повлиять на вашу частоту дискретизации.

Результаты

Следующие графики извлекаются из последовательного плоттера Arduino после запуска БПФ на нескольких различных сигналах с частотой дискретизации 128 Гц и 128 выборками.

Числа на оси X на графиках ниже - это не частота, а номер элемента (он же bin). На графиках ниже элемент № 64 - это верхняя ячейка (~ 500 Гц). Поскольку наш входной сигнал имеет смещение по постоянному току, мы получаем нулевой пик в результатах.

Результаты БПФ синусоидального сигнала ~ 75 Гц. Благодаря 128 выборкам мы имеем 64 ячейки, которые распределены по частоте 0-500 Гц из-за частоты выборки 1000 Гц. L

L

Результаты БПФ синусоидального сигнала ~ 400 Гц.

Результаты БПФ синусоидального сигнала ~ 400 Гц

Результаты БПФ прямоугольного сигнала ~ 75 Гц.

Результаты БПФ прямоугольного сигнала ~ 75 Гц

Как мы видим по красной линии, мы имеем экспоненциально убывающий тренд, который вы получаете для прямоугольного сигнала.

Последняя глава

FFT - очень удобный инструмент для обработки сигналов во многих областях применения. Библиотека arduinoFFT сделает всю тяжелую работу за вас. Используя Arduino, вы довольно ограничены в плане памяти и частоты дискретизации. Насколько мы понимаем, также часто используется фильтр нижних частот в сочетании с алгоритмом FFT, чего мы не сделали в нашем примере.

Мы рекомендуем использовать генератор сигналов при начале игры с алгоритмом FFT. Таким образом, вы можете легко изменить частоту, формы сигнала, смещение и амплитуду вашего сигнала.

Обновлено 12.02.18 - Пик на нуле объяснил (спасибо, Мэтт N)

Похожие

Как выбрать шторы?
Окончательный вид помещения во многом зависит от дополнений. Одной из них являются шторы, которые в зависимости от используемого материала, длины и цвета приобретают разный характер. Как выбрать шторы, чтобы показать их красоту? Покупка соответствующих штор, относящихся как к стилю квартиры, так и к типу комнаты, вовсе не является очевидной проблемой. Следует учитывать несколько элементов, поскольку их правильная адаптация влияет на
Белье для похудения XXL - как правильно его выбрать?
Похудение, корректирующее и моделирующее белье - встречается под многими именами, но его назначение и функции остаются прежними. Невидимое нижнее белье под одеждой эффективно скрывает недостатки фигуры и подчеркивает ее достоинства, благодаря чему она становится союзницей каждой женщины с фигурой большого размера. Насколько хорошо для похудения нижнее белье, чтобы получить лучшие результаты?
Как носить каблуки в носках
Это определенно одна из «более сложных» тенденций. Дизайнеры, однако, обращают нас к нему, на несколько сезонов. Вы испытываете искушение, а весной 2018 года каблуки или сандалии вы будете носить с носками? Носки носили для сандалий ? Они связаны с плохо одетыми мужчинами во время праздников. Носки в дуэте на высоких каблуках? Они приносят ассоциации со временами детства, когда мы, маленькие девочки, старались (слишком много)
Стильные вязаные шапки - что выбирают знаменитости?
Головной убор - один из важнейших элементов хорошего стиля. Удачно подобранные могут придать всему свежему характеру и оживить однообразную комбинацию с первого взгляда. Звездам этого сезона понравились стильные вязаные шапки . Кто из знаменитостей выбрал самую красивую модель и тем самым подготовил самое интересное
Что такое карта поездок клиентов и почему это важно?
... ий клиентов? Карта путешествий клиентов - это наглядное представление каждого опыта, который ваши клиенты испытывают с вами. Это помогает рассказать историю опыта клиента с вашим брендом от первоначального участия и, возможно, до долгосрочных отношений. На первый взгляд, путь клиента довольно прост. Вы предлагаете что-то, они покупают это. Но как только вы попадаете в детали,
Как сделать хороший компьютер micro-ATX или mini-ITX?
Мини-ПК - это не просто «меньшие» ПК - это компьютеры с большими возможностями. Как сделать соответствующую конфигурацию и на что смотреть при покупке? Об этом в первой части нового цикла mobiManiaKa! Видео: что нужно соблюдать осторожность при складывании мини-ПК Больше? Взгляни на наши канал о компьютерах micro-ATX и mini-ITX , Что такое мини-ПК? Мини-ПК
Все, что нужно знать о разблокировке айфонов
Реклама Если вы купили свой iPhone напрямую от Apple, у вас есть разблокированный телефон, который подходит для использования с любым оператором Никогда не покупайте телефон у вашего оператора! Купить разблокированные телефоны и сэкономить сотни
TEF - Оценочный тест по английскому языку французский
TEF - Test d'évaluation de français - Оценочный тест по английскому языку Французский готовит
Архивирование и резервное копирование фотографий - посмотрите, как это сделать правильно
Полная потеря фотографий - черная мечта каждого фотографа. Однако есть несколько простых способов, которые эффективно защитят нас от этого. Знаете ли вы, как правильно архивировать фотографии и создавать резервные копии файлов? Необратимая потеря данных - самая большая угроза для фотографа - будь мы любители или профессионалы. Важные фотографии, будь то праздники, свадьбы или фотосессии, должны быть надлежащим образом защищены. К сожалению, все же менее или даже более продвинутые фотографы,
Как выбрать треккинговые штаны
... инг упоминается как форма туризма, которая осуществляется в сложных условиях местности или в требовательном климате. Его разновидностей много. Это может быть многодневный поход, который должен быть тщательно спланирован или преодолен более короткий маршрут, на котором встречаются препятствия на местности. Независимо от того, какой вид похода вы делаете, вы знаете, что для этого вида деятельности необходима соответствующая одежда. В этой статье я расскажу вам, на
Каковы преимущества солнечной энергии?
« Использование солнечной энергии близко к решению ». Это было заголовком в « Нью-Йорк Таймс» 4 апреля 1931 года. Это оказалось предчувствием, поскольку спустя 80 лет электричество подается миллионам людей в мире из возобновляемых источников энергии, таких как солнечная энергия . В настоящее время человечество объявило о своей готовности ускорить переход к низкоуглеродной экономике, осознавая конечную природу ископаемого топлива и его наносящее ущерб

Комментарии

Что такое LG OLED55B7V?
Что такое LG OLED55B7V? LG OLED55B7V - совместная самая доступная модель из линейки телевизоров LG OLED 2017 года. Серия C7 по сходной цене была эксклюзивной для магазинов Currys и больше не доступна для покупки новых. В отличие от линейки OLED LG 2018 года, где в серии B8 используется менее мощный процессор, OLED55B7V использует тот же графический процессор, что и более дорогие серии LG E 2017, E и G OLED. Это сделало его выгодным, даже когда он впервые вышел за £
Но что вы делаете, когда вам нужно грести туда-сюда в магазине, чтобы обойти полки, или вы не можете получить бордюры или общественный транспорт на громоздком транспортном средстве?
Но что вы делаете, когда вам нужно грести туда-сюда в магазине, чтобы обойти полки, или вы не можете получить бордюры или общественный транспорт на громоздком транспортном средстве? Тогда обычно стоит купить багги. Это практичные компаньоны для самых маленьких, которые бьют коляску с легкостью и простотой в обращении. Вот почему в сравнении с ошибками 2019 года мы рассмотрели отдельные модели, чтобы найти лучшую для вас. Это устраняет раздражающий вопрос: вы бы предпочли купить Quinny
Вы можете задать вопрос «Сколько раз вы ели картофель в прошлом месяце?
Вы можете задать вопрос «Сколько раз вы ели картофель в прошлом месяце?» и ожидать хорошего ответа. Вы даже можете спросить их о чем-то более абстрактном, например: «Как вы себя чувствуете, когда посещаете стоматолога?» или «Где ты хочешь быть профессиональным в течение пяти лет и почему?». Но если вы спросите их: «Хотите ли вы приложение, которое делает [xyz]?» Или «Что бы вы хотели в приложении, которое делает [xyz]?» тогда вы, вероятно, получите желтые данные Walkman и сорвет дискуссию.
Вы знаете, что такое корзина Моисея?
Вы знаете, что такое корзина Моисея? Какой стульчик купить? 4,5 (89,47%) 38 голосов
Прочитайте больше , Но что если вы купили его из вторых рук Покупка или продажа подержанного iPhone или iPad под управлением iOS 7?
Если кресло не оборудовано ремнями безопасности, убедитесь, что Вы можете купить это для него? рамка Каркас кресла для кормления не менее важен, чем сиденье - он во многом зависит от устойчивости и веса модели. Материал - хорошая рама изготовлена ​​из легкого и прочного материала. Это существует? Наиболее практичными являются рамы из алюминия. Пластиковые конструкции менее постоянны, но в последнее время популярны деревянные - они много весят.
Так что же вы можете использовать для действительно огромных размеров, например для сервера NAS, стоимостью почти 13 000 устройств протестированного типа QNAP TVS-882BR?
Так что же вы можете использовать для действительно огромных размеров, например для сервера NAS, стоимостью почти 13 000 устройств протестированного типа QNAP TVS-882BR? Поиск ответа на этот вопрос следует начинать с рассмотрения его технической спецификации. Техническая спецификация QNAP TVS-882BR: Процессор: Intel Core i5-7500 (4 ядра, 3,4 ГГц, 3,8 ГГц в турбо-режиме) Оперативная память: 16 ГБ DDR4 (макс. 64 ГБ) Жесткие диски: 8x HDD SATA II / III
Что означают такие термины, как хронограф, хронометр и логарифмический слайдер?
Что означают такие термины, как хронограф, хронометр и логарифмический слайдер? Мы объясним все в этой статье. типы Офисные часы Audemars Piquet Selfwinding
А вы, что вы думаете об этом виде продукта?
А вы, что вы думаете об этом виде продукта? 223 евро в магазине! До скорой встречи на Sitegeek. Арно Годе
И что вы будете делать, когда вам нужно много кондиционеров внутри комнаты, и вы не хотите изуродовать фасад здания, глядя на дюжину или около того наружных блоков?
И что вы будете делать, когда вам нужно много кондиционеров внутри комнаты, и вы не хотите изуродовать фасад здания, глядя на дюжину или около того наружных блоков? В этой ситуации они приходят на помощь ... КОНДИЦИОНИРОВАНИЕ ВОЗДУХА В их случае можно подключить несколько внутренних кондиционеров к одному наружному блоку. Они могут варьироваться от двух до дюжины (или даже нескольких десятков в обширных коммерческих системах), однако, вместе с количеством внутренних
Хотите знать, что купить любимому человеку по случаю его дня рождения или именины?
Хотите знать, что купить любимому человеку по случаю его дня рождения или именины? У многих людей есть проблемы с этим. Следует подчеркнуть, что ничто не мешает делать оригинальные и забавные подарки. Нужно учитывать тот факт, что возможностей действительно много. Магазин: Artdeco.sklep.pl
Знаете ли вы, как правильно архивировать фотографии и создавать резервные копии файлов?
Знаете ли вы, как правильно архивировать фотографии и создавать резервные копии файлов? Необратимая потеря данных - самая большая угроза для фотографа - будь мы любители или профессионалы. Важные фотографии, будь то праздники, свадьбы или фотосессии, должны быть надлежащим образом защищены. К сожалению, все же менее или даже более продвинутые фотографы, которые слышат о резервном копировании фотографий, считают, что их проблема не касается или что она в основном сводится к импорту - предпочтительно

Как выбрать шторы, чтобы показать их красоту?
Насколько хорошо для похудения нижнее белье, чтобы получить лучшие результаты?
Вы испытываете искушение, а весной 2018 года каблуки или сандалии вы будете носить с носками?
Носки носили для сандалий ?
Носки в дуэте на высоких каблуках?
Ий клиентов?
Как сделать соответствующую конфигурацию и на что смотреть при покупке?
Видео: что нужно соблюдать осторожность при складывании мини-ПК Больше?
Взгляни на наши канал о компьютерах micro-ATX и mini-ITX , Что такое мини-ПК?
Знаете ли вы, как правильно архивировать фотографии и создавать резервные копии файлов?