• Простыми словами о преобразовании Фурье

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

    image (с) xkcd

    Без использования сложных формул и матлаба я постараюсь ответить на следующие вопросы:
    • FT, DTF, DTFT — в чем отличия и как совершенно разные казалось бы формулы дают столь концептуально похожие результаты?
    • Как правильно интерпретировать результаты быстрого преобразования Фурье (FFT)
    • Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки
    • Почему при попытке получить с помощью Фурье спектр синусоиды вместо ожидаемой одиночной “палки” на графике вылезает странная загогулина и что с этим можно сделать
    • Зачем перед АЦП и после ЦАП ставят аналоговые фильтры
    • Можно ли оцифровать АЦП сигнал с частотой выше половины частоты дискретизации (школьный ответ неверен, правильный ответ — можно)
    • Как по цифровой последовательности восстанавливают исходный сигнал


    Я буду исходить из предположения что читатель понимает что такое интеграл, комплексное число (а так же его модуль и аргумент), свертка функций, плюс хотя бы “на пальцах” представляет себе что такое дельта-функция Дирака. Не знаете — не беда, прочитайте вышеприведенные ссылки. Под “произведением функций” в данном тексте я везде буду понимать “поточечное умножение”

    Итак, приступим?
  • Типичные распределения вероятности: шпаргалка data scientist-а

    • Перевод

    У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


    Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
    Читать дальше →
  • Полупроводниковыe Foundry-компании: иностранные и отечественные игроки не «топ» уровня

    В этой публикации попробуем разобраться, как живут foundry-компании не топ уровня. Так же попытаемся выяснить, могут ли российские компании попасть в это бизнес?

    Немного истории: начало специализации


    Первоначально компании, занимающиеся изготовлением полупроводников, были созданы в соответствие с моделью IDM (integrated device manufacture, на русском ближе по смыслу «комплексный производитель»). Это значит, что компания сама занимается разработкой, производством и продажей готовых изделий. Наиболее ярким примером успешной реализации IDM модели является компания Intel, основанная еще на заре становления микроэлектроники как отрасли.
    Читать дальше →
  • Радиопередатчик на системной шине

      Некоторые компьютеры в целях безопасности специально изолированы от внешнего мира (air gap или физическая изоляция). У них отсутствует доступ в интернет, нет локальной сети, WiFi, Bluetooth, отключены даже USB-интерфейс и аудиокарта. Как же в таком случае передать информацию с этого компьютера?

      Новая программа System Bus Radio решает проблему. Даже в такой ситуации с её помощью можно передавать радиосигнал.

      Давайте проверим. Исходный код опубликован на Github. Компилируем (автор проверял на Apple MacBook Air).

      gcc main.c -Wall -O2 -o main

      Запускаем.

      ./main

      В радиоприёмнике, настроенном на частоту 1580 кГц АМ, зазвучит песенка "Mary Had a Little Lamb" в бесконечном цикле.
      Читать дальше →
    • Проектирование синхронных схем. Быстрый старт с Verilog HDL

        На просторах рунета можно найти достаточно много статей с введением в Verilog HDL. Все они описывают синтаксис и семантику языка, но, к сожалению, не раскрывают основных парадигм, используемых при проектировании цифровых схем. Представьте себе, что вам объясняют синтаксис языка Java, но не рассказывают ничего про объектно-ориентированное проектирование. Если вы знакомы с ООП, то такого введения будет достаточно, но если вы знаете только Си, то писать скорей всего будете “по-старому”, создавая огромные классы со сложными методами.

        Примерно так происходит с программистами, изучающими цифровую схемотехнику и языки описания аппаратуры. Быстро разобравшись с несложным синтаксисом языка, они начинают описывать конструкции, безумные с точки зрения хардверного инженера. Среди моих студентов встречались люди, написавшие “сортировку пузырьком” за такт, сумасшедшие асинхронные схемы, которые работали по-разному при каждом запуске и разной погоде за окном, огромные комбинационные делители, уводившие place&route в глубокую многочасовую задумчивость.

        Для тех, у которых нет времени прочитать учебник для начинающих, но есть желание или
        необходимость спроектировать несколько простых схем я решил написать это небольшое введение об основной современной парадигме проектирования цифровых схем – синхронных схемах. И об одном из языков, используемых для их описания.
        Статья рассчитана на новичков. Для понимания текста потребуется минимальный набор знаний – понимание работы синхронного D-триггера и вентилей.
        Читать дальше →
      • Источники выделения энергии на кристалле ИМС

        Вся современная микроэлектроника базируется на полупроводниках. На кристалле создаются зоны различной проводимости, которые объединяются в некоторую логику. Кристаллы работают, потребляя электрическую энергию и преобразуя её в тепло. Эта статья описывает основные процессы, на которые расходуется энергия при работе ИМС.

        Источником выделения тепла на кристалле ИМС являются три основных процесса: динамическая мощность, короткое замыкание и токи утечки. Обзор этих процессов будет проводиться на примере n-МОП технологии (хотя все описанное будет справедливо и для р -МОП)
        Читать дальше →
      • Как я строил бюджетный электро-вело чоппер

        Электровелосипед в стиле чоппера. Максималка: 56км/ч. Запас хода: до 150км.



        Начну с предыстории.

        Я люблю катать на велосипеде и не только катать, но и по возможности использовать такой вид транспорта для перемещения из пункта А в пункт Б.

        В феврале 2015 года я перебрался ненадолго жить в Черногорию, прихватив с собой свой велосипед. Город, где я жил, не относился к равнинным: там дорога была либо вниз, либо наверх. В очередной раз умирая на подъеме в гору, я решил, что нужно с этим что-то делать. Нужен электровел!
        Читать дальше →