реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> МЕГА и дельта модуляция звука ?, есть ли рабочий пример ?
gora_electric
сообщение Oct 21 2007, 12:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-06-07
Пользователь №: 28 613



Кто поможет ? Давно вынашиваю идею микрофон+ATmega = адаптивный дельта модулятор.
Пытался несколько раз попробовать но так и не разобрался....
Может у кого есть ссылка на проект с доходчивыми комментариями... или понятное описание алгоритма применительно к контроллерам... Понимаю что прошу слишком много, но может кто поможет. Сама идея не нова - звук передовать по радиоканалу в закрытом хотя бы для ЧМ виде. .... только в "ознакомительных" целях.
Go to the top of the page
 
+Quote Post
gora_electric
сообщение Oct 21 2007, 14:49
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-06-07
Пользователь №: 28 613



И еще вопрос знающим - дельта модулятор на АТини с применением встроенного компаратора , кто знает подскажите ?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 21 2007, 22:55
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(gora_electric @ Oct 21 2007, 17:49) *
И еще вопрос знающим - дельта модулятор на АТини с применением встроенного компаратора , кто знает подскажите ?


Абсолютно ничего сложного нет. Никаких "применительно к МК" не существует. Радиоканал вообще не при чём. Это совершенно разные темы. Закодировать и передать. Зачем вам именно адаптивная дельта модуляция - непонятно. Она просто найболее простая. При применении МК можно применять более распространнённые способы сжатия.

С другой стороны привести проект не представляется возможным, так как такие вещи очень увязаны в аппаратную часть. Придётся банально почитать литературу. Сам алгоритм - страничка не более. На пальцах объяснить сложно.
Go to the top of the page
 
+Quote Post
gora_electric
сообщение Oct 22 2007, 17:59
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-06-07
Пользователь №: 28 613



[quote name='SasaVitebsk' date='Oct 22 2007, 01:55' post='311333']
Зачем вам именно адаптивная дельта модуляция - непонятно. Она просто найболее простая. При применении МК можно применять более распространнённые способы сжатия.

/quote]

Вот потому что наиболее простая, поэтому и хотелось попробовать. ... А радиоканал - это так к слову . В нем я более менее ..... Существует мотороловский АДМ кодек, однако не могу его наити в продаже, а вроде поручить это дело авр-ке- я бы попробовал. Алгоритм бы хотябы...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 22 2007, 21:05
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



В двух словах примерно так. (Пишу кодирование - назад обратно)
Вводится два коэффициента. Один К - крутизна, второй Т - период спада.
1) Выставляется крутизна на ИНТЕГРАТОР(не совсем ЦАП. Точнее ЦАП который прибавляет значение к предыдущему) Естественно это можно сделать и программно, но в этом случае придётся применить ЦАП не менее 14 разрядов (для речи). Если же использовать интегратор, то достаточно 8.
2) Сравнивается значение с измеряемым (компаратор) выдаётся бит.
3) Если идёт 3 подряд 1 (в нек. алгоритмах 4), то К наращивается на 2
4) Из Т вычитается К. При переполнении (заёме) Из К вычитается 1.
5) Отслеживаются граничные значения К.

Иными словами чем громче звук тем больше крутизна и тем быстрее она спадает.
Go to the top of the page
 
+Quote Post
GDI
сообщение Oct 23 2007, 06:52
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Если мне не изменяет память, то на сайте атмела есть апликухи по реализации этих алгоритмо с примерами...


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
gora_electric
сообщение Oct 23 2007, 07:10
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-06-07
Пользователь №: 28 613



Спасибо за участие , с алгоритмом буду разбираться и сбегаю на атмел
Go to the top of the page
 
+Quote Post
alexander55
сообщение Oct 23 2007, 07:12
Сообщение #8


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(SasaVitebsk @ Oct 23 2007, 01:05) *
придётся применить ЦАП не менее 14 разрядов (для речи). Если же использовать интегратор, то достаточно 8.

14 разрядов - это Вы, Саша, загнули. 8 - это максимум. smile.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Oct 23 2007, 09:40
Сообщение #9


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Самая простая модуляция - это без модуляции.
Сигнал подать на АЦП, оцифровать и делать с ним что угодно.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Oct 23 2007, 11:27
Сообщение #10


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(defunct @ Oct 23 2007, 13:40) *
Самая простая модуляция - это без модуляции.
Сигнал подать на АЦП, оцифровать и делать с ним что угодно.

Правильно, если посмотреть на алгоритм, то увидим очертания интегрирующего АЦП. 07.gif
Go to the top of the page
 
+Quote Post
nick-l
сообщение Oct 23 2007, 15:13
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 25-08-05
Пользователь №: 7 966



если интересно то здесь http://www.platan.ru/shem/pdf/45sx.pdf лежит конструкция цифрового диктофона на AVR
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 23 2007, 17:04
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(alexander55 @ Oct 23 2007, 10:12) *
14 разрядов - это Вы, Саша, загнули. 8 - это максимум. smile.gif


При прямой выдаче ЦАП на выход, и частоте выборок 8кГц - 14 разрядов обеспечивает лишь телефонное качество. Для того чтобы в этом убедится просмотрите любой кофидек фирмы motorola. Имеется в виду стандартный линейный ЦАП. Для работы с 8 битами используют нелинейный ЦАП с характеристиками уха. Для запрашиваемого алгоритма я работал с 8-ми битным ЦАП с выборкой 32 кГц. Для получения CD качества используется, как известно выборка 44.1 кгц и специализированные ЦАП. Обычно 20 разрядов.
Очень большое значение имеет выходной фильтр.

Обективно я легко различу (и вы также) оцифровку 14 битами от 13-ти битной на малой громкости.

Вот так-то.
Go to the top of the page
 
+Quote Post
defunct
сообщение Oct 23 2007, 18:38
Сообщение #13


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Oct 23 2007, 20:04) *
Для работы с 8 битами используют нелинейный ЦАП с характеристиками уха.

Если Вы о PCMA/U кодировании, то оно добавляет точности для слабого сигнала, за счет потери качества на мощных сигналах. То же телефонное качество можно получить 8-ми битами, если принять что сигнал всегда мощный.

Цитата
Обективно я легко различу (и вы также) оцифровку 14 битами от 13-ти битной на малой громкости.

На малой громкости да, но на мощном сигнале что 14-ти, что 13-ти будут хуже тупой 8-ми битной оцифровки сигнала.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 23 2007, 21:22
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Тут надо разделить задачу на две. Или, точнее выделить что надо человеку. Или поток сжать или сигнал получить.
Если сжать поток, то существует множество способов. Я писал о простой оцифровке обычным АЦП. Естественно ссуществует огромное количество различных способов сжатия потока. Дельта сигма модуляция один из самых первых и самых слабых. Весьма прост в реализации, но на сегодняшний момент не применяется. По этому и микрухи не выпускаются. Применяют другие. Тоже не сложные. В частности можно посмотреть способы оцифровки применяемые в GSM (очень простые и более эффективные) и для звуковых карт. Простой AVR вполне справится с любым из данных алгоритмов. Реализация их достаточно проста. Выборка везде 8кГц - результат - количество значащих бит на выборку. То есть уровень сжатия.

Если речь идёт об получении качественного сигнала, с соблюдением различных характеристик (например динамического диапазона), то надо уточнить с какой частотой выборок он планирует работать. Это для начала. При линейном АЦП при частоте выборки 8кГц какие бы не применял алгоритмы нормально звук не оцифруешь. Это я говорю совершенно убеждённо. Я просто банально всё это делал и экспериментировал. Ещё раз повторяю даже для телефонии применяют 14 бит линейных или 8 бит нелинейного АЦП, где три старших бита определяют вес младших разрядов. В телефонии максимальноя граница 3400Гц.

Я писал, что можно применять интегратор, тогда с меньшим весовым значением разряда можно получить больший размах сигнала. Это позволяет уменьшить разрядность АЦП (Там ЦАП и сравнение) до 8 бит. Хотя таким образом фактически увеличивается разрядность. А используется свойство слабого нарастания (падения) уровня звука.

А вообще - ухо - как и глаз уникальный инструмент. И очень чутко реагирует на малейшие искажения.
Go to the top of the page
 
+Quote Post
SergeiCh
сообщение Oct 24 2007, 08:37
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 99
Регистрация: 22-03-07
Из: Novosibirsk
Пользователь №: 26 415



Цитата(SasaVitebsk @ Oct 24 2007, 04:22) *
Тут надо разделить задачу на две. Или, точнее выделить что надо человеку.
Как я понял, человеку надо скремблер, причем передаваться будет не цифра, а аналоговый сигнал. По-моему, дельта модуляция для этого плохо пригодна, т.к. ошибка, свойственная аналоговым сигналам, может накапливаться и приводить к нежелательным эффектам. Я не специалист в этой области, могу ошибаться. Надежнее уж перетасовать гармоники.
Цитата
Самая простая модуляция - это без модуляции.
Pulse Code Modulation? smile.gif
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01541 секунд с 7
ELECTRONIX ©2004-2016