Search
Write a publication
Pull to refresh
40
0
Алексей Столяренко @jaiprakash

Инженер

Send message

Сверхдлинное преобразование Фурье на FPGA

Reading time13 min
Views21K
Всем привет!

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

В этой статье показана невозможность реализации «классической» схемы очень длинного БПФ даже на самых современных кристаллах ПЛИС и предложен алгоритм, позволяющий это сделать. Также пошагово рассмотрена основная идея алгоритма: от математической составляющей до создания законченного решения на базе ПЛИС с использованием внешней DDR-памяти. Статья затронет тонкости проектирования многоканальных систем обработки для подобного класса задач и, в частности, опишет мой практический опыт.


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

“Протестируй на всех браузерах на телефоне” или инструменты для тестирования Mobile Web приложений

Reading time3 min
Views10K
На сегодняшний день телефоны являются наиболее популярным устройством. По мировой статистике они занимают самый высокий показатель использования, в сравнении с десктопом и планшетом.

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

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

Давайте для начала определимся, что является мобильным веб-приложением.

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

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

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

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

  • На реальном устройстве;
  • С помощью эмулятора;
  • C помощью симулятора.

Каждый проект уникален и требует свой собственный подход. Чтобы сделать выбор (или использовать и то и то), я сделала небольшой анализ плюсов и минусов каждого из вариантов:

Реальные устройства:

+ Точность результатов;
+ Облегчает тестирование ориентации устройства;
- Дорого;
- Трудоемкий процесс создания и последовательного воспроизведения
результатов;
Читать дальше →

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

Reading time5 min
Views6K


Однажды нам поступил интересный заказ на разработку и производство партии контроллеров для управления элементами наружной рекламы (ЭНР).

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

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

О том как начиналась разработка будет рассказано в первой части статьи.
Читать дальше →

ModBus Slave RTU/ASCII без смс и регистрации

Reading time31 min
Views11K
image

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

Большой тест батареек Крона

Reading time3 min
Views43K
Весной я протестировал 9 батареек типа «Крона». Тогда был жёсткий карантин и в тест попали лишь те батарейки, которые удалось купить в ближайших магазинах, а также те и батарейки, что были у меня дома. Из-за этого несколько батареек оказались с истекающим сроком годности и в тест не попали батарейки самых известных брендов.

Теперь я постарался собрать популярные батарейки этого типа и протестировал 20 щелочных батареек 6LR61 и 3 солевые батарейки 6F22.

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

Мама, я сделал Хабр

Reading time3 min
Views55K


Мне 17 лет и я уже несколько месяцев делаю клон мобильного приложения Хабра, назвав его соответствующе, модно, со стилем и пафосной точкой в конце — habra. Получилось реализовать несколько фич, которых пока нет ни в официальном приложении из плей маркета, ни на самом сайте.


Ссылка на web-приложение для самых нетерпеливых — habra.js.org. Всех остальных — прошу под кат.

Zx spectrum128, CP/M 2.2 и терминал на STM32F407

Reading time4 min
Views25K
Нарисовав черно-белый Spectrum48 за $3 на телевизоре и получив вопросы как: «а почему не цветной», «а почему без музыки», «а где НЕИГРУШКИ» — решил поправить и опубликовать менее бюджетную версию, Spectrum128+СP/M, примерно на $25 железа.


Сохраняем музыку на C#

Reading time3 min
Views9.8K
image
В 2020ом мы пользуемся разными музыкальными сервисами, но как реликт ушедшей эпохи, в забытом профиле ВК, у многих хранится музыка. Функции для загрузки нет, но что если позарез нужно спасти аудиозапись?
Поскольку такого софта в открытом доступе не обнаружилось, кроме парочки веб-сервисов требующих авторизацию через ВК (что не очень то и безопасно), под катом мы рассмотрим процесс создания self-hosted утилиты на современном C# для загрузки своих аудио, не сливающей данные профиля сторонним сервисам.
Читать дальше →

Chuwi выпустила крохотный ПК с 6 ГБ ОЗУ и четырехъядерным процессором

Reading time2 min
Views60K

Летом китайская компания Chuwi выпустила миниатюрный ПК, который помещается на ладони, но при этом способен служить медиацентром или офисным ПК с ОС Windows или Linux. Конечно, его можно использовать и для решения других задач.

Сейчас этот ПК усилили, снизив при этом цену. Размеры компьютера, который называется Chuwi LarkBox Pro, не изменились — 2.4″ x 2.4″ x 1.7″. О характеристиках и возможностях — под катом.

Как я написал диплом по химии с (Xe)LaTeX

Reading time8 min
Views18K
Эту статью я задумал еще на втором курсе, когда впервые решил перейти с Word'а на LaTeX. В конце третьего курса я ее начал, и, наконец, после защиты диплома я нашел в себе силы ее дописать. Здесь я постарался собрать свой опыт (и созданные костыли, куда же без них) в использовании LaTeX при подготовке текста, связанного с химией и в решении тех проблем, с которыми столкнулся я.
Читать дальше →

Рецепт неуспеха

Reading time5 min
Views9.4K

… или самые частые ошибки фаундеров.


Признаюсь: сам запускал стартапы. Какие-то более успешно, какие-то менее. Если вдруг деньги кончались, занимался консалтингом (как тот самый кот). В итоге, знакомился с разными хорошими людьми, что помогало и мне, и им двигаться дальше.


За это время мне удалось оценить сотни pitch decks. Удалось поработать со стартапами, чтобы улучшить идеи, реализовать и запустить их продукты.


Здесь собраны самые частые ошибки, которые я видел за последние 10 лет. Все они основаны либо на личном опыте, либо на опыте фаундеров, с кем я общался. Часть ошибок типична только для русскоговорящих фаундеров, но большинство из них — универсальны.


Итак, как же фаундеры стреляют себе в ногу?


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

Сравнение встраиваемых ЯП по размеру в исполняемом файле

Reading time5 min
Views6.4K

В рамках одного из моих SDK-проектов нам понадобилось добавить скриптование, которое бы оказало наименьший эффект на размер конечного бинарного файла, но при этом предоставляло хорошую фунциональность. Это дало старт проекту, который описан в этой статье. Прошу заметить, что т.к. в SDK у нас есть определенные требования, они частично перенеслись на язык скриптования, поэтому в проекте не участвовали некоторые достаточно известные встраиваемые ЯП (но Lua включен для сравнения).


Сайт проекта доступен по ссылке. Скажу сразу, что на данный момент для меня лично победителями являются Chibi-Scheme и Wasm3. Подробности для заинтересовавшихся под катом.

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

Спутниковая связь против экологических катастроф? Решение дешевле и проще чем вы думаете

Reading time11 min
Views12K


В одной из прошлых своих статей я делал обзор микроконтроллеров, а сегодня речь пойдёт о модуле, который поможет им спасти мир. Ну, во всяком случае, от экологических катастроф. Хитроумные датчики на основе микроконтроллеров способны сегодня на многое. Они умеют контролировать уровень воды, определять степень её загрязнения, распознавать подозрительный шум в турбинах, оценивать малейшие отклонения ориентации и даже опасный уровень напряжения в конструкциях зданий и сооружений… На основе результатов их работы можно с большой вероятностью предсказать нарастающую опасность возникновения экологической катастрофы. Есть, однако, серьёзная проблема — катастрофы имеют обыкновение происходить неожиданно и зарождаться в отдалённых безлюдных местах, порой не охваченных даже сотовой связью. Передать сигнал тревоги в таких условиях бывает совсем не просто. На помощь в таких случаях приходит спутниковая связь. “Но ведь это очень сложно и дорого” — скажете вы.

Года три назад я считал так же, пока не столкнулся в ходе одного из своих проектов с элегантным и недорогим решением проблемы. Оказывается уже давно существует достаточно доступный модуль, на основе которого можно создать автономный спутниковый передатчик. Одного комплекта батареек будет достаточно для поддержания устройства в работоспособном состоянии в течении длительного периода времени — от нескольких месяцев до нескольких лет.
Если есть желание познакомиться с темой поближе и не жалко потратить десяток минут своего драгоценного времени — милости прошу под кат.
Как это работает?

Платформа с web-камерой на ESP32

Reading time16 min
Views47K
Идея собрать мобильную платформу с web-камерой на борту появилась практически спонтанно. Мне хотелось иметь в арсенале скромной домашней автоматизации что-то вроде IP-камеры. И тут вопрос не столь в цене или качестве, сколь в своеобразном творческом эксперименте. Материалом для вдохновения были различные статьи DIY и проекты вроде этого.

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

STM32F3xx + FreeRTOS. Modbus RTU с аппаратным RS485 и CRC без таймеров и семафоров

Reading time9 min
Views30K
Всем привет! Относительно недавно, закончив ВУЗ, я попал в небольшую компанию, которая занималась разработкой электроники. Одна из первых задач с которой я столкнулся — необходимость в реализации Modbus RTU Slave протокола с использованием STM32. С грехом пополам я её тогда написал, однако этот протокол начал встречаться мне из проекта в проект и я решил зарефакторить и оптимизировать либу с использованием FreeRTOS.
Читать дальше →

Создание favicon для сайта 2020

Reading time10 min
Views146K

Что такое favicon и для чего он нужен?


Favicon – это значок (иконка), который отображается во вкладке браузера, закладках, а также в сниппетах результатов поиска.

image

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

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

Какой формат использовать для favicon?


Раньше в качестве основного формата использовали ICO. Особенность данного формата – мульти-размерность. Данный файл может хранить в себе несколько размеров иконки. На смену ICO пришел формат PNG. ICO все еще поддерживаемый, но большинство современных браузеров выбирают PNG формат иконки, который легче. Некоторые браузеры не могут выбрать правильный значок в файле ICO, что приводит к неправильному использования значка с низким разрешением.

О каких платформах пойдет речь в этой статье?


  • Десктопные браузеры
  • Chrome на Android
  • Иконка закладки в iOS (PWA)
  • macOS
  • Windows

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

Javascript фреймворк разработки бизнес приложений

Reading time6 min
Views9.7K

Мысль о своем фреймворке зародилась когда я еще активно работал с 1С. Хотелось иметь простую и открытую платформу для создания несложных бизнес приложений (простые системы учета, CRM и прочие).Не раз искал open source решения, но ничего подходящего не находил.

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

Хоть с HabraERP дальше обсуждений дело не пошло, я понял, что создание нужной мне платформы-фреймворка - возможно.

Спустя неполных 10 лет я готов представить вам KateJS - открытый javascript фреймворк разработки бизнес приложений.

Читать далее

Программирование устройств на основе модуля ESP32

Reading time26 min
Views272K
Микроконтроллер — это интегральная схема, способная выполнять программы. Сегодня на рынке представлено множество таких моделей от самых разных производителей. Цены на эти устройства продолжают падать. Однокристальные чипы находят широкое применение в самых разнообразных сферах: от измерительных приборов до изделий развлечений и всевозможной домашней техники. В отличие от персональных компьютеров микроконтроллер сочетает в одном кристалле функции процессора и периферийных устройств, содержит оперативную память и постоянное запоминающее устройство в для хранения кода и данных, однако обладает значительно мешьшими вычислительными ресурсами. ESP32 — это микроконтроллер, разработанный компанией Espressif Systems. ESP32 представляет собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами. В серии ESP32 используется ядро Tensilica Xtensa LX6. Платы с ESP32 обладают хорошей вычислительной способностью, развитой периферией и при этом весьма популярны ввиду низкой цены в диапазоне 7$ – 14$: Aliexpress, Amazon.

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

Определяем направление на аэропорт с помощью RTL-SDR и GNU Radio

Reading time4 min
Views18K
Привет, Хабр!

В настоящее время существует не так уж много стандартов связи, которые с одной стороны, любопытны и интересны, с другой стороны, их описание не занимает 500 страниц в формате PDF. Одним из таких, несложных для декодирования, является сигнал VHF Omni-directional Radio Beacon (VOR), используемый в аэронавигации.


VOR Beacon (с) wikimedia.org

Для начала вопрос читателям — как сформировать сигнал так, чтобы с помощью ненаправленной приемной антенны можно было определять направление? Ответ под катом.
Читать дальше →

Мультисенсорный беспроводной микро DIY датчик

Reading time4 min
Views17K
DIY, как говорит Википедия, это уже давно субкультура. В этой статье хочу рассказать о своем diy проекте небольшого беспроводного мультисенсорного датчика, и это будет моим небольшом вкладом в данную субкультуру.

История этого проекта началась с корпуса, это звучит по-дурацки, но именно так этот проект и начался. Корпус был куплен на сайте Алиэкспресс, надо отметить что качество отливки пластика у этого корпуса отличное. После недолгой переписки с продавцом на почту был выслан чертеж и данный проект начался.


Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity