Как стать автором
Обновить

MATLAB и быстрое преобразование Фурье

Время прочтения 7 мин
Просмотры 211K
Алгоритмы *Matlab *
Из песочницы
По работе неоднократно сталкивался с необходимостью быстро определить наличие в сигнале гармонических составляющих. Часто для примерной оценки достаточно воспользоваться алгоритмом быстрого преобразования Фурье. Тем более, что его реализации есть практически во всех математических пакетах и библиотеках, да и собственноручно реализовать не составит особого труда. Между тем, опыт показывает, что, при всей своей простоте, метод начинает вызывать некоторые вопросы, когда возникает необходимость не просто посмотреть наличие дискреток в сигнале, но и выяснить их абсолютные значения, т.е. нормализовать полученный результат.

В этой статье я постараюсь объяснить, что же все-таки выдает в качестве результата fft (Fast Fourier transform) на примере MATLAB (и в качестве бонуса проведу небольшой ликбез по этому весьма полезному, на мой взгляд, языку).
Читать дальше →
Всего голосов 41: ↑33 и ↓8 +25
Комментарии 52

Быстрое умножение многочленов при помощи преобразования Фурье — это просто

Время прочтения 9 мин
Просмотры 74K
Алгоритмы *
Добрый вечер.
Этот пост посвящён быстрому преобразованию Фурье. Будут рассмотрены прямое и обратное преобразования (в комплексных числах). В следующей части я планирую рассмотреть их применения в некоторых задачах олимпиадного программирования (в частности, одна задача про «похожесть» строк), а также рассказать про реализацию преобразования в целых числах.
БПФ — это алгоритм, вычисляющий значения многочлена степени n=2k в некоторых n точках за время O(n⋅logn) («наивный» метод выполняет ту же задачу за время O(n2)). За то же время можно выполнить и обратное преобразование. Так как складывать, вычитать и умножать массивы чисел гораздо легче, чем многочлены (особенно умножать), БПФ часто применяется для ускорения вычислений с многочленами и длинными числами.
Читать дальше →
Всего голосов 112: ↑105 и ↓7 +98
Комментарии 38

26 терабит/с по оптоволокну одним лазером

Время прочтения 2 мин
Просмотры 20K
Сетевые технологии *
В журнале Nature Photonics опубликовано описание новой технология передачи данных по оптоволокну на скорости до 26 Тбит/с вместо нынешних максимальных 1,6 Тбит/с.

Группа немецких инженеров под руководством профессора Вольфганга Фройде (Wolfgang Freude) из университета Карлсруэ применила в оптоволокне технику OFDM (ортогональное частотное разделение каналов с мультиплексированием), которая широко используется в беспроводной связи (802.11 и LTE), цифровом телевидении (DVB-T) и ADSL.

В оптоволокне использовать OFDM сложнее, ведь тут нужно разделить на поднесущие световой поток. Раньше единственным способом сделать это было использование отдельного лазера для каждой поднесущей.
Читать дальше →
Всего голосов 52: ↑45 и ↓7 +38
Комментарии 50

Идентификация быстрых термических процессов

Время прочтения 5 мин
Просмотры 20K
Open source *Математика *
Недавно мне удалось завершить часть работы по очень интересному проекту в ФТИ им. Иоффе и получить достаточное количество экспериментальных данных, для того чтобы поделиться с Вами.
Физики из СПб ФТИ им. Иоффе занимаются выращиванием нитрид галлиевых полупроводниковых структур, которые обладают неплохими показателями скорости носителей заряда при переходе и большим коэффициентом теплопроводности. Процесс роста такой структуры проходит при температуре 1000 С (1273 К) и атмосферном давлении. Все происходит в специальной камере, находящейся в герметичной зоне. При выращивании структуры весь объем реактора и герметичной зоны заполняется азотом. В процессе роста структуры подложкодержатель вращается с частотой один раз в секунду. Такие операции относятся к быстрым термическим процессам, скорость изменения температуры в которых варьируется от нескольких единиц до сотен градусов в секунду.

Моей задачей было управление температурой графитового подложкодержателя при помощи индуктивного нагрева.
Технические характеристики установки выглядят следующим образом. Для измерения температуры используется лазерный пирометр, снимающий данные в центре графита. Частота съема информации 10 раз в секунду, шаг измерения 1 градус. Значение мощности передаваемой графиту полагается прямо пропорциональным мощности на индукторе. У генератора управляющего индуктором имеется цифровой выход, по которому передаются значения напряжения, тока и мощности.
Результаты экспериментального отжига
Всего голосов 60: ↑56 и ↓4 +52
Комментарии 20

Курс лекций «Основы цифровой обработки сигналов»

Время прочтения 12 мин
Просмотры 141K
Open source *Python *Алгоритмы *Математика *Matlab *
Всем привет!

Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе познания этой области. В связи с этим я решил написать краткий интерактивный курс по цифровой обработке сигналов и выложить его в открытый доступ.

Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.


Читать дальше →
Всего голосов 100: ↑100 и ↓0 +100
Комментарии 96

Опыт применения теоремы о свертке с использованием scipy.fft

Время прочтения 4 мин
Просмотры 3.5K
Python *Математика *Физика
Туториал

Небольшая заметка о быстром вычислении свёртки одномерных и двумерных функций на основе быстрого преобразования Фурье с использованием пакета SciPy.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 5