Pull to refresh
40
0
sysprg @sysprg

User

Send message

Прикладное руководство по настройке приёмников ГНСС для FPV

Level of difficultyMedium
Reading time12 min
Views3.3K

Привет, решил немного отвлечься от Java и поделиться своим опытом в любительском дроностроении, а именно в настройке приёмников ГНСС, с помощью которых птица сможет вернуться домой при обрыве сигнала или по крайней мере передать свои последние координаты. Это сильно облегчит поиск, особенно, если вы всё сделали правильно, передаёте координаты в телеметрии* и пишете их в лог в вашем пульте ;)

Полетели

Биполярный транзистор. Принцип работы

Level of difficultyMedium
Reading time12 min
Views7.5K

Есть множество материалов написанных о работе полупроводников и работе транзисторов.

Зачем еще одна?

Дело в том, что я заметил такую тенденцию в вузовских учебниках – довольно подробное описание работы p-n перехода и очень поверхностное описание работы биполярного транзистора. Зачастую «механика» работы такого транзистора описывается довольно схематично (в совершенно неработоспособном виде) и далее следует быстрый переход на описание внешних параметров. Причем у этих же авторов описание «механики» работы полевого транзистора дается куда обширнее. Видимо, авторы учебников сами не очень «догоняют», как там все работает. И это не удивительно. Человечество вначале эры полупроводников пыталось повторить схему работы вакуумной лампы на полупроводниках, т.к. работа лампы достаточно логична. И собственно полевые транзисторы, в какой-то степени повторяют принцип работы вакуумных ламп. Но вот биполярный транзистор, хотя и был изобретен первым, но это было скорее случайное изобретение, а не осознанный путь к цели.

И даже после изобретения биполярного транзистора, сами его изобретатели не сразу поняли принцип его работы, хотя это были довольно продвинутые люди в области полупроводников.

Если Вы задавали себе вопросы наподобие таких:

почему через коллекторный p-n переход, включенный в обратном направлении, течет ток, да еще и самый, что не на есть главный рабочий ток?

почему неосновные носители тока базы в биполярном транзисторе, вдруг стали вполне себе главными представителями тока?

Почему ток в базы через открытый эмиттерный p-n переход меньше тока через закрый коллекторный p-n переход?

Ну и совсем «подковыристый» вопрос. Почему при включении биполярного транзистора по схеме с общим эмиттером, когда транзистор полностью открыт (находится в режиме насыщения), напряжение на коллекторе становиться меньше напряжения базы? Ведь если смотреть на транзистор с точки зрения пирога n-p-n переходов (как рисуют в учебниках), то сумма падения напряжения на двух p-n переходах (открытом эмиттерном и закрытом коллекторном) должно быть больше напряжения на одном открытом эмиттерном переходе. А оно у нас меньше.

Ответы на эти вопросы под катом

Ускоряем валидацию UTF-8 в 10 раз (>10 ГБ/с): реализация алгоритма Lemire-Keiser на Go с ARM NEON

Reading time8 min
Views1.1K

UTF-8 валидация — одна из базовых операций при работе с текстом, которая выполняется миллионы раз в секунду в современных приложениях. Стандартная реализация в Go, хоть и корректная, далека от оптимальной по производительности. В этой статье расскажу, как мне удалось ускорить валидацию UTF-8 в 10 раз, используя SIMD‑инструкции ARM NEON и алгоритм из статьи «Validating UTF-8 In Less Than One Instruction Per Byte» Джона Кейзера и Дэниела Лемира.

Читать далее

Метод кросс-энтропии: простейшая эвристика для сложнейших задач

Level of difficultyEasy
Reading time22 min
Views3K
Сколько эвристик вы знаете? Муравьи, отжиг, генетика, рой частиц, пчелы, светлячки, кукушки, гуси, совы, летучие мыши, осьминоги, дельфины, киты, шимпанзе, гориллы, львы, слоны, гравитация, электромагнетизм, вода, музыка… количество эвристик уже давно перевалило за полсотни. Все они вдохновлены природными процессами и явлениями, что делает их наглядными и понятными.

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

Неправильный Эффект Холла и странное поведение электрона в полупроводниках p-типа

Reading time4 min
Views1.9K

В данной заметке хотелось бы обратить внимание на Эффект Холла в полупроводниках p-типа. Хотя в вузовских учебниках говориться об эффекте Холла в таких полупроводниках, но ни слова не упоминается о том, что невозможно объяснить результат с точки зрения классической физики, если не сделать допущение о положительном носителя тока - «Дырке». Хотя, фактически носителями тока в полупроводниках остаются электроны.

Вообще эффект Холла в p-полупроводниках – это удивительное проявление квантового поведения электронов в макро-масштабе.

Читать далее

Пара слов об алгебре интервалов

Level of difficultyHard
Reading time10 min
Views3.9K

Интервалы, интервалы,‑ где тут лево, где тут право...

Многие программисты в том или ином виде сталкиваются с интервалами при написании программ. Даже если об этом и не подозревают. Действительно, любой сможет написать код, который определяет, принадлежит ли некое число заданному интервалу или нет. И даже чуть более сложный - определить область пересечения двух интервалов-отрезков.

На практике однако встречаются и более сложные задачи. Допустим, например, что в некой гостинице есть два свободных номера. Но один свободен со 2-го по 5-е число, а второй - с 6-го по 10-е. Клиент интересуется, есть ли возможность поселения на 8 дней? Правильный ответ - "да, есть, но с переселением (лесенкой)". Для такого ответа программа должна уметь распознать, что интервалы [2, 5] и [6, 10] являются смежными , а значит, их можно сложить, получив общий доступный интервал [2, 10], длина которого (9) превышает запрашиваемый.

Другая более редкая, но и более интересная задача - определить область пересечения двух множеств интервалов. Сложность в том, что количество интервалов в сравниваемых множествах может быть произвольным. Программист, который умеет только в сравнения "на меньше/больше" (или даже в between), столкнется при реализации с трудностями формализации.

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

Поехали!

Как недовольный инженер часовые пояса придумал

Reading time6 min
Views8.8K
Июльским вечером 1876 года один шотландский инженер опоздал на поезд. Обычный человек на его месте наверняка вычурно выругался бы и взял другой билет. Но Сэндфорд Флеминг решил, что виновато тут не расписание, а само человечество.

Люди, по его мнению, неправильно обращались со временем. А если что-то работает криво, то, значит, нужно сделать нормально. И уговорить всех жить по новым правилам.

image
«Нормально делай — нормально будет», С. Флеминг

Флеминга не зря зовут «отцом времени». Последствия его идеи мы ощущаем каждый раз, когда, например, берём билет на самолёт. Или пытаемся высчитать, что там в Петропавловске-Камчатском — уже полночь или ещё нет.

Потому что Флеминг изобрёл ни много ни мало часовые пояса. И, честно говоря, спасибо ему за это.
Читать дальше →

The Billiard Fractals

Level of difficultyHard
Reading time25 min
Views822


Complex systems often appear chaotic or incomprehensible, yet closer examination reveals that such complexity can frequently be reduced to a simple underlying mechanism. By systematically removing layers of emergent behavior, one can uncover a fundamental rule or equation from which the entire system originates.

Read more →

Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

Reading time9 min
Views51K


Приходило ли вам в голову, что ваша любимая esp32 может использоваться в роли самого натурального радиолокационного радара?

Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше →

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

Level of difficultyEasy
Reading time20 min
Views4.6K

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

Однако что делать, если необходимо отслеживать поведение пользователей на веб‑сайте? Представьте, что вы управляете интернет‑магазином, где продаете товары. Одним из подходов может быть установка минимального порога для ежедневных продаж и проверка его раз в день. Но что, если вам нужно выявить проблему гораздо раньше, в течение нескольких часов или даже минут? Статичный порог не позволит этого сделать, так как активность пользователей может меняться в течение дня. Именно здесь на помощь приходит обнаружение аномалий.

Читать далее

К чему можно подключить MIPI DSI экран?

Level of difficultyMedium
Reading time6 min
Views5.6K


Как-то мне захотелось поэкспериментировать с MIPI DSI экранами. Встал вопрос: к чему их подключить? Позже я выбрал решение и спроектировал плату, о чём начал писать статью. Но есть и множество других вариантов. Решил вынести эти данные в отдельную часть.

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

Какие решения доступны? Как рассчитать скорость передачи данных?
Читать дальше →

Взрывы сверхновых изменили климат Земли и сформировали историю человечества

Level of difficultyEasy
Reading time5 min
Views1.4K

Большинство учёных согласны с тем, что взрывы сверхновых повлияли на климат Земли, хотя детали этого не совсем ясны. Скорее всего, они охлаждали климат несколько раз за последние несколько тысяч лет, как раз в то время, когда по всему миру зарождалось человечество. Доказательства видно в телескопы и по кольцам деревьев.

Мы живём в четвертичном периоде, который начался 2,58 миллиона лет назад и длится до наших дней. Четвертичный период характеризуется климатическими и экологическими изменениями, в первую очередь ледниковыми периодами. Четвертичный период также охватывает существование и эволюцию человека от ранних гоминид до нашего вида.

Читать далее

Программирование ESP32 с ESP-IDF в среде platformio #1

Level of difficultyMedium
Reading time8 min
Views4.3K

Привет, Хабр!

Это вторая статья из цикла по программированию ESP32 на ESP‑IDF. В первой части мы познакомились с базовой терминологией RTOS и реализовали несколько простых задач (tasks). Сегодня же мы перейдём к работе с GPIO и прерываниями (ISR), а заодно обсудим особенности настройки стека задач в ESP‑IDF (спасибо за совет @0x6b73ca).

Читать далее

Детальный обзор полей Галуа

Level of difficultyMedium
Reading time15 min
Views15K

"Попросите Якоби или Гаусса публично высказать своё мнение — не о истинности, а о важности этих теорем. Позже, я надеюсь, найдутся люди, которым будет выгодно разобраться во всём этом хаосе."

Этими словами заканчивалось письмо Эвариста Галуа, написанное для своего друга Огюста Шевалье за два дня до его смерти от полученных на дуэли ран на 21 году жизни. Ни Якоби, ни Гаусс в его теоремах не разобрались, зато спустя 15 лет разобрался Жозеф Лиувилль и опубликовал работы Галуа, ставшие впоследствии фундаментом современной алгебры, известные сейчас как теория Галуа. В статье расскажу про одну из частей этой теории - поля Галуа, получившая настолько повсеместное применение в криптографии и избыточном кодировании, что Intel и AMD выпустили набор процессорных расширений для эффективной реализации операций над этими полями.

Заметка! Если вам довелось использовать/реализовывать поля Галуа, то большая часть статьи для вас скорее всего будет не интересна, но возможно в последних разделах будет что-то для вас новое.

Читать далее

Как прямая помогает обучать машины

Level of difficultyEasy
Reading time9 min
Views1.2K

В контексте компьютеров, обучение — это всего лишь превращение плохих догадок в более качественные. В этом посте мы увидим, что всё начинается с прямой линии: линейная регрессия даёт первую догадку, а градиентный спуск продолжает её улучшать.

Давайте начнём с чего-то близкого нам: цен на недвижимость. Большие дома стоят больше, маленькие — меньше. Подобный паттерн можно заметить даже без анализа: чем больше места, тем дороже.

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

Взаимное движение цены и размера как будто предсказуемо. Однако оно не ограничено фиксированными шагами или категориями, их масштаб скользит. Дом может стоить 180 тысяч, 305 тысяч или иметь какую-то промежуточную цену.

Теперь представьте, что вы продаёте свой дом. Его площадь 1850 квадратных футов (~172 квадратных метра) — больше среднего, но явно не особняк. Вы видели, почём продаются дома в вашем районе, но цены колеблются. Какой будет справедливая цена?

Читать далее

Упрощать сложно. История одного провала

Level of difficultyEasy
Reading time13 min
Views9.7K

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

В общем, проблема оказалась отнюдь не мала

Сложный способ писать программы

Level of difficultyMedium
Reading time12 min
Views6.4K

В прошлой публикации История одного провала я рассказал про свои попытки автоматизировать упрощение символьных выражений. Но практически совсем не коснулся вопроса – зачем мне это потребовалось, так что пришлось много объясняться по этому поводу в комментариях. В этой статье я расскажу про почти успешную часть того проекта – программу, которая должна была писать другие программы. За 10 лет до этого вашего ChatGPT.

Читать далее

Как ускорить сложение и вычитание при помощи 2^51

Level of difficultyEasy
Reading time8 min
Views10K

Помните, как долго выполняется сложение на бумаге?

¹¹ ¹
6876
+ 3406
------
10282

Начиная с единиц, мы складываем 6 + 6 = 12, записываем 2 и переносим 1. Затем пошагово двигаемся влево, пока складываемые разряды не закончатся.

При реализации сложения больших чисел (например, от 264 и выше) обычно пишут код, похожий на этот алгоритм. Любопытно здесь то, что существует простой трюк, позволяющий существенно ускорить этот процесс на современных CPU.

Но сначала я задам вопрос: почему сложение столбиком мы начинаем с самого младшего разряда? Почему бы не начать слева?

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

Читать далее

Дискретное преобразование Фурье в живых картинках для девятиклассников

Level of difficultyMedium
Reading time19 min
Views30K

Мало что настолько меня угнетает, как невозможность что‑либо понять так, чтобы потом объяснить это самому себе:) И хоть я уже давно не девятиклассник, этот период запомнился мне внезапным переходом от заучивания материала «чтобы не схватить парашу» к некоторой степени осознания «а как оно там устроено и почему именно так». Сложнее всего было с математикой и я постоянно изобретал для себя «объяснялки». Этот навык, к счастью, прижился и стал привычкой.

В виртуальную лабораторию!
1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity