Гость Andrey-Docent

Реализация фильтра звуковой частоты

9 сообщений в этой теме

Гость Andrey-Docent   
Гость Andrey-Docent

Здравствуйте!

Решил сделать цифровой фильтр звуковой частоты на микроконтроллере. На данный момент делаю математическую модель дискретного преобразования Фурье. Общая идея следующая: поступающий аудио-сигнал преобразуется АЦП и получается последовательность вещественных чисел (временная область) после преобразования Фурье получается последовательность комплексных чисел, представляющих спектр сигнала (частотная область), далее с этой последовательностью проводятся некоторые манипуляции, а затем далее проводится снова преобразование Фурье и получается сигнал во временной области, полученный сигнал поступает на ЦАП, а далее на усилитель.

 

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

 

Подскажите, пожалуйста где у меня ошибка и как следует правильно отфильтровывать звуковые сигналы. Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
aitras    1 503

Линейный цифровой фильтр. Комплексных чисел там нет - одни сложения и умножения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Andrey-Docent   
Гость Andrey-Docent
13 часа назад, aitras сказал:

Линейный цифровой фильтр. Комплексных чисел там нет - одни сложения и умножения.

А тебе не трудно будет продемонстрировать работу на примере хотя бы простой последовательности, например из 8 чисел?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    855
15 часов назад, Гость Andrey-Docent сказал:

Решил сделать цифровой фильтр звуковой частоты на микроконтроллере.

Смысл? Качество же будет паршивым. Да и обработка медленная. Есть же спец процессоры для этого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
aitras    1 503
3 часа назад, Гость Andrey-Docent сказал:

А тебе не трудно будет продемонстрировать работу на примере хотя бы простой последовательности, например из 8 чисел?

Трудно.

Сначала надо по исходным данным рассчитать порядок и коэффициенты фильтра и построить его разностное уравнение, связывающее выходные и входные отсчеты. Дальше дело техники. Примеров в интернет много.

Но, как сказал уважаемый @BARS_, скорость будет слабоватой по сравнению с аппаратной реализацией на ПЛИС или на ЦСП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    855
31 минуту назад, aitras сказал:

скорость будет слабоватой по сравнению с аппаратной реализацией на ПЛИС или на ЦСП.

Хоть какую-то скорость работы можно получить, если взять ARM МК с FPU и хоть каким-то набором DSP инструкций. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Andrey-Docent   
Гость Andrey-Docent
В 20.07.2018 в 17:37, BARS_ сказал:

Хоть какую-то скорость работы можно получить, если взять ARM МК с FPU и хоть каким-то набором DSP инструкций. 

Я и планировал на stm32f4. Производитель позиционирует эту группу микроконтроллеров как аудиопроцессоры.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    855
Только что, Гость Andrey-Docent сказал:

Я и планировал на stm32f4

Тогда гуд.

 

Только что, Гость Andrey-Docent сказал:

мне сейчас нужно понять принцип обработки

Понимать его лучше сначала в чем-то вроде Matlab. И советую почитать книгу Смит C - Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Andrey-Docent   
Гость Andrey-Docent
В 23.07.2018 в 12:38, BARS_ сказал:

Понимать его лучше сначала в чем-то вроде Matlab. И советую почитать книгу Смит C - Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Giperfrostful
      Доброго времени суток.

      Предистория.
      Было две пары колонок "романтика 50 ас 105" и "Вега 50 ас 106".
      Пользовался я романтикой и в один момент начал затирать нч динамик.
      Решил я поставить все динамики с Веги на романтику, т.к. Вега была в плачевном состоянии, а романтика мной ранее немного дорабатывалась.

      Суть проблемы.
      Низкочастотные динамики в Веге 8 Ом, в романтике - 4 Ом. Соответственно для замены нужно пересчитывать фильтры, я пошел путем проще и взял уже готовую катушку индуктивности l1 и резистор r1 из фитра Веги и поставил их вместо катушки l1 в фильтр романтики, больше в фильтре ничего не менял, но теперь при запуске генератора частот сч динамик начинает двигаться от 5 Герц и отыгрывает все частоты нч динамика. Фильтры собраны по схеме, динамики подключены так же. Подскажите, из-за чего могла сместиться частота среза сч динамика? 
       
    • Автор: МихаилS
      Здравствуйте.
      Кто может просветить по такому вопросу.
      В усилителе (SoundWave A-600R) сгорел трансформатор.Не могу ничего найти в сети по данному номиналу.
      обозначения -
      ACS-88RSUB
      5 TPK 035544
      5K 193 TK
      Где найти или чем заменить?
      Буду благодарен за ответ..
      П.С. фото прилагаю.





    • Автор: utf16
      Всем доброго времени суток!
      Никак не могу найти простое решение своей проблемы. Подскажите пожалуйста!
      Думаю над сборкой многоканального аудио ресивера с управлением от ардуино. Есть идея собрать усилитель(ресивер) 5.1
      Не хочется травить платы, поэтому задействую 2 двухканальных усилителя на готовых платах на ТДАшках, и 2 одноканальных для центрального канала и сабвуфера, тоже на ТДАшках.
      Ресивер дожен иметь 5.1 канальные входы для подключения к компьютеру (фронт, тыл, центр и сабвуфер), стереовход(AUX), и блютуз(допустим тоже простой стереовход).
      Коммутировать все это дело должна ардуинка с релейными модулями(это все понятно).
      Суть проблемы вот в чем: как коммутировать сигнал с разных источников звука, чтобы не было проникновения каналов в друг друга? Допустим, включаю обьемный звук с компьютера, нажимаю кнопку, арудуина подключает через реле питание усей, сигнал от входов идет каждый на свои усилитель. А потом переключаю допустим на обычный стерео вход, и нужно его как то коммутировать снова на усилитель фронтальной акустики и, например, на усилитель сабвуфера, и при этом чтобы полностью исключить сигнал от входов с компьютера (от входов многоканального звука). 
      Проще говоря, нужно как то иметь около 5-6 входов аудио сигнала и иметь возможность с ардуино перенаправить эти сигналы на 5-6 выходов на усилители.
      Можно ли все это проделать с мультипликаторами, или, допустим, с матрицей вроде MT8816??? Буду благодарен за любые подсказки)
    • Автор: Aizenkevich
      Достались от тетьки колонки radiotehnika s30b. Состояние вполне неплохое. Все работает, все играет. Но мне оттуда нужны были лишь динамики. Динамики я вытащил. Остался корпус и фильтра. Корпус в утиль, а вот фильтра продам, ибо выкидывать жалко, а мне не нужны.
      Цена 500 р. за 2 штуки. + сумма за доставку до вас по России почтой
       

    • Автор: 1331DiZiK
      я сейчас из-за это мкирухи повешусь
      была tda7265, спалил благополучно подав случайно 40 вольт на стенд-бай. НЕ ВАЖНО ПОЧЕМУ 40!
      позже купил более дешевую tda7377 и начал колхозить портативочку пожестче jbl boombox'а на 2х30ват
      заколхозил в этот раз получше. ничего не сгорело. потому что подал не 40 вольт а 12 ))0. ну крч заиграла радимая после 2 раза (перепаял схему, навесной делал. а там сопля ии.. лучше сначала начать) она дико фонила. фон был громкий, но музыка играла. не на всю мощь. (по сравнению с tda7265, которая стояла в аудио системе. и она жарила)
      музыка играла и шум был. думал с заземлением дело. потому что когда трогал землю фон становился меньше. но все же был.
      я переделал и сделал как на печатной плате. разницы может и нет. но вариков не было. 
      в этот раз вообще не работала (музыка играет очень тихо)
      максимум что могло быть не так, так это. емкость пленек c1 и c2 а также отсутствие c4. все остальное было.
      помогите пожалуйста. обещаю русский реп не буду включать. только диско 80-х 


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