Рубрика «dsp»

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

Когда мне была поставлена задача разработать приложение для DSP-процессора, визуализирующее работу БПФ, я понял, что моделирование волн отлично подойдет для этой цели.
Моделирование водной поверхности с применением БПФ и DSP-процессора NeuroMatrix - 1
Читать полностью »

Не для кого не секрет, что сложные современные преобразователи, например, online UPS, работают под управлением DSP/МК или ASIC. Основными поставщиками DSP для силовой электроники являются две компании — Texas Instruments и Infineon, но сегодня речь пойдет о продукции компании STMicroelectronics — серии STM32F334. Данная линейка МК предназначена для управления электроприводом и построения силовых преобразователей: PFC, инверторов, импульсных блоков питания, UPS и прочих.

Конечно, серия F334 не может противостоять «мощи» таких популярных решений как TMS320F28335 и прочим, но у нее есть одно важное преимущество — стоимость. Старший камень STM32F334R8T6 стоит 5$, имеет на борту необходимый набор периферии (HRPWM, ADC, компараторы) и производительность для построения достаточно мощных преобразователей (десятки кВт) с хорошей надежностью и устойчивостью к отказу.

Для разработчика электроники важна экосистема вокруг того DSP/МК с которым он работает: документация, отладочные средства, примеры кода и железа. У TI все это имеется, да — дорого, да — сложно купить, но есть и именно поэтому в большинстве современных решений в области электропривода и энергетики стоят TMS320. Компания ST же почему-то обошла вниманием серию F334, хотя документация хорошего качество как и на любой STM32 имеется, а вот примеры железа с полноценным кодом и отладочные платы отсутствуют (игрушка F3348-Disco не считается). Что же — будем исправлять этот недостаток.

В своей прошлой статье я рассказал о своем проекте «комплекта разработчика» и даже продемонстрировал один из компонентов — силовой модуль. Сегодня я расскажу о 2-м (всего их будет 3) модуле, который позволяет реализовать любую топологию преобразователя и при этом стоит в разы дешевле конкурентов. Проект разумеется открыт и все исходники можно посмотреть в конце данной статьи.

Модуль управления силовым преобразователем: разработка и сборка - 1
Читать полностью »

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

Сам процесс разбиения математически представляется умножением на некоторую весовую (оконную) функцию со смещением. Для самого простого окна — прямоугольного — это может выглядеть так:

Исходный сигнал:

Проектирование оконных функций, суммирующихся в единицу с заданным уровнем перекрытия - 1

Разбиения:

Проектирование оконных функций, суммирующихся в единицу с заданным уровнем перекрытия - 2
Читать полностью »

Дисклеймер: Я не рассматриваю какие-либо алгоритмы и API для работы со звуком и распознаванием речи. Эта статья о проблемах при работе с аудио и об их решении с помощью Go.

gopher

phono — прикладной фреймворк для работы со звуком. Его основная функция — создать конвейер из разных технологий, который обработает звук за вас нужным вам образом.

При чём тут конвейер, к тому же из разных технологий и зачем ещё один фреймворк? Сейчас разберёмся.

Читать полностью »

Ad Exchange в рамках Real-Time Bidding (RTB) — одно из AdTech-решений, видоизменяющих рынок онлайн-рекламы. Его основная функция — стыковка большого количества SSP и DSP, которые не имеют прямой интеграции между собой, а также перепродажа разнообразного рекламного трафика между ними.

Благодаря заказу для рынка США мы с головой погрузились в специфику построения платформы Ad Exchange. И в этой статье представляем некоторые идеи и результаты.

image
Читать полностью »

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

Тренинг FastTrack. «Сетевые основы». «Строение роутеров, платформы маршрутизации от Cisco». Эдди Мартин. Декабрь, 2012 - 1

Мы продолжаем цикл из 27 статей на основе его лекций:

Тренинг FastTrack. «Сетевые основы». «Понимание модели OSI». Часть первая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Понимание модели OSI». Часть вторая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Понимание архитектуры Cisco». Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Основы коммутации или свитчей». Часть первая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Основы коммутации или свитчей». Часть вторая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Свитчи от Cisco». Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Область использования сетевых коммутаторов, ценность свитчей Cisco». Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Основы беспроводной локальной сети». Часть первая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Основы беспроводной локальной сети». Часть вторая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Продукция в сфере беспроводных локальных сетей». Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Ценность беспроводных локальных сетей Cisco». Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Основы маршрутизации». Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Строение роутеров, платформы маршрутизации от Cisco». Эдди Мартин. Декабрь, 2012

И вот тринадцатая из них.
Читать полностью »

Java — язык программирования общего назначения. Общего назначения — значит можно писать почти любые программы. Вот я и попытался написать программу, которую обычно пишут на С или C++. Под катом я попытаюсь рассказать, как я декодировал спутниковые снимки с Метеор-М №2.

DSP in Java

Читать полностью »

Одна из самых заметных проблем, с которыми сталкиваются разработчики встроенных систем, — это разнообразие технических требований к организации внешнего интерфейса ввода-вывода. Независимо от того, будь то Ethernet с оптическим или «медным» физическим уровнем передачи данных, аналоговый интерфейс или гигабитный последовательный интерфейс, разработчикам системы требуется набор средств для эффективного создания необходимого сочетания интерфейсов в вычислительной системе.

Мезонинные модули стандарта FMC для построения высокопроизводительных систем обработки сигналов - 1
Мезонинный модуль стандарта FMC
Читать полностью »

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

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

image

Мой рукодельный терминатор будет несколько упрощён — он не сможет ходить, стрелять, говорить "I'll be back". Единственное на что он будет способен — распознать голос Коннора, ежели он его услышит (ну или, например, Черчилля, если его тоже надо будет найти).

Читать полностью »

Продолжаем серию статей, посвященных многоядерным цифровым сигнальным процессорам TMS320C6678. В данной статье будет рассмотрена подсистема памяти ядра. Архитектура памяти процессора — один из ключевых моментов, напрямую влияющих на его эффективность. Знание особенностей организации архитектуры памяти позволяет разработчику более рационально использовать ресурсы DSP. Современные процессоры имеют достаточно сложную архитектуру памяти, включающую несколько уровней и контроллеры кэш. При этом в случае DSP работа с памятью усложняется наличием свободы выбора объемов кэш-памяти на разных уровнях, а для многоядерных процессоров характерна проблема синхронизации кэш разных ядер.
Читать полностью »