Рубрика «цифровая обработка сигналов»

Про РЧ-СВЧ для программистов: теорема Найквиста — Шеннона в картинках - 1

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

Код фильтра и теста

Вначале представим то, что можно быстро скопировать и вставить. Структура и функция расчёта одной итерации фильтра:

typedef struct FirFrac15 {
  int16_t x, x_1, y, y_1;
} FirFrac15;

#define N 3 //задание полосы пропускания (целое число)
void FirFrac15Calc(FirFrac15 *Filter) {
  register int32_t Acc;
  register int16_t xAcc = Filter->x + Filter->x_1;
  Acc = (((int32_t)Filter->y_1 << (N + 1)) - ((int32_t)Filter->y_1 << 1) + (int32_t)xAcc) >> (N + 1);
  Filter->y = (int16_t)Acc;
  Filter->x_1 = Filter->x; // входной отсчёт и запаздывающий на один
  Filter->y_1 = Filter->y; // выходной отсчёт и запаздывающий на один
}

Скетч для тестирования:

Читать полностью »
Винтажный цифровой дисторшн Roland V-Guitar GR-D - 1

Привет! Сегодня мы познакомимся с интересным артефактом из недалёкого прошлого. Выпуск этой педали эффектов был начат в 2012 году, когда технологии цифровой обработки звука электрогитары переживали бурное развитие, в котором лидировала японская компания Roland.

Уже в марте 2009 года, за неполные семь лет, мировые продажи гитарных комбоусилителей культовой серии Roland CUBE перевалили за миллион экземпляров. Помню, какое восхищение вызвал у меня мой первый Micro CUBE в середине нулевых.

Эффекты серии GR стали воплощением следующей ступени эволюции технологий Roland. Мощностей тогдашних DSP всё ещё не хватало, чтобы полноценно заменить настоящий аналоговый аудиотракт, но результаты были впечатляющими. Могут ли они пригодиться сегодня?
Читать полностью »

Тема данной статьи была навеяна публикацией Автокорреляционная функция фликкер-шума / Хабр, в которой даны теоретические оценки автокорреляционной функции фликкер-шума. Однако, практическое сравнение было дано лишь для броуновского шума, потому что он тривиально получается из белого шума интегрированием. Проверка розового шума осталась под вопросом, потому что для его генерации во временной области требуется "расщепить" интегратор на два одинаковых каскада, что, как будет показано далее, нетривиально, а практическая реализация может быть лишь приближенной.

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

PyGame — это популярная библиотека для разработки 2D игр на Python. Первоначальная версия PyGame была представлена Питом Шиннерсом в октябре 2000 года, и с тех пор библиотека постепенно завоевала популярность благодаря простоте в использовании, хорошей документации и активному сообществу. Изначально PyGame создавался для работы с ранними версиями Python (в том числе Python 2) и основывался на библиотеке SDL 1. SDL – это кроссплатформенная библиотека на языке C, предоставляющая низкоуровневый доступ к аудиоустройствам, клавиатуре, мыши и графическим функциям через OpenGL, DirectX и др.

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

На прошлой неделе мы представили подборку литературы для тех, кто желает «погрузиться» в поиск музыкальной информации (MIR). Сегодня — представим материалы о цифровой обработки сигналов и акустических плагинов.

Фотография: Andy Makely. Источник: Unsplash.com
Фотография: Andy Makely. Источник: Unsplash.com

Designing Audio Effect Plug-Ins in C++

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

Разработка своего устройства от А до Я. Часть 1: От концепции до макета - 1

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

  • Часть 1: От концепции до макета
    • Что такое электронное устройство
    • Концепция устройства
    • Функциональная схема
    • Принципиальная схема
    • Закупка компонентов
    • Макетирование и симуляция устройства
  • Часть 2: Создание устройства
    • Разработка печатной платы
    • Разработка корпуса и оснасток
    • Верификация и исправление ошибок
    • Отправка платы на производство
    • Создание корпуса
    • Сборка и отладка устройства

Далее повествование будет вестись от лица сотрудника.

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

Известно, что семейство микроконтроллеров STM32F4xx, имея на борту достаточно производительные ядра, вполне подходящие для «не мясорубочных» задач ЦОС не имеют полноценного интерфейса ввода данных с простейшей параллельной шины в режиме «pipe-line» (clk-data). «Покурив» «dm00037051.pdf», нашел не специфичный, но на первый взгляд подходящий вариант – интерфейс DCMI (Digital camera interface).

Конечно, использование для нагруженной классической ЦОС (КИХ, БИХ, FFT) микроконтроллеров STM32, не совсем является оптимальным вариантом, но если вдруг так легли карты и все-таки возможностей данного микроконтроллера вполне достаточно, плюс нужно достаточное количество низкоскоростных интерфейсов. Об этом под катом.

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

Важной практической задачей является использование Matlab/Simulink с реальной аппаратурой которая позволит принять сигнал из реального мира. Это очень полезно для отладки алгоритмов. В данной работе представлена технология подключения к Simulink устройств АЦП производства АО «ИнСис». Для подключения используется DLL, которая видна в Simulink как компонент sm_adc. Для работы с аппаратурой используется отдельная консольная программа. Связь с DLL производится через разделяемую память. По данной технологии могут быть подключены любые АЦП на любых несущих модулях АО «ИнСис». В работе представлена система из генератора A7_DAC и модуля сбора FMC128E/FM412x500M.

Данная работа демонстрировалась на конференции «Технологии разработки и отладки сложных технических систем» 27-28 марта 2018 года.

Применение MATLAB-Simulink с аппаратурой производства АО «ИнСис» - 1

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js