roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 05:59

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Обработка/работа с звуком на МК
СообщениеДобавлено: 17 авг 2015, 16:39 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Вот решил создать тему (не уверен, что правильно выбрал раздел, заранее извиняюсь). :oops:

Решил для начала, ради эксперимента (для понятия возможностей), собрать схему (на "соплях"/макетках): LTC1865 (АЦП 16-бит) -> XMega32A4 -> DAC (встроенный, 12-бит).
В качестве источника звука, использую выход оптика компьютера -> dac или смартфон (с аналога). Уровень сигнала варьируется приблизительно от 500мВ до 2В (в зависимости от источника).
Выход использую обычный, дешевый, китайский усилитель (на ШИМе), такой.
По входу АЦП рассчитал/поставил ФНЧ (на резисторе и ёмкости), чтобы ВЧ резалась свыше 22-25кГц.
Код обсуждать не будем, пока в этом проблем не чувствую, мне бо по аналоговой части разобраться. АЦП загружен по разрядности около на 73%, на ЦАП сделал расчет коэффициента до 99-100% (чтобы было по возможности на полный размах).
АЦП/ЦАП все однополярные, линейные (от 0 и до макс числа (нет смещенной нулевой точки). Процент посчитал программно (проиграл 3 музыкальные композиции, а потом вывел макс. число). :D
Схема шумит, но на это пока глаза закрыл (ибо всё на коленках сделано).
Вся игрушка вроде бы поёт, но качество меня совсем не устраивает. Причем не по частотам, а потому как оно "играет", проблема заключается в том, что складывается такое ощущение, будто происходит искажение сигнала в районе средних частот (низы вроде нормальные). АЦП как-то непонятно шумит/звенит. Грешил по началу на его "μPower", ведь эта штука, вваливается в спячку каждый раз и потом просыпается для измерения (по сигналу). Может он вообще не предназначен для такого использования? Взять какой-то другой для этих игр? Или я что-то неправильно делаю? Может есть нюансы с нулевой точкой? Или обязательна обвязка (на ОУ)?
Ещё заметил, если просто подключить к АЦП переменный резистор и попробовать измерить сопротивление в покое, то значения на выходе дрожат в районе 5 шагов (ранее игрался встроенным АЦП в МК - таких проблем не было, значение держит четко), но думаю это тут не причем, это просто шумы, которые надо потом будет убрать нормальным монтажом.

зы: Ранее с аналогом дела не имел, по этому и решил спросить совета опытных. :sorry:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 17 авг 2015, 22:22 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Возьми готовую плату stm32f4-discovery. Звук уже сбацан, включая микрофон и выход на джек. И по производительности вопросов не будет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 17 авг 2015, 23:30 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Хех, лежит эта штука на полке у меня, и ЦАП там 24 бита, и прошивка превращающая её в звуковую карту уже ранее мной зашита...
Но демо пример работает весьма посредственно (это понятно, что исправимо), АЦП внешнего там нет (проблему с оцифровкой как бы не решает) и не привык я к STM. :( Но идея конечно хороша, спасибо. :friends:

Пока идеи ещё есть, попробую синус подать от генератора и посмотреть на осциллографе (что происходит на выходе). :crazy:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 19 авг 2015, 10:03 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
сэмплы запишите и выложите, послушаем, ну и в идеале ставить звуковые АЦП ЦАП...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 19 авг 2015, 11:27 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Звуковые АЦП/ЦАП обычно управляются все по I2S, там скорости может не хватить для работы с ними, но я в этом направлении тоже думаю, надо попробовать (пока заказал только ЦАП, приедет - поиграюсь).
Сэмплы и картинки хотел выложить, пока времени не хватает...

А то люди вон что делать ухитряются. :shock:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 19 авг 2015, 11:49 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
к чему все эти извращения? полно младших армов с i2s. или вы хотите с мк застрять также, как и с яп?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 19 авг 2015, 16:25 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
все зависит от цели. если цель тяп ляп и в продакшен - одни подходы, а если поковыряться - другие..

мне мелочи на асме в продакшн ничего не мешает делать кстати, да и не мелочи порой тоже.

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 20 авг 2015, 17:05 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
стесняюсь заявить, что на F4 есть 2шт I2s

Добавлено спустя 7 минут 45 секунд:
Madf писал(а):
А то люди вон что делать ухитряются. :shock:

Да он упоротый!

Очередной шедевер на тему девборды от стм

http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848/PF261641?icmp=pf261641_pron_pr-massmarket_jun2015&sc=stm32f7discovery-pr


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 20 авг 2015, 17:40 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Вообще задача была:

- изучить/понять реальные физические процессы АЦП/ЦАП (требуемые для приемлемого качества (на слух);
- оценить требовательность производительности.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 20 авг 2015, 17:59 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
:ROFL: сделайте свой цап/ацп, поймёте физические и какие там ещё процессы. :) не ... мозг. арм, значит арм. на крайняк посмотреть чего из экзотики, может у того же цайпресс чего есть недорогое.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 22 авг 2015, 20:01 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
И так, после увиденного, решил сами записи/звуки не выкладывать, ибо уже видна суть проблемы:

Дискретизация (АЦП - CONV):
Вложение:
ltc1865_conv.gif
ltc1865_conv.gif [ 5.14 КиБ | Просмотров: 3472 ]


Входной сигнал в АЦП (генератор синуса 2кГц):
Вложение:
ltc1865_in2.gif
ltc1865_in2.gif [ 4.25 КиБ | Просмотров: 3482 ]

(шумный, но терпимо)

Выход ЦАП:
Вложение:
ltc1865_out.gif
ltc1865_out.gif [ 3.82 КиБ | Просмотров: 3474 ]

В другом разрешении (по напряжению):
Вложение:
ltc1865_outZoom.gif
ltc1865_outZoom.gif [ 4.35 КиБ | Просмотров: 3478 ]


Как мы видим, АЦП не чухает вторую половолну синуса. Хоть всё однополярное (по питанию), но всё равно идет какое-то отрицательное значение. Как преобразовать этот сигнал в однополярное?

Добавлено спустя 28 минут 56 секунд:
Сейчас АЦП использую в режиме "SINGLE-ENDED MUX MODE". В моей ситуации, есть два варианта, это: переключить его в режим "DIFFERENTIAL MUX MODE" или использовать схему с операционником, для смещения нулевого напряжения (биполярного в однополярный).
Какой способ лучше - не знаю. :P
В первом случае, IN- кидаю на землю, а входной сигнал подаю на IN+? Или этого недостаточно?

В втором, надо настраивать или как-то расчитывать эту точку смещения...? Из операционников сейчас едет ко мне NE5532, как на нём это организовать (если он вообще подходит)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 23 авг 2015, 20:41 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Поигрался тут в симуляторе на счет смещения на операционнике:

Вложение:
sheme.gif
sheme.gif [ 10.18 КиБ | Просмотров: 3220 ]


Смещения добился, но жестко на пол размаха питания. Любые попытки перерасчитать делитель, чтобы уменьшить смещение, приводит к тому, что сигнал пропадает.
Плюс получить полный размах при смещении - не удаётся, всё делиться пополам... :(
В общем доверия к симулятору нет, но для стартапа пойдёт. Приедет ОУ - попробую в живую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 24 авг 2015, 13:20 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
Мнда... читать теорию по операционникам, АЦП, смотреть аппноты... тема как хорошо гулять по граблям...
Смещение задается на вход + Сигнал идеи на -. либо взять два ОУ один усилитель-инвертор, второй инвертор со смещением...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 24 авг 2015, 16:37 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Aseris писал(а):
Мнда... читать теорию по операционникам, АЦП, смотреть аппноты... тема как хорошо гулять по граблям...

Я для этого на форум вылез, с опытными беседы вести, а не отстреливать в гуглы (где я весьма не мало времени убил и результат пока нулевой).
Aseris писал(а):
Смещение задается на вход + Сигнал идеи на -.

А у меня что нарисовано? :roll:

зы: хотя я немного лукавлю, нарыл ещё два направления/решения моей задачи (уже всё за нас сделано магнатами). :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка/работа с звуком на МК
СообщениеДобавлено: 25 авг 2015, 13:14 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
У тебя сигнал идет на + и делитель там же... При несиметричном делителе у тебя нелинейный усилитель получается...
Вчера незаметил еще и обратная связь (вых. к вх.-) сделана неправильно, в реале схема незаработает, 0 у тя плавающий - Вобше для начала датащит посмотри на ОУб там типовые схемы включения дают..


Последний раз редактировалось Aseris 25 авг 2015, 13:17, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO