Pull to refresh
97
0.6
Send message

Software Defined Radio — как это работает? Часть 1

Reading time6 min
Views160K
Привет, Хабр.

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

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



Мы все же попробуем разобраться.
Читать дальше →

Добавляем деструкторы в C

Level of difficultyMedium
Reading time6 min
Views5.6K

В данной статье будет описано создание кастомного аллокатора на си c регистрацией колбеков, которые будут вызваны при освобождении памяти. Нужен для того, чтобы при создании записать туда деструктор, а в конце просто вызвать free, не погружаясь в детали его работы.

read(&publication);

Что нужно чтобы не было бабаха? Три составляющих хорошего силового преобразователя. Часть 1

Reading time12 min
Views23K

Наверное, силовая электроника – рекордсмен по скорости и зрелищности начальных испытаний опытных образцов. Тут вам и свето-шумовые эффекты, и пластиковый короб для защиты глаз/лица, и даже острые ощущения. Вспомните первое включение. Это трепетное ожидание пиротехнического шоу, готовность выдернуть вилку, надеть шлём и убежать в бункер. А ведь так хочется, чтобы проект взлетел! Посмотрим, без чего проект точно успешно не взлетит, разберём примеры и полюбуемся на бабахи…
Читать дальше →

Что делать, когда выпускник топ-10 мирового вуза не может спроектировать блок сложения A+B

Reading time5 min
Views121K

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

Когда я вижу у недавнего выпускника в резюме какой-то из протоколов в котором используется valid/ready, например AXI или AHB, я прошу его спроектировать блок, у которого на входе два числа A и B, а на выходе их сумма. Разумеется не просто написать SUM=A+B, а еще и поставить valid/ready сигналы на каждый из A, B, SUM, чтобы A и B могли приходить в разное время, а также чтобы блок ждал, если SUM не может быть передана другому блоку сразу.

Некоторые не справляются. Грустно смотреть на человека, который потратил 6 лет своей жизни (4 года в бакалавриате и 2 года в магистратуре) и океан денег на образование - и не может сложить два числа и бьется как угорь на сковородке. То блок не работает когда числа приходят в разное время, то создатель забывает снять valid, и блок на 2+2 выдает не 4, а 4-4-4-4-4-4-4... То числа складываются не попарно, а просто записываются в регистры и на выход идет их текущая сумма, хотя количество аргументов A и B не совпадает. То не отрабатывается backpressure и результаты теряются, то (после того как кандидат написал страницу кода на верилоге) блок работает на половинной производительности, то есть не может принимать поток чисел подряд, а ожидает между ними пропуски (gaps). Короче ведет себя как ChatGPT.

Как же прокачаться чтобы такого не было?

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Level of difficultyMedium
Reading time11 min
Views106K
image

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

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

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

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

5 одноплатников на все случаи жизни: от Pine64 Ox64 до Banana Pi BPI-M6

Reading time3 min
Views14K

Одноплатные компьютеры — неисчерпаемый ресурс для самых разных проектов, от чего-то вроде DIY-гирлянды до сложных корпоративных систем. Мы уже давно не писали ничего про одноплатники, а за это время вышло несколько интересных моделей. О них сегодня и поговорим.
Читать дальше →

Пошаговая GDB отладка ARM процессора из консоли в Win10

Reading time7 min
Views12K

Иногда бывает ситуация когда надо срочно что-то пошагово отладить. При этом нет времени и желания ставить какие-то тяжелые IDE. В таких случаях может помочь пошаговая GDB отладка ARM Cortex M33 из командной строки Windows. В этом тексте я расписал пошаговое руководство того как это сделать.

Читать далее

Больше одноплатников, хороших и разных: новые модели конца лета 2022 года

Reading time4 min
Views22K

Лето, к сожалению, почти подошло к концу. Но для любителей DIY-систем есть, чем отвлечься от мыслей о море и тепле — в этом помогут новые одноплатники. Производители продолжают выпускать интересные модели устройств — как мощных и производительных, так и не очень. В подборке несколько моделей, которые нам понравились больше всего. Если же можете порекомендовать что-то еще, из девайсов, которые не попали в материал, пишите в комментариях — обсудим все.
Читать дальше →

Симулятор электронных схем Qucs-S снова жив

Reading time6 min
Views55K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux, Windows и FreeBSD), написан на С++ с использованием набора библиотек Qt и разрабатывается полностью в частном порядке (в отличие, например от KiCAD, который имеет спонсора в лице CERN). В феврале этого года проект восстал из мёртвых и вышел релиз 0.0.23. Главным новшеством версии 0.0.23 было то, что программа теперь портирована на Qt5, чем обеспечена собираемость на современных дистрибутивах Linux. Актуальным релизом на текущий момент является 0.0.24 https://github.com/ra3xdh/qucs_s/releases/tag/0.0.24, в котором добавлено несколько новых видов моделирования. Далее будут рассмотрены основные возможности программы и показано как в Qucs-S смоделировать схему.


Читать дальше →

Выбор графического движка (GUI) для встраиваемой электроники

Reading time15 min
Views30K

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

В нашем полифункциональном заряднике есть небольшой графический дисплей. Разберём что тут можно подобрать. 

Читать далее

Лучшие одноплатники и парочка проектов на базе RP2040 весны 2022: что предлагают производители

Reading time4 min
Views16K

Одноплатные компьютеры опасны — стоит только увлечься ими и все, затягивает все сильнее с каждым днем. На их основе можно разработать множество DIY-проектов, от самых простых, домашних, до вполне себе промышленных систем, которые управляют чем-то важным. При этом одноплатники на базе процессора RP2040 от Raspberry Pi появляются еженедельно. Большинство из них сразу же разбираются ценителями, но все же достать кое-что можно.

В этой подборке — одноплатники на базе процессора от Raspberry Pi. Их всего 5, но если вы работали с чем-то, что не упомянуто в статье — то отписывайтесь в комментариях, будет интересно ознакомиться с новинкой. Ну а пока давайте вспомним, что нам предлагает рынок.
Читать дальше →

Запускаем мелкосерийное производство электроники. Личный опыт

Reading time6 min
Views48K

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

Чтобы статья получилась максимально практичной в ней будут приводиться ссылки на поставщиков оборудования, которое используется нами. Не сочтите за рекламу.

Читать далее

Не сверточные сети

Reading time7 min
Views16K


Достоинства, проблемы и ограничения сверточных нейронных сетей (CNN) в настоящее время достаточно неплохо изучены. Прошло уже около 5 лет после признания их сообществом инженеров и первое впечатление «вот теперь решим все задачи», хочется верить, уже прошло. А значит, пришло время искать идеи, которые позволят сделать следующий шаг в области ИИ. Хинтон, например, предложил CapsuleNet.
Вместе с Алексеем Редозубовым, опираясь на его идеи об устройстве мозга, мы тоже решили отступить от мейнстрима. И сейчас у меня есть что показать: архитектуру (идёт заглавной картинкой для привлечения внимания) и исходники на Tensorflow для MNIST.

Более формально, результат описан в статье на arxiv.
Читать дальше →

Объяснение фильтра Калмана в картинках

Reading time9 min
Views50K
image

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

Как ни удивительно, о нём, похоже, знают немногие разработчики ПО и учёные, и это печалит меня, потому что это очень обобщённый и мощный инструмент для объединения информации в условиях присутствия неопределённости. Иногда его способность извлечения точной информации кажется почти магической, а если вы думаете, что я слишком много болтаю, то взгляните на это видео, в котором я показываю, как фильтр Калмана определяет ориентацию свободно плавающего тела, посмотрев на его вектор скорости. Потрясающе!
Читать дальше →

А ты используешь VAD? Что это такое и зачем он нужен

Reading time5 min
Views18K

Очень часто при работе мы обращаем внимание на то, что все люди знают, что такое распознавание речи, но не знают, что такое Voice Activity Detector (VAD) или детектор речи. А ведь именно VAD на самом деле самый важный алгоритм при работе с речью людей в естественной среде обитания.


Как ни странно, если поискать поддерживаемые и высококачественные решения данной задачи в публичном доступе — найдутся буквально пара проектов достаточного уровня. Но вот незадача — академические решения тяжелы (и иногда работают запретительно долго) и зачастую принимают только целые аудио на вход (нельзя использовать потоково). Решение от Google (WebRTC) очень быстрое но плохо отличает речь от шума (но его можно использовать потоково). А некоторые коммерческие решения "привязаны" к личному кабинету и шлют какую-то телеметрию.


Мы решили исправить это недоразумение и сделать уникальный VAD мирового уровня (судите сами по метрикам), который работает на 1 ядре процессора с задержкой в 1 миллисекунду на кусочках аудио от 30 миллисекунд. В этой статье мы расскажем вам, что такое VAD, покажем на примерах как использовать его и наглядно потестировать на своем голосе.

Читать дальше →

Лекции Техносферы. Нейронные сети в машинном обучении

Reading time3 min
Views32K


Представляем вашему вниманию очередную порцию лекций Техносферы. На курсе изучается использование нейросетевых алгоритмов в различных отраслях, а также отрабатываются все изученные методы на практических задачах. Вы познакомитесь как с классическими, так и с недавно предложенными, но уже зарекомендовавшими себя нейросетевыми алгоритмами. Так как курс ориентирован на практику, вы получите опыт реализации классификаторов изображений, системы переноса стиля и генерации изображений при помощи GAN. Вы научитесь реализовать нейронные сети как с нуля, так и на основе библиотеке PyTorch. Узнаете, как сделать своего чат-бота, как обучать нейросеть играть в компьютерную игру и генерировать человеческие лица. Вы также получите опыт чтения научных статей и самостоятельного проведения научного исследования.

Ontol: Лучшие бесплатные онлайн-курсы от MIT

Reading time6 min
Views32K
image

78% профессорско-преподавательского состава MIT ставит знания выше финансовой выгоды и согласились 20 лет назад стартовать инициативу MIT OpenCourseWare — полную оцифровку обучения и выкладывания его в окрытый доступ для всех желающих.

Около 35% поступивших в MIT студентов, говорят, что на их выбор повлияли бесплатные окрытые лекции MIT OpenCourseWare.

Моё личное уверждение — сейчас, впервые за историю, наступило время, когда лучшие знания человечества досупны бесплатно каждому человеку в 1 клик. Я собираю в одном месте лучшие и самые полезные беспланые курсы и лонгриды, которые влияют на судьбу человека.

Компьютернеы науки, математика, физика, этические вопросы ML, система управления истребителя F-22, физика ковида, устройство мозга, кибербезопасность, разработка игр, квантовая и ядерная физика, химия, теория алгоритмов, теория вычислений, линейная алгебра. Добро пожаловать под кат. (осторожно, 100+ мб трафика на превьюшки)

Читать дальше →

Больше одноплатников хороших и разных: модели конца 2021 года, на которые стоит обратить внимание

Reading time4 min
Views20K

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

Фильтрация шума сигнала

Reading time7 min
Views53K

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

Читать далее

Взлом ГПСЧ с помощью машинного обучения

Reading time6 min
Views23K

Выдача XORShift кажется случайной

Исследователь Мостафа Хассан (Mostafa Hassan) сумел взломать два генератора псведослучайных чисел (ГПСЧ) с помощью машинного обучения. Обученная двуслойная нейросеть предсказала выдачу генератора xorshift128 с точностью 100%.

Во второй части своей работы Мостафа описал ещё одну нейросеть, которая взломала популярный генератор Mersenne Twister (вихрь Мерсенна, MT, MT19937) тоже с точностью 100%.
Читать дальше →

Information

Rating
3,025-th
Registered
Activity