Как стать автором
Обновить
50
-4
Тимур Миннигалиев @tminnigaliev

инженер по цифровой обработке сигналов

Отправить сообщение

Диаграмма последовательности

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4.6K

Что такое диаграмма последовательности? Из чего она состоит? Где и как пользоваться?

А еще тут есть интересные возможности, о которых ты мог не знать.

Все это ты прочитаешь в статье
Всего голосов 17: ↑15 и ↓2+15
Комментарии7

Почему для меня так важен алгоритм CORDIC

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров9.8K

CORDIC — это алгоритм для вычисления тригонометрических функций вроде
sin, cos, tan и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.

Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».
Читать дальше →
Всего голосов 71: ↑71 и ↓0+97
Комментарии24

Решаем простую статистическую задачу пятью способами

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.4K

Вот тут ув. @dimview на пальцах и Си объясняет за бутстрап решая несложную задачу. И в статистике существует 100500 разных тестов для (не)подтверждения нулевой гипотезы.

Давайте используем ряд самых распространеных и посмотрим на результаты. В конце сравним с бутстрапом. Изложение будет сопровождаться кратким выводом и объяснением основных тестов, их "ручной" реализацией и сравнением результата с готовыми тестами из пакета scipy.stats. В этом плане, мне кажется, повторение лишним не будет, т.к. позволит лучше понять и уяснить принцип и особенности тестов.

Сама задача звучит как: "И вот свежие результаты — в тестовой группе из 893 пришедших у нас что-то купили 34, а в контрольной группе из 923 пришедших что-то купили 28. Возникает вопрос — идти к начальству и говорить «в тестовой группе конверсия 3.81%, в контрольной группе 3.03%, налицо улучшение на 26%, где моя премия?» или продолжать сбор данных, потому что разница в 6 человек — ещё не статистика?"

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

HackBat: мощная DIY альтернатива Flipper Zero на базе открытого исходного кода

Время на прочтение4 мин
Количество просмотров18K

Встречайте HackBat: DIY (сделай сам) устройство, основанное на открытом исходном коде и аппаратном обеспечении, разработанное Пабло Трухильо Хуаном как мощная альтернатива Flipper Zero. Оно пропагандирует свободу разработки и модификации, обеспечивая пользователям возможность сами создавать и настраивать свои устройства. В отличие от Flipper Zero, HackBat позволяет пользователям самим программировать MCU и взаимодействовать с Wi-Fi и RF-трансиверами, что обеспечивает большую гибкость и возможности для настройки.

Самое интересное в этом небольшом проекте — это то, насколько много общего у него с Flipper Zero. Hackbat также позиционируется в качестве "швейцарского армейского ножа" для проведения тестов на проникновение и использует некоторые из тех же функций, что и NFC. Однако, в отличие от Flipper Zero, Hackbat является открытым проектом и стоит дешевле, чем его родственник с ценником в $169. Фактически, после недавнего исчезновения Flipper One, люди, которые такие устройства, могут обнаружить, что Hackbat является подходящей заменой.

Пабло Трухильо опубликовал проект на Hackster, где подробно рассказал о проекте. Основной идеей Hackbat является создание устройств для тестирования на проникновение, доступных для всех.

Читать далее
Всего голосов 47: ↑34 и ↓13+35
Комментарии31

Quansheng UV-K5/K6: трансивер, из которого можно сделать что угодно

Время на прочтение7 мин
Количество просмотров13K

Дядюшка Ляо не перестаёт удивлять. Мы хорошо помним, какую революцию совершили USB-донглы на микросхемах Elonics E4000 и Rafael Micro R820T, изначально предназначенные для просмотра телевидения на экране компьютера. С заменённым драйвером они превращались в универсальный SDR-радиоприёмник, принимавший в диапазоне от 25 MHz до 1 750 MHz, отображая при этом спектр шириной 2.4 MHz. И стоило это удовольствие долларов 5, может, чуть больше.

Вторым важным событием стало появление дешёвой народной «шарманки» — Baofeng UV-5R. Это простенький двухдиапазонный трансивер с заявленной выходной мощностью 5W. Но недавно китайцы вновь превзошли сами себя и выпустили нечто, что стало ещё более интересным — Quansheng UV-K5 и улучшенные версии, обозначаемые UV-K5(8) и UV-K6. Что это за трансивер и почему он стал так популярен — читайте под катом.

Читать далее
Всего голосов 44: ↑44 и ↓0+66
Комментарии36

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров37K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Всего голосов 273: ↑273 и ↓0+323
Комментарии124

Связь решения СЛАУ и минимума квадратичного функционла. Часть 1

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.3K

В цикле статей под общим названием «Связь решения СЛАУ и минимума квадратичного функционала» постараюсь осветить различные методы решения СЛАУ, которые редко можно встретить в учебниках по линейной алгебре. Основная цель – написать понятный, но в то же время наполненный полезной информацией материал. К каждой последующей статье будет прилагаться соответствующая реализация на языке программирования C++.

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии12

Еще один электронный конструктор

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров17K


Предлагаю вашему вниманию еще один вариант электронного конструктора, несложного для самостоятельного изготовления. Хотелось сделать нечто похожее на «Знаток» по степени наглядности, но с расширенными возможностями. В частности, в «Знатоке» очень не хватало возможности подключать микросхемы.

Попытка прямого копирования «Знатока» ни к чему дельному не привела, поскольку так и не удалось самостоятельно изготовить «пуговичные» разъемы. Вместо этого было решено использовать соединения на основе обычных винтов.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+57
Комментарии62

Чудесное совпадение или ожидаемая связь: почему π²≈g

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров98K

Давайте ненадолго перенесёмся в школьные годы и вспомним уроки математики и физики. Помните, чему равно число π? Естественно, помните, мы же на Хабре! А чему равно π в квадрате? Это тоже странный вопрос. Конечно, 9,87. А чему равно ускорение свободного падения g помните? Ещё бы, это число так тщательно вдолбили в нашу память, что захочешь — не забудешь: 9,81 м/c². Конечно, оно может варьироваться, но для решения базовых школьных задачек мы обычно использовали именно это значение.

А теперь, внимание, следующий вопрос: а с какого это перепугу π² примерно равно g?

Читать далее
Всего голосов 255: ↑244 и ↓11+286
Комментарии232

Это база машинного обучения

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров8.2K

Рассказать всё о машинном обучении на двух страницах текста — невыполнимая задача. Именно сложность и многообразие темы могут отталкивать тех, кто только начинает знакомство с ней. Однако мы хотим помочь на этом пути и дать упрощённое введение в машинное обучение, чтобы каждый смог уловить его базовые принципы и понять, где его можно применять. Мы будем рады, если после прочтения кому-нибудь станут интересны нюансы и детали. А пока начнём с обобщений.

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

Можно, конечно, попытаться обойтись и без машинного обучения. Самый простой подход — проанализировать данные и составить понятный набор правил формата if-else (если-то). Между прочим, это применяется в реальной жизни, например, при анализе потребительской корзины. Составляется набор ассоциативных правил вида {хлеб, чай} → {молоко}. Это означает, что если покупатель приобретает хлеб и чай, то, скорее всего, он также купит молоко. Вуаля — мы сделали прогноз на будущее. 

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

Невероятно, но факт: умножение матриц на GPU идёт быстрее на «предсказуемых» данных

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

Шёл 2022 год. Я обратил внимание на новый интересный проект CUTLASS, отличающийся очень высокой скоростью выполнения операций умножения матриц. Я взял большую задачу по умножению матриц — 8192 x 8192 x 8192, и померял производительность в PyTorch, где используется библиотека cuBLAS.

Читать далее
Всего голосов 36: ↑35 и ↓1+55
Комментарии14

Полный гайд о стиле для IT-специалистов: как выглядеть актуально и чувствовать себя комфортно

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров42K

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

Читать далее
Всего голосов 186: ↑83 и ↓103-4
Комментарии354

Зачем Программисту Микроконтроллеров Линейная Алгебра (или Как Найти Угол Между Векторами?)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров12K

В программировании микроконтроллеров часто возникает задача найти угол между векторами.

Это всяческие встраиваемые системы, где есть подвижные, вращающиеся детали: PTZ камеры, поворотные платформы для радаров, турели, ветрогенераторы, солнечные панели, SDR обработка и прочее.

В данном тексте я приведу простое и понятное решение задачи вычисления угла между векторами на языке программирования Си.

Читать далее
Всего голосов 21: ↑18 и ↓3+21
Комментарии105

Простейшая нейронная сеть, мой опыт и выводы

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7K

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

Читать далее
Всего голосов 12: ↑11 и ↓1+12
Комментарии14

Что такое деревья поведения и как они используются

Время на прочтение5 мин
Количество просмотров28K


/ фото Harry Li CC

Нас в компании «ИТ-ГРАД» очень интересуют вопросы искусственного интеллекта. Мы уже затрагивали тему автопилотируемых автомобилей, а неделю назад публиковали материал, в котором рассказывали о новых достижениях ученых и разработчиков в сфере ИИ, а также об опасениях скептиков.

Сегодня мы вновь коснемся этого вопроса и поговорим о том, что такое деревья поведения, как они используются в робототехнике и есть ли у них будущее.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии4

Оптимизация гиперпараметров за 5 секунд?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров5K

Пока люди с самыми малыми вычислительными машинами в пустую тратят время на перебор гиперпараметров внутри библиотеки Scikit-learn – настоящие гении тайм-менеджмента выбирают TPE и Optuna. 

В этой статье мы рассмотрим самые популярные методы оптимизации Grid.Search и Random.Search, принципы Байесовской/вероятностной оптимизации, а также TPE в Optuna. В конце прописали небольшой словарик с функциями, атрибутами и объектами фреймворка, а также привели наглядный пример использования. 

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

Распознавание лиц на микрокомпьютерах

Время на прочтение9 мин
Количество просмотров4.4K

В последние годы появляется всё больше технологий с использованием Computer Vision: это и беспилотные автомобили, и Face ID в телефоне, и умные камеры, способные фиксировать утечку теплоизоляции крыши. Кто-то прогресс приветствует, кто-то нет, но неизменно одно – процесс этот неостановим. Особенно активно развивается технология распознавания лиц, которую мы разберем в этой статье. Только в этот раз вас ожидает не классический пайплайн системы, но разбор технологии на микрокопьютерах. Подготовил ее я, Саша Шувалов – аналитик-разработчик компании Кросстех Солюшнс Групп. 

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

Universal Radio Hacker — легкий способ исследовать цифровые радиопротоколы

Время на прочтение3 мин
Количество просмотров44K

Universal Radio Hacker (URH) — невероятно простой и понятный инструмент для анализа цифровых радиопротоколов. В отличие от монстров вроде GNU Radio, освоить его можно за пять минут, без мучений.
Главные особенности URH:

  • Работает на всех платформах — на macOS/Linux/Windows, из коробки! Не нужно часами компилять километры зависимостей.
  • Поддерживает популярные SDR — нативная поддержка RTL-SDR, HackRF, LimeSDR, AirSpy и других.
  • Все в одном — все нужные инструменты встроены в одну программу: анализатор спектра для поиска частот, запись сигнала, интерпретатор цифрового сигнала для автоматического преобразования записанного сигнала в цифровые данные.
  • Поддерживает передачу — для проведения replay-атаки достаточно выделить мышкой нужный отрезок сигнала и нажать Replay. Великолепно!

В статье мы будем анализировать сигнал пульта от шлагбаума, при помощи народного RTL-SDR (радио из дешевого USB ТВ-тюнера) и macOS.

Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии23

Введение в цифровую обработку сигналов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.9K

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

Чтобы понять преимущества ЦОС, давайте сначала рассмотрим традиционный метод обработки сигналов, то есть аналоговую обработку сигналов.

Это статья сделана совместно с автором курса по Цифровой обработке сигналов в INZHENERKA.TECH Волченковым Владимиром, доцентом кафедры телекоммуникаций и основ радиотехники ФГБОУ ВО «РГРУ им. В.Ф. Уткина» и научным сотрудником ООО «Лаборатория Сфера». Больше информации в нашем сообществе инженеров.

Аналоговая обработка сигналов

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

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

Банановые шкурки на интервью Python-разработчика

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров12K

В этой статье я, Евгений Бартенев, техлид и автор курса «Python-разработчик», возьму и рассмотрю не только те «банановые шкурки», которые периодически разбрасываю сам на собеседованиях, но и те, на которых поскальзывались мои коллеги, некоторые наши студенты, да и я сам.

Читать далее
Всего голосов 20: ↑16 и ↓4+16
Комментарии23
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Eindhoven, Noord-Brabant, Нидерланды
Дата рождения
Зарегистрирован
Активность