Pull to refresh
16
0
Send message

Кодирование Рида-Соломона для чайников

Reading time14 min
Views24K

Есть способ передавать данные, теряя часть по пути, но так, чтобы потерянное можно было вернуть по прибытии. Это третья, завершающая часть моего простого изложения алгоритма избыточного кодирования по Риду-Соломону. Реализовать это в коде не прочитав первую, или хотя бы вторую часть на эту тему будет проблематично, но чтобы понять для себя что можно сделать с использованием кодировки Рида-Соломона, можно ограничиться прочтением

этой статьи
Total votes 16: ↑16 and ↓0+16
Comments5

3. Частотные характеристики звеньев и систем автоматического управления. ч. 3.2 Простейшие типовые звенья

Reading time6 min
Views36K

Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!


Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


В предыдущих сериях:
1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.3, 2.3 — 2.8, 2.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ (РЕГУЛИРОВАНИЯ).
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ.


Тема сегодняшней статьи:
3.2. Типовые звенья систем автоматического управления (регулирования). Классификация типовых звеньев. Простейшие типовые звенья.

Хочешь вкусить плодов познания? — Грызи гранит науки!



Читать дальше →
Total votes 16: ↑10 and ↓6+4
Comments22

Теория инвестиций для начинающих, часть 3

Reading time20 min
Views17K
Паулюс Поттер. Медвежья охота. 1649 г. Государственный музей, Амстердам.

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

  • как оценить, насколько успешен портфельный управляющий (посчитать связь доходности портфеля с доходностью рынка);
  • кто такая «альфа», и почему все её ищут (доход, превышающий обычную премию за систематический риск);
  • какой из участвовавших в сравнении фондов российских акций показал лучший результат (личный портфель автора!);
  • какой фокус позволил автору заработать «альфу» (ставка на конкретный систематический риск, который не видит наивная модель).
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments18

Байесовский анализ в Python

Reading time8 min
Views57K
Этот пост является логическим продолжением моего первого поста о Байесовских методах, который можно найти тут.
Я бы хотел подробно рассказать о том, как проводить анализ на практике.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments18

9 ключевых алгоритмов машинного обучения простым языком

Reading time15 min
Views81K
Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum.

Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix использует его, чтобы рекомендовать вам фильмы на вечер. А Facebook использует его, чтобы предложить вам новых друзей, которых вы можете знать.

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

Эта статья познакомит вас с фундаментальными концепциями в области машинного обучения. А конкретнее, мы обсудим основные концепции 9ти самых важных алгоритмов МО на сегодняшний день.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments5

Собеседование наоборот: вопросы соискателя к компании

Reading time6 min
Views75K
Всем привет! Хочу очередной раз поднять тему про найм. Только я собираюсь поговорить об этом с точки зрения кандидата, а не работодателя. Ведь собеседование, вопреки многим стереотипам, процесс двусторонний — вопросы может задавать не только интервьюер, но и сам соискатель. За прошлый год я провёл порядочное количество собеседований, и абсолютное большинство кандидатов огорчило меня отсутствием вопросов о компании, всего 5 человек стали меня расспрашивать о работе.

Я же считаю, что вопросы на собеседовании должен задавать и сам кандидат, ведь ему предстоит там работать. Из стандартного описания вакансии невозможно понять, что творится в компании, да и на собеседовании принято всё немного приукрашивать. Я думаю, что соискатель должен максимально использовать собеседование для того, чтобы выяснить реальное положение дел в компании. Мало кому захочется попасть в некомфортные условия или в убыточную компанию без перспектив. Если интересно, как во время собеседования получить реальное представление о компании, то добро пожаловать под кат. Я дам список вопросов, которые обычно не ждут интервьюеры, возможно кому-то они помогут принять правильное решение при поиске работы.

image
Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments130

Бесплатные онлайн-курсы по Automotive, Aerospace, робототехнике и инженерии (50+)

Reading time10 min
Views14K
Подписывайтесь на каналы:
@AutomotiveRu — новости автоиндустрии, железо и психология вождения
@TeslaHackers — сообщество российских Tesla-хакеров, прокат и обучение дрифту на Tesla


Спрос на крутых специалистов в автоиндустрии растёт и будет расти. В современных автомобилях строк кода больше, чем в космических кораблях, боевых самолетах и операционных системах. Доля стоимости ПО в автомобилях в скором времени дойдет до 50%. Каждый компонент автомобиля стремится стать «умным».

Предлагаем вашему вниманию подборку онлайн-курсов для самостоятельного изучения и повышения компетентности в области automotive.

Бесплатные курсы от edX (36)


Road Traffic Safety in Automotive Engineering

от Chalmers University of Technology

Изучите основы пассивной и активной безопасности в автомобильной технике.


Длительность: 7 недель
Нагрузка: 10-20 часов в неделю
Сложность: Advanced
Цена: бесплатно (сертификат за $249)
Total votes 13: ↑12 and ↓1+11
Comments7

Юнит-тесты в uVision Keil (и не только)

Reading time33 min
Views9.4K

КПДВ


Не утихают споры о том, нужны ли юнит-тесты вообще, а если нужны — то как именно их писать. Сначала писать код или сначала писать тесты? Допустимо ли нарушать инкапсуляцию при тестировании или же можно трогать только публичное API? Сколько процентов кода должно быть покрыто тестами?


Тестирование во встраиваемых системах тоже порождает немало споров. Точки зрения разнятся от "покрытие должно быть 100% + нужны испытательные стенды" до "какие еще тесты, я программу написал — значит все работает".


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

Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments35

Генерация и тестирование ядра RISC-V

Reading time5 min
Views11K
Как я писал в прошлом посте, название моего проекта на GSoC-2016 — «порт RISC-V на Parallella», и первая вещь, которую я должен был сделать, это познакомиться с экосистемой RISC-V. Один из лучших способов это сделать, — посмотреть видео с презентации первого воркшопа RISC-V на Youtube. Для того, чтобы понять самые важные концепции, я рекомендую следующие презентации:


Ещё одна ссылка, если вы интересуетесь Chisel, языком, основанным на Scala, который используется для описания текущей аппаратной реализации ядра RISC-V (ядро Rocket имеет in-order конвейер, BOOM — out-of-order), и любых будущих реализаций.

Краткое руководство по Chisel (Jonathan Bachrach) видео слайды

Работа с Rocket Chip, добавление расширений, инфраструктура ASIC и FPGA (Colin Schmidt) видео слайды

Если вы глубоко заинтересованы в RISC-V и развитии сообщества, я предлагаю вам принять участие в воркшопах.


Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments24

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio

Reading time14 min
Views18K
Привет, Хабр.

Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию модема с помощью OFDM и GNU Radio.

Данные мы будем передавать по воздуху, в прямом смысле этого слова — для приема и передачи будет достаточно динамика и микрофона.

Для тех, кому интересно как это работает, продолжение под катом.
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments16

Обзор возможностей Qt Creator 4.12 и QBS 1.16 для программирования микроконтроллеров

Reading time4 min
Views4.3K
Здравствуйте, товарищи программисты «железячники» и все кто им сочувствует. Я хотел бы продолжить обзор возможностей IDE Qt Creator в связке с системой сборки QBS в части программирования микроконтроллеров.

Ранее я уже писал про улучшения в предыдущих версиях QtC 4.10 и QBS 1.14, QtC 4.11 и QBS 1.15.

Кому эта тема интересна, добро пожаловать по кат.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments15

Фильтр Калмана — Введение

Reading time5 min
Views259K
Фильтр Калмана — это, наверное, самый популярный алгоритм фильтрации, используемый во многих областях науки и техники. Благодаря своей простоте и эффективности его можно встретить в GPS-приемниках, обработчиках показаний датчиков, при реализации систем управления и т.д.

Про фильтр Калмана в интернете есть очень много статей и книг (в основном на английском), но у этих статей довольно большой порог вхождения, остается много туманных мест, хотя на самом деле это очень ясный и прозрачный алгоритм. Я попробую рассказать о нем простым языком, с постепенным нарастанием сложности.
Читать дальше →
Total votes 157: ↑151 and ↓6+145
Comments50

Байесовский ниндзя

Reading time3 min
Views9.8K

Coderik однажды отметил: "Фильтра Калмана много не бывает". Так же можно сказать и о теореме Байеса, ведь это с одной стороны так просто, но с другой стороны так сложно осмыслить её глубину.


Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments15

.Net Core Api: получение данных в запросе из разных источников

Reading time8 min
Views9K
В .Net Core есть встроенный механизм Model Binding, позволяющий не просто принимать входные параметры в контроллерах, а получать сразу объекты с заполненными полями. Это позволяет встроить в такой объект все нужные проверки с помощью Model Validation.

Вот только данные, нужные для работы API, приходят нам не только из Query или Body. Какие-то данные нужно получить из Headers (в моем случае там был json в base64), какие-то — из внешних сервисов или ActionRoute, если вы используете REST. Для получения данных оттуда можно использовать свой Binding. Правда и тут есть проблема: если вы решили не нарушать инкапсуляцию и инициализировать модель через конструктор, то придется пошаманить.

Для себя и для будущих поколений я решил написать что-то вроде инструкции по использованию Binding и шаманство с ним.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments17

Асинхронное программирование с async/await

Reading time9 min
Views27K
Доброго времени суток, друзья!

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

Условия: базовая компьютерная грамотность, знание основ JS, понимание азов асинхронного кода и обещаний.
Цель: понять, как устроены обещания, и как они используются.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments2

Must-have алгоритмы машинного обучения

Reading time5 min
Views30K
Хабр, привет.

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи. Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки.

Метод главных компонент (PCA)/SVD


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

image

SVD — это способ вычисления упорядоченных компонентов.

Полезные ссылки:


Вводный гайд:

Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments6

Введение в ELF-файлы в Linux: понимание и анализ

Reading time11 min
Views90K
Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внутрь. И таким же оказывается ELF, Executable and Linkable Format. Формат файлов, который используется повсеместно, но мало кто его понимает. Это краткое руководство поможет вам достичь понимания.



Прочтя это руководство, вы изучите:

  • Зачем нужен формат ELF и для каких типов файлов он используется
  • Структуру файла ELF и детали его формата
  • Как читать и анализировать бинарное содержимое файла ELF
  • Какие инструменты используются для анализа бинарных файлов
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments15

Чтение для аудиомана: старое железо, ретроформаты, «блеск и нищета» в музыкальной индустрии

Reading time5 min
Views6.4K
В нашем мегадайджесте говорим о тонкостях работы в аудиоиндустрии, рассказываем историю необычных музыкальных инструментов плюс вспоминаем сказки и радиоспектакли Советского Союза.

Total votes 13: ↑11 and ↓2+9
Comments0

Запись сверх-широкополосных сигналов стандарта 802.15.4 UWB на почти санкционной технике

Reading time4 min
Views13K

image


Недавно два совершенно разных мира сошлись в нашей лаборатории: мир недорогих радио-трансиверов и мир дорогущих систем записи широкополосных радио-сигналов.

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments45

Алгоритм Кэхэна: как получить точную разность произведений

Reading time5 min
Views9.1K
image

Недавно я вернулся к анализу погрешностей чисел с плавающей запятой, чтобы усовершенствовать некоторые детали в следующей редакции книги Physically Based Rendering. Числа с плавающей запятой — интересная область вычислений, полная сюрпризов (хороших и плохих), а также хитрых трюков, позволяющих избавиться от неприятных неожиданностей.

В процессе работы я наткнулся на этот пост на StackOverflow, из которого узнал об изящном алгоритме точного вычисления $a \times b-c \times d$.

Но прежде чем приступать к алгоритму, нужно понять, что же такого хитрого в выражении $a \times b-c \times d$? Возьмём $a=33962.035$, $b=-30438.8$, $c=41563.4$ и $d=-24871.969$. (Это реальные значения, которые получились у меня во время запуска pbrt.) При 32-битных значениях float получаем: $a \times b=-1.03376365 \times 10^9$ и $c \times d=-1.03376352 \times 10^9$. Выполняем вычитание, и получаем $-128$. Но если выполнить вычисления с двойной точностью, а в конце преобразовать их во float, то получится $-75.1656$. Что произошло?

Проблема в том, что значение каждого произведения может сильно выйти за нижнюю границу $-1 \times 10^9$, где расстояние между представимыми значениями с плавающей запятой очень велико — 64. То есть при округлении $a \times b$ и $c \times d$ по отдельности до ближайшего представимого float, они превращаются в числа, кратные 64. В свою очередь, их разность будет кратной 64, и не останется никакой надежды, что она станет к $-75.1656$ ближе, чем $-64$. В нашем случае результат оказался ещё дальше из-за того, как два произведения были округлены в $-1 \times 10^9$. Мы напрямую столкнёмся со старым добрым катастрофическим сокращением1.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments9

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity