Search
Write a publication
Pull to refresh
3
0
Максим @MaxxONE

Инженер

Send message

Lehmann Linear DIY или как клонировать породистого немца с хорошим результатом

Reading time3 min
Views25K

Началось все с того, что как то на прослушке своих ушей Beyerdynamic DT880 600ohm(!) я воткнул их в какой-то породистый ламповый усилок и понял, что жить со своим старичком (тоже ламповым) я уже не смогу.


Спойлер, конечный результат:


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

Julia, Градиентный спуск и симплекс метод

Reading time10 min
Views15K


Продолжаем знакомство с методами многомерной оптимизации.


Далее предложена реализация метода наискорейшего спуска с анализом скорости выполнения, а также имплементация метода Нелдера-Мида средствами языка Julia и C++.

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

Julia и метод покоординатного спуска

Reading time5 min
Views22K


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


Поиск экстремума ведется в направлении осей координат, т.е. в процессе поиска изменяется только одна координата. Таким образом, многомерная задача сводится к одномерной.

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

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

Reading time10 min
Views59K
Привет, Хабр!

Почитал я некоторые ранее опубликованные статьи о том, как жить славному молодцу, перед которым встала задача спаять 10-50-100 устройств из резисторов и микросхем, и взгрустнул, ибо во всех в них советы были даны если не вредные, то и не сильно полезные.


А вот, например, совет держать включённый паяльник за ручку — полезный!

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

  • регулярно надо делать 5-10-50-100 плат с SMD-компонентами
  • по возможности быстро
  • по возможности дёшево

Если вы можете позволить себе — что по срокам, что по деньгам — услуги «Резонита» или «Компэла» (сотрудничающего, впрочем, с «Резонитом») по сборке модулей под ключ, то текст ниже в общем и целом не для вас. Однако, на практике даже в достаточно крупных компаниях люди, занимающиеся опытными образцами, часто собирают их сами — потому что это занимает пару дней вместо недели, потому что всегда можно на ходу что-то подправить, потому что не надо бегать между начальством и бухгалтерией со счетами и актами… В мелких же вопрос упирается попросту в деньги.

Тем более, что в наше время базовое оборудование, позволяющее делать подобные вещи достаточно быстро и достаточно дёшево, доступно даже любителю-одиночке.
Читать дальше →

Коллапс волновой функции: алгоритм, вдохновлённый квантовой механикой

Reading time11 min
Views34K
image

Алгоритм Wave Function Collapse генерирует битовые изображения, локально подобные входному битовому изображению.

Локальное подобие означает, что

  • (C1) Каждый паттерн NxN пикселей в выходных данных должен хотя бы раз встречаться во входных данных.
  • (Слабое условие C2) Распределение паттернов NxN во входных данных должно быть подобным распределению паттернов NxN в значительно большом количестве наборов выходных данных. Другими словами, вероятность встречи определённого паттерна в выходных данных должна быть близка к плотности таких паттернов во входных данных.
Читать дальше →

3blue1brown и MIT на русском

Reading time3 min
Views24K
Привет, Хабр!

Ровно год назад мы — небольшое сообщество — собрались, чтобы переводить на русский самые крутые образовательные курсы, что есть в открытом доступе (например, физика Уолтера Левина). Без денег — просто интерес. И сегодня мы к вам — с надеждой, что вам понравится, что мы делаем.

Вместо КДПВ — озвученное нами видео 3blue1brown (да-да, мы договорились о переводе с автором самых крутых на Youtube видео про математику-физику-информатику).

Настройка VSCODE под разработку для ARM на примере отладочной платы stm32f429i-disco

Reading time2 min
Views44K


Всем привет!


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


Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop x64.


Подразумевается, что у Вас уже есть исходники какого-либо проекта.


Все настройки, касающиеся конкретного железа (в моём случае это контроллер STM32F429 и девборда STM32F429DISCO), нужно подменить на свои. То же самое касается и путей.


Если готовы, то

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

QtCreator и его использование в качестве IDE для Rust

Reading time3 min
Views14K
В общем попросил я у коллеги маленький гайд по тому как настроить QtCreator в качестве IDE для Rust и с его разрешения выкладываю. Сам Я использую CLion и позже напишу о том как с ним дела обстоят на этом поприще. Мопед не мой. Я просто разместил объяву. (с)

Что нужно современному программисту в первую очередь? Развитое абстрактное мышление? Сильный бэкграунд в математике? Возможно стрессоустойчивость??

Конечно же нет! Самое главное — хорошая IDE.

image

Если вы тоже, попытавшись осилить Rust, взгрустнули, взглянув на areweideyet
— добро пожаловать под кат.
Читать дальше →

Основные понятия стандартной библиотеки С++

Reading time3 min
Views45K
Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем.

Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека STL содержит пять основных видов компонентов:

  • контейнер (container): управляет набором объектов в памяти.
  • итератор (iterator): обеспечивает для алгоритма средство доступа к содержимому контейнера.
  • алгоритм (algorithm): определяет вычислительную процедуру.
  • функциональный объект (function object): инкапсулирует функцию в объекте для использования другими компонентами.
  • адаптер (adaptor): адаптирует компонент для обеспечения различного интерфейса.


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

Интермодуляционные искажения в усилителях звуковой частоты и ООС — осторожно, опасные связи

Reading time11 min
Views47K


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

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


Нашли что-то интересное в содержании? Добро пожаловать под кат

SamsPcbGuide: Релиз первой версии книги

Reading time5 min
Views14K
Свершилось! Путь был длинным и, возможно, это только начало пути. Статей давно не было, в том числе и в «Компонентах и технологиях», потому что занимался подготовкой полноценной книги. Пересматривал, перепроверял, шлифовал материал и иллюстрации до мелочей, пока не убеждался в их (субъективном) совершенстве. Итак, представляю всем поклонникам жанра «Практические рекомендации по проектированию печатных плат» (электронная версия книги здесь).

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

SamsPcbGuide, часть 8: Как получить правильную осциллограмму

Reading time7 min
Views26K
Наверно, все умеют пользоваться осциллографом. Это очень легко – цепляешь «крокодил» к земле, остриё щупа – в необходимую точку измерения, регулируешь масштаб по вертикальной и горизонтальной осям и получаешь временную развёртку напряжения в этой точке. Да, так можно делать, но только если учитывать ряд факторов, о которых пойдёт речь в этой статье. А если не учитывать, то есть вероятность, что полученное на экране осциллографа изображение – бесполезная картинка. И чем меньше его стоимость, тем это более вероятно.
Читать дальше →

Внутренняя и внешняя линковка в C++

Reading time9 min
Views72K
Всем добрый день!

Представляем вам перевод интересной статьи, который подготовили для вас рамках курса «Разработчик C++». Надеемся, что она будет полезна и интересна для вас, как и нашим слушателям.

Поехали.

Сталкивались ли вы когда-нибудь с терминами внутренняя и внешняя связь? Хотите узнать, для чего используется ключевое слово extern, или как объявление чего-то static влияет на глобальную область? Тогда эта статья для вас.

В двух словах

В единицу трансляции включены файл реализации (.c/.cpp) и все его заголовочные файлы (.h/.hpp). Если внутри единицы трансляции у объекта или функции есть внутреннее связывание, то этот символ виден компоновщику только внутри этой единицы трансляции. Если же у объекта или функции есть внешнее связывание, то компоновщик сможет видеть его при обработке других единиц трансляции. Использование ключевого слова static в глобальном пространстве имен дает символу внутреннее связывание. Ключевое слово extern дает внешнее связывание.
Компилятор по умолчанию дает символам следующие связывания:

  • Non-const глобальные переменные — внешнее связывание;
  • Const глобальные переменные — внутреннее связывание;
  • Функции — внешнее связывание.


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

Домашняя электросеть

Reading time12 min
Views43K
Здесь часто возникает тема защиты оборудования в домашней электросети, но очень часть при описании базовых параметров устройств защиты информация не соответствует действительности или же, в лучшем случае, основана на отдельных примерах. Потому далее будет своеобразный ликбез о том, как правильно сделать вводный электрощиток.

Это не столько инструкция, сколько объяснение, что должно быть сделано, так как каждое подключение по сути индивидуально. В любом случае необходима консультация с учетом реальной ситуации.
Читать дальше →

В трёх статьях о наименьших квадратах: ликбез по теории вероятностей

Reading time10 min
Views23K
Полтора года назад я опубликовал статью «Математика на пальцах: методы наименьших квадратов», которая получила весьма приличный отклик, который, в том числе, заключался в том, что я предложил нарисовать сову. Ну, раз сова, значит, нужно объяснять ещё раз. Через неделю ровно на эту тему я начну читать несколько лекций студентам-геологам; пользуюсь случаем, излагаю тут (адаптированные) основные тезисы в качестве черновика. Моей основной целью не является дать готовый рецепт из книги о вкусной и здоровой пищи, но рассказать, почему он таков и что ещё находится в соответствующем разделе, ведь связи между разными разделами математики — это самое интересное!

На данный момент я предполагаю разбить текст следующим образом:


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

Насколько обоснован теорвер или верите ли вы в теорию эволюции?


Однажды мне задали вопрос, верю ли я в теорию эволюции. Прямо сейчас сделайте паузу, подумайте, как вы на него ответите.


Читать дальше →
Каждый, кто был на Хабре больше одного раза, знает о наших сервисах для профессионалов — Мой круг и Фрилансим. Первый помогает найти друг друга потенциальным работодателям и соискателям вакансий, второй — фрилансерам и заказчикам. Часто с помощью этих сервисов иностранный работодатель или заказчик ищет специалистов в России — порядка 30% пользователей Моего Круга и Фрилансим не из нашей страны. И неудивительно — российские айтишники востребованы за рубежом, и гонорары им переводят неплохие, в валюте. А вот как легализовать эти совершенно законно заработанные деньги — не всегда понятно даже тем, от кого профессия требует каждый день решать сложнейшие задачи. Как правильно оформить валютные платежи и какие налоги при этом заплатить — помогают разобраться эксперты банка Точка.
Подробности — под катом

Julia. Знакомство

Reading time7 min
Views73K

Ода Джулии



Очень трудно передать весь восторг, который сопутствовал запуску первых программ и исправлению первых ошибок с использованием этого языка. Прост и красив как Python, немножко похож на Fortran, удобная работа с массивами и графиками, а также возможность осуществлять лютую оптимизацию и распараллеливание даже для таких чайников, как я мои одногруппники. Можно работать на разных уровнях абстракции: от высокоуровневого программирования с динамической типизацией можно спуститься до ассемблерных команд, то есть, тут вам и питонская общедоступность и скорость выполнения фортрановских считалок. Не могу отделаться от ощущения, что Mathcad, Scilab и даже, прости Господи, C++ начинают в моем сердце уходить на второй план.

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

Основы электробезопасности при проектировании электронных устройств

Reading time12 min
Views72K
Привет, Хабр!

После волны, поднятой моим предыдущим постом, довольно заметное число людей спрашивали меня (в фейсбуке, в личке и т.п.), на что, собственно, обращать внимание, чтобы вместо умной розетки на ардуино не получить очередной тазик-эвтаназик.


Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
Читать дальше →

Простая нечеткая логика слеплена «из того что было» для газотурбинного двигателя

Reading time9 min
Views11K

В этой статье мы создадим модель регулятора на базе стандартной библиотеки структурного моделирования (без использования готовой библиотеки блоков нечёткого регулирования).
В качестве объекта управления будет использована модель газотурбинного двигателя из учебника В.И. Гостева «Нечеткие регуляторы в системах автоматического управления»
Выполним сравнение с ПИД и ПДД регуляторами.


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

STM32H7 — настройка тактирования без HAL

Reading time4 min
Views22K
Не так давно компания STM выпустила на рынок очень мощную, по меркам микроконтроллеров, линейку кристаллов STM32H7. Что меня в ней привлекло:

  • повышенная частота ядра до 400 МГц
  • увеличенный объем ОЗУ, до 1 МБ
  • 16 разрядный АЦП
  • pin-to-pin совместимость с серий F7

Отлично подумал я, запаял на плату кристалл STM32H743IIT6 вместо STM32F746IGT6 и начал новый проект в SW4STM32.
И вот что из этого получилось.

Information

Rating
10,482-nd
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity