Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Спектральный анализ сигналов

Программирование *Алгоритмы *Математика *
Из песочницы
image

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

Под катом краткий обзор метода выделения гармоник из произвольного сигнала с помощью цифрового гетеродинирования, и немного особой, Фурье-магии.
Читать дальше →
Всего голосов 56: ↑52 и ↓4 +48
Просмотры 232K
Комментарии 22

Спектральный анализ сигналов нелинейных звеньев АСУ на Python

Python *

Цель работы


В моей статье [1] рассмотрен метод гармонической линеаризации для исследования систем управления, содержащих нелинейные элементы.

Этот метод может быть использован в том случае, когда линейная часть системы является низкочастотным фильтром, т.е. отфильтровывает все возникающие на выходе нелинейного элемента гармонические составляющие, кроме первой гармоники [2]. Поэтому логическим продолжением моей первой статьи будет гармонический анализ рассмотренных нелинейных элементов. Кроме этого нужно рассмотреть аппаратную альтернативу методу гармонической линеаризации.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 13K
Комментарии 1

“Восстание МашинLearning” или совмещаем хобби по Data Science и анализу спектров лампочек

Python *Data Mining *Машинное обучение *
Tutorial
В завершающей статье цикла, посвящённого обучению Data Science с нуля, я делился планами совместить мое старое и новое хобби и разместить результат на Хабре. Поскольку прошлые статьи нашли живой отклик у читателей, я решил не откладывать это надолго.

Итак, на протяжении уже нескольких лет я в свободное время копошусь в вопросах, связанных с освещением и больше всего мне интересны спектры разных источников света, как «пращуры» производных от них характеристик. Но не так давно у меня совершенно случайно появилось еще одно хобби — это машинное обучение и анализ данных, в этом вопросе я абсолютный новичок, и чтобы было веселей делюсь периодически с вами своим обретенным опытом и набитыми «шишками»

Данная статья написана в стиле от новичка-новичкам, поэтому опытные читатели вряд ли, почерпнут для себя, что-то новое и если есть желание решить задачу классификации источников света по спектрам, то им есть смысл сразу взять данные из GitHub

А для тех, у кого нет за плечами громадного опыта, я предложу продолжить наше совместное обучение и в этот раз попробовать взяться за составление задачки машинного обучения, что называется «под себя».

Мы пройдем с вами путь от попытки понять где можно применить даже небольшие знания по ML (которые можно получить из базовых книг и курсов), до решения непосредственно самой задачи классификации и мыслей о том «что теперь со всем этим делать?!»

Милости прошу всех под кат.


Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 9K
Комментарии 2

Интернет вещей по-русски. Спектральные параметры радио-сигнала

Беспроводные технологии *Разработка систем связи *Разработка для интернета вещей *Производство и разработка электроники *Интернет вещей
image

Полгода назад один заказчик заинтересовал меня передачей данных по радио для интернета вещей в нашей отечественной версии — NB-FI. Очевидно, что идеологически это система низкоскоростной передачи данных (Ultra-Narrow Band, UNB) SigFox. В деталях есть отличия, которые несомненно можно назвать улучшениями. Например, в NB-FI введено помехоустойчивое кодирование, которое позволяет значительно повысить вероятность доставки сообщения. Более узкая полоса частот также положительно сказывается на сложности оборудования базовой станции. Все это подробно описано в черновике стандарта, который готовится к принятию в РФ в этом, 2019 году. Но в проекте стандарта есть один, как мне кажется существенный, пробел.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 13K
Комментарии 136

Вейвлет – анализ. Основы

Python *Математика *Разработка под Windows *Научно-популярное Физика
Tutorial

Введение


Английское слово wavelet (от французского «ondelette») дословно переводится как «короткая (маленькая) волна». В различных переводах зарубежных статей на русский язык встречаются еще термины: «всплеск», «всплесковая функция», «маловолновая функция», «волночка» и др.

Вейвлет-преобразование (ВП) широко используется для анализа сигналов. Помимо этого, оно находит большое применение в области сжатия данных. ВП одномерного сигнала – это его представление ввиде обобщенного ряда или интеграла Фурье по системе базисных функций.

$\psi _{ab}(t)=\frac{1}{\sqrt{a}}\psi \left ( \frac{t-b}{a} \right ) $, (1)

сконструированных из материнского (исходного) вейвлета $\psi(t)$, обладающего определенными свойствами за счет операций сдвига во времени ( b ) и изменения временного масштаба (a).

Множитель $1/\sqrt{a}$ обеспечивает независимость нормы функций (1) от масштабирующего числа (a). Для заданных значений параметров a и b функция $\psi_{ab}(t)$ и есть вейвлет, порождаемый материнским вейвлетом $\psi(t)$.

В качестве примера приведём вейвлет «мексиканская шляпа» во временной и частотной областях:

Листинг вейвлета для временной области
from numpy import*
import matplotlib.pyplot as plt
x= arange(-4,30,0.01)
def w(a,b,t):    
    f =(1/a**0.5)*exp(-0.5*((t-b)/a)**2)* (((t-b)/a)**2-1)
    return f
plt.title("Вейвлет «Мексиканская шляпа»:\n$1/\sqrt{a}*exp(-0,5*t^{2}/a^{2})*(t^{2}-1)$")
y=[w(1,12,t) for t in x]
plt.plot(x,y,label="$\psi(t)$ a=1,b=12") 
y=[w(2,12,t) for t in x]
plt.plot(x,y,label="$\psi_{ab}(t)$ a=2 b=12")   
y=[w(4,12,t) for t in x]
plt.plot(x,y,label="$\psi_{ab}(t)$ a=4 b=12")   
plt.legend(loc='best')
plt.grid(True)
plt.show()



Читать дальше →
Всего голосов 33: ↑30 и ↓3 +27
Просмотры 33K
Комментарии 15

Вейвлет — анализ.Часть 1

Python *Математика *Разработка под Windows *Научно-популярное Физика
Tutorial

Введение


Рассмотрим дискретное вейвлет – преобразования (DWT), реализованное в библиотеке PyWavelets PyWavelets 1.0.3. PyWavelets — это бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT.

При обработке данных на компьютере может выполняться дискретизированная версия непрерывного вейвлет-преобразования, основы которого описаны в моей предыдущей статье. Однако, задание дискретных значений параметров (a,b) вейвлетов с произвольным шагом Δa и Δb требует большого числа вычислений.

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

Дискретное вейвлет – преобразование (DWT), реализованное в библиотеке PyWavelets, обеспечивает достаточно информации как для анализа сигнала, так и для его синтеза, являясь вместе с тем экономным по числу операций и по требуемой памяти.

Когда нужно использовать вейвлет-преобразование вместо преобразования Фурье


Преобразования Фурье будет работать очень хорошо, когда частотный спектр стационарный. При этом частоты, присутствующие в сигнале, не зависят от времени, и сигнал содержит частоты xHz, которые присутствует в любом месте сигнала. Чем нестационарнее сигнал, тем хуже будут результаты. Это проблема, так как большинство сигналов, которые мы видим в реальной жизни, нестационарны по своей природе.
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Просмотры 21K
Комментарии 19

Вейвлет – анализ. Часть 2

Python *Математика *Разработка под Windows *Научно-популярное Физика
Tutorial

Введение


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

Целью настоящей публикации является описание методики непрерывного вейвлет- преобразования временных рядов средствами библиотеки PyWavelets..

Немного истории

Инженер-геофизик Д. Морле в конце 70-х годов XX в. столкнулся с проблемой анализа сигналов от сейсмодатчиков, которые содержали высокочастотную компоненту (сейсмическая активность) в течение короткого промежутка времени и низкочастотные составляющие (спокойное состояние земной коры) – в течение длительного периода. Оконное преобразование Фурье позволяет анализировать либо высокочастотную составляющую, либо низкочастотную составляющую, но не обе составляющие сразу.

Поэтому, был предложен метод анализа, в котором ширина оконной функции для низких частот увеличивалась, а для высоких частот – уменьшалась. Новое оконное преобразование получалось в результате растяжения (сжатия) и смещения по времени одной порождающей (так называемой скейлинг-функции – scaling function, scalet) функции. Эта порождающая функция была названа вейвлетом Д. Морле.

Вейвлет Д. Морле
 from pylab import*
import scaleogram as scg
axes = scg.plot_wav('cmor1-1.5', figsize=(14,3))
show()



Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 12K
Комментарии 0

Увидеть почти невидимое, еще и в цвете: методика визуализации объектов через рассеиватель

Блог компании ua-hosting.company Визуализация данных Читальный зал Научно-популярное Физика


Одной из самых знаменитых способностей Супермена является суперзрение, которое позволяло ему рассматривать атомы, видеть в темноте и на огромное расстояние, а еще видеть сквозь предметы. Эту способность крайне редко демонстрируют на экранах, но она есть. В нашей же реальности видеть сквозь практически полностью непрозрачные объекты также можно, применив некоторые научные трюки. Однако, полученные снимки всегда были черно-белые, до недавнего времени. Сегодня мы познакомимся с исследованием, в котором ученые из университета Дьюка (США) смогли сделать цветной снимок объектов, спрятанных за непрозрачной стеной, применив однократное световое воздействие. Что это за супер-технология, как она работает и в каких областях может применяться? Об этом нам расскажет доклад исследовательской группы. Поехали.
Всего голосов 23: ↑21 и ↓2 +19
Просмотры 6.5K
Комментарии 4

Испытания Posit по-взрослому. Спектральный анализ

Высокая производительность *Программирование *Алгоритмы *Математика *
Обсуждения достоинств и недостатков нового революционного формата с плавающей запятой Posit продолжаются. Следующим аргументом в дискуссии стало утверждение, что на самом деле задача Posit — это компактно хранить данные, а вовсе не использоваться в вычислениях; при этом сами вычисления делаются в арифметике Quire с бо́льшей точностью, которая также входит в стандарт Posit.

Ну, хранить так хранить. Что вообще значит — «хранить» числа после вычислений, выполненных с бо́льшей точностью, чем допускает формат хранения? Это значит — округлять, а округлять значит вносить погрешности. Погрешности можно оценивать разными способами — и чтобы не повторяться, сегодня мы используем спектральный анализ с помощью преобразования Фурье.
Читать дальше →
Всего голосов 29: ↑26 и ↓3 +23
Просмотры 5K
Комментарии 24

Спектральный анализ пламени костра. Что делает огонь желтым – наночастицы углерода или соли натрия?

Научно-популярное Физика DIY или Сделай сам Мозг Химия
Из песочницы

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

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

И все же - почему костер желтый? Я решил провести эксперименты и найти правильный ответ. Мне нужно было измерить спектр видимого излучения пламени костра и объяснить результаты. Если спектр будет сплошным – верна первая версия, если мы будем наблюдать двойную линию натрия – вторая.

Читать дальше
Всего голосов 192: ↑190 и ↓2 +188
Просмотры 29K
Комментарии 101

Самодельный спектрометр с высоким разрешением

Научно-популярное Нанотехнологии Физика DIY или Сделай сам Химия
Tutorial

Хорошее разрешение достижимо

В интернете много публикаций о том, как используя DVD-R диск и смартфон можно собрать спектрометр, однако характеристики таких устройств не позволяют проводить точные измерения. Мне же удалось сделать прибор с разрешением 0,3 нм.

Читать дальше
Всего голосов 139: ↑139 и ↓0 +139
Просмотры 23K
Комментарии 73

Спектральный анализ временных рядов с помощью python

Python *Программирование *Машинное обучение *

С развитием информационных технологий профессия DS стала чрезвычайно популярна. Сейчас почти каждый может имея ПК и установленный на нем стандартный пакет Python, анализировать данные и строить на их основе прогнозы.

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

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

Предположим, перед аналитиком стоит задача исследовать информацию о количестве людей на сайте в определенное время в определенный день, имея выборку по посещению сайта за несколько месяцев каждые 30 минут. И сделать прогноз посещения на будущий период.

Данные по посещениям представлены на графике ниже

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 3.9K
Комментарии 11