Статистика
Время:
Зарегистрированных: 88373
Последним зарегистрирован: SmartBones
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 862
 Гостей: 856
 Анонимных: 0
 Пользователей: 6
 Зарегистрированные:
manegev SCORPION-KOT vidas67 bobsat adypanin Floki
Forum Rules Внимание!

Внимание! Перед тем как создавать тему на форуме, воспользуйтесь поиском! Пользователь создавший тему, которая уже была, будет немедленно забанен! Читайте правила названия тем. Пользователи создавшие тему с непонятными заголовками, к примеру: "Помогите, Схема, Резистор, Хелп и т.п." также будут заблокированны навсегда. Пользователь создавший тему не по разделу форума будет немедленно забанен! Уважайте форум, и вас также будут уважать!

Страницы: (7) [1] 2 3 4 5 6 7  ( Перейти к первому непрочитанному сообщению ) Ответить Новая тема Новый опрос

> Цифровой радиомикрофон + приёмник на VS1053+CC1101, Для качественной речи / музыки
Gospodin_Riba
  Сообщение: # 699926   Aug 12 2016, 09:33 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




После очередной творческой депрессии, в голову пришла мысль освоить цифровую передачу/приём данных, а именно - передача голоса/музыки.

Проанализировав схемные решения на портале VRTP и не только, пришел к выводам, что в основном это передача голоса с помощью ADPCM с низкой частотой дискретизации + амплитудная манипуляция. Как дополнительная опция - шифрование данных.

Конструкции от blaze, rakov и ещё нескольких уважаемых людей (прошу прощения, что назвал не всех!) 1_7.gif

Я же поставил себе цель - построить радиоканал для передачи умеренно качественного голоса/звуков или музыки. 9fe509d0b7cbadb2b16f0ab1d1d5b010.png

Освоил приёмопередатчик от ChipCon(ныне сожран - TI): CC1101. В конструкциях приёмника и передатчика применён фабричный модуль RXQ4-433 - в целях ускорения макетирования. CC1101 отлично подходит для передачи потоковых данных - выский битрейт и буфер данных на прием и передачи!

Сколько подводных камней пришлось разгребать несколько ночей напролёт - промолчу! st.gif

В качестве кодера/декодера применил микросхему от финской фирмы VLSI Oy - VS1053b. Этот чип может декодировать звук в IMA ADPCM, OGG Vorbis и MP3 (ну и много чего другого ещё). Кодировать звук - только в IMA ADPCM и OGG Vorbis.

Кодирование MP3 в VS1053 не предусмотрено, а плагины недоступны из-за копирасторских ограничений на MP3.

1)
Макетировать начал с архитектуры "Streaming – File based server / client".
Получилось цифровое радио с такими показателями:
поток MP3 128 кбит/с стерео или моно.

2)
Закончил макетирование архитектурой "Streaming – Realtime
server / client".
Вышел цифровой радиомикрофон и приемник с такими параметрами:
IMA ADPCM, 44100 Гц, моно, 176,4 кбит/с - сжатие голоса в 4 раза
OGG Vorbis 44100 Гц,, моно, фактор качества 5, до 87 кбит/с - сжатие аудиопотока более чем в 8 раз! leb.gif

Виды модуляции, показавшие отличную эффективность в устройствах: GFSK и 4FSK.

Ниже на рисунки показаны архитектуры, заложенные в макетах.

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

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699927   Aug 12 2016, 09:48 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Ниже представлен макет цифрового передатчика.

Управляющий контроллер - ATmega128A, на тактовой частоте 12 МГц, питание 3,3V.
Выбор контроллера продиктован наличием отладочной платы.

Как оказалось, большой объём Flash-памяти контроллера пригодился, так как кодер VS1053 требует заливку в неё патчей для ADPCM- и OGG- кодирования звука. А размер OGG-патча - несколько десятков килобайт! eek2.gif

Есть перспектива задействовать более совершенную версию кодера: VS1063.

Для неё не нужны патчи (ну может небольшие какие, пока не разбирался) и она может кодировать также в MP3, G.711 (u-law, A-law); G.722 ADPCM

Вопрос доставки VS1063 в настоящее время завис в состоянии "ждём"... icon_rog7.gif

Карта памяти - MMC+ от Kingston - считается, что это самая вреднючая из всех карт памяти, которая либо не запускается, либо не работает как надо...
Карта - не SDHC.

Основная неприятность в том, что карта в неактивном состоянии (CS=1) линию вывода(DO) не переводит в Z-состояние, что порождает конфликт на шине SPI - она мешала работать трансиверу CC1101. st.gif

Пришлось на линию DO карты памяти повешать буферок с тремя состояниями и рулить по CS.

Модуль RXQ4-433 здесь работает only TX mode.

Кодер VS1053 собран на 4-слойной плате - огрызок от сарого проекта.

Микрофон INMP510 - самый чоткий малошумящий микрофон со встроенными усилителем и фильтром питания. Он подключен к кодеру на ногу Line22. Тоесть встроенный микрофонный усилитель с балансным входом не используется.

Как оказалось - этого достаточно чтобы чухать шёпот из соседнего помещения! radio.gif

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699928   Aug 12 2016, 09:53 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Ниже показаны блоки цифрового передатчика.
Как видно, каждый блок собран на печатной плате, согласно всем правилам разводки.
Так что вопрос с аналоговой частью в кодере и сплошной землёй на ВЧ диапазоне вроде как отпал.

Единственно, что пришлось сделать: на линию питания, выход на наушники и шлейф программатора - надеть ферритовые втулки / каркасы, чтобы они не становились отрицательным плечом антенны-диполя и не вносили дисбаланс в точку приёма. biggrin.gif

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699930   Aug 12 2016, 10:01 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Так как второй отладочной платы у меня не было, а покупать Arduino за 1000 рублей или ковырять STM Discovery - не было желания, пришлось сваять отладочную плату для приёмника самому.

В приемнике применил контроллер ATmega8A - единственно что было на руках, частота 12 МГц, питание 3,3V.

Реально ощутил проблему с памятью, когда надо было упихать патч для VS1053 и OGG-хедер. st.gif

Здесь VS1053 в режиме декодирования.

Пробовал применить более древнюю VS1011E - с отладочной платы "Smart MP3" , так она, падла IMA ADPCM-потоки не могла синхронизировать - требует выравнивания. wc.gif

В VS1053 декодирование потоков синхронизируется автоматом, что радует! smile.gif

Модуль RX-433 тут в режиме "RX only".

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699931   Aug 12 2016, 10:06 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




На этой фотке обратные стороны платы кодера/декодера и отладочная плата с контроллером ATnega8, которая несмотря на то, что выгладит страшновато loki32.gif - работает как надо!

В плате VS1053 (красная которая) применены элементы вплоть до 0402. Это наследие от старого проекта - когда "Электроконнект" ещё кучу плат выслал biggrin.gif



Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699932   Aug 12 2016, 10:09 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




В один из дождливых дней, когда я усердно работал над проектом - через окно, меня посетил вот такой товарищ. emoticon-0180-bug.gif

Выпустил товарища в открытое окно, так как жалко его стало - умрёт он в квартире от голода... Лучше пусть на улице под листья спрячется от дождя , зато еду найдёт легко. icon_sorrys.gif

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699935   Aug 12 2016, 10:23 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Дальнейшие возможные перспективы проекта:

1) Внедрить VS1063 для кодирования/декодирования MP3, G.711 (u-law, A-law); G.722 ADPCM (в настоящей версии кодирование в IMA ADPCM, OGG Vorbis)

2) Увеличить мощность передатчика до с 10 мВт до 0,5 - 1 Вт

3) Увеличить чувствительность и избирательность приёмника, применив малошумный УВЧ + ПАВ фильтр.

4) Собрать приемник и передатчик на отдельных платах.

5) Поработать над вопросам ультра-миниатюризации передатчика.

6) Выбрать оптимальный микроконтроллер.

7) .... ещё много чего..... smile.gif

Результаты, что имеем:

1) ОТличное качество звука

2) Сжатие аудио-потока

3) Опробованы алгоритмы шифрования: шифровать можно побитно, побайтно или весь пакет. Ключ - постоянный, либо меняющийся во времени, зависящий от предыдущих данных... Завернуть можно сильно...

4) Запас ресурсов микроконтроллера хватает на:

- запись/чтение сектора карты памяти, в то время когда кодер/декодер готовят/воспроизводят аудиопоток.

- самые изощренные алгоритмы шифрования. biggrin.gif


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
romanetz
Сообщение: # 699957   Aug 12 2016, 12:30 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Какие результаты по дальности в сравнении с аналогом на тех же частотах/мощности?


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699961   Aug 12 2016, 12:48 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




На максимальную дальность пока не проверял, так как парился с написанием софта.

При выставленной мощности передатчика -30 дБм (это 1 мкВт) приемник ловит уверенно по всей квартире (а это 15 метров).

При использовании модуляции 4FSK полосу пропускания можно с-узить в 2 раза.
Она выходит меньше, чем 180 кГц - принятого в монофоническом радиовещании.

В будущем сравню, только у аналогового жучка мощность 35 мВт, а тут максимум 10 мВт.


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Flight
Сообщение: # 699962   Aug 12 2016, 12:53 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 10429
Пользователь №: 20099
Регистрация: 16-April 07
Место жительства: Россия



Интересует потребление передатчика по току. По остальному вроде все понятно..
PMEmail PosterUsers Website
Top
Gospodin_Riba
Сообщение: # 699969   Aug 12 2016, 01:50 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Модуль передатчика потребляет 12 мА (мощность : минус 30дБм)
Модуль приемника потребляет 18 мА

Кодер потребляет 23,5 мА
Декодер потребляет 18,5 мА (нагружен на наушники по 16 Ом на канал, громкость - минус 18 дБ)

Кодер/декодер на частоте 55,296 МГц (множитель 4,5)

Это сообщение отредактировал Gospodin_Riba - Aug 12 2016, 01:51 PM


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 699970   Aug 12 2016, 01:54 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Замеры провёл стрелочным мультиметром Ц435


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
rakov
Сообщение: # 700002   Aug 12 2016, 04:45 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 3676
Пользователь №: 29138
Регистрация: 2-February 08
Место жительства:



Интересные эксперименты, хотя и не спортивно использовать готовый кодек.

А чем MCU занимается в передатчике во время трансляции?

Какова структура пакетов, что происходит при кратковременной потере связи?

Не совсем понял, 180кГц полоса это в каком случае, для какой модуляции и какого битрейта? Полоса смотрелась по спектру или по настройкам приёмника?

Какова разрядность входных данных - 10, 12, 16-bit?

Тесты звука можно послушать?
PMEmail PosterICQ
Top
Gospodin_Riba
Сообщение: # 700009   Aug 12 2016, 06:32 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




QUOTE
А чем MCU занимается в передатчике во время трансляции?


Опрашивает регистр кодека SCI_HDAT1 на число новых байтов для отправки их сразу в FIFO передатчика.

QUOTE
Какова структура пакетов, что происходит при кратковременной потере связи?


Настройки пакетов могут быть самыми гибкими.

В текущей версии софта испоьзуется преамбула из 4 байт, далее синхрослово(2 байта), затем payload(полезный пакет) 64 байта, и CRC-слово.

Можно навернуть адрес устройства(первый байт) и/или длину пакета в случае переменной длины, но мне оно не надо.

При кратковременной потере связи происходит потеря пакета (битые пакеты естественно не пропускаются приемником по CRC, но это частная настройка) - декодирование ADPCM замолкает и при появлении пакетов снова возобновляется.

При декодировании пакетов MP3 и OGG Vorbis потеря пакетов может привести к лязгающему звуку на доли секунды, но после восстанавливается.

В приемнике предусмотрена предварительная отправка IMA ADPCM- и OGG- хедеров, что позволяет принимать эти потоки с любой позиции и не требует синхронности с включением передатчика.

Для MP3 потока хедер не нужен.

QUOTE

Не совсем понял, 180кГц полоса это в каком случае, для какой модуляции и какого битрейта? Полоса смотрелась по спектру или по настройкам приёмника?


Конкретно для режима OGG Vorbis 44100 Гц Q=5 и битрейтом до 87 кбит/с:

Битрейт взял в 1,5 раза больше(чтобы было время на опрос готовности новых данных или запись на SD карту памяти): итого 130,5 кбит/c. На самом деле запас можно сделать меньше: критически установил коэффициент 1,25 - 1,3, но лучше предусмотреть запас.

Манипуляция 4FSK, значит бОдрейт в 2 раза меньше: 130,5/2=65,25 кбОд/с

Девиация частоты outer(крайняя которая, не inner 1/3) в 2 раза меньше бОдрейта: +/- 32,7 кГц.

Тогда полоса пропускания приемника составит: BW = 2*dev(outer) + baudrate = 130,5 кГц < 180 кГц

Реальная же полоса сигнала несколько больше, смотрел сканером - всё сходится с теорией 4-FSK сигналов.

Модуляция GFSK (Гауссовская 2FSK) потребует в 2 раза большие битрейт и девиацию и полосу пропускания.

Для радио MP3 44100 Гц моно/стерео 128 кбит/с использую такой профиль:

Модуляция GFSK
Скорость передатчика в 1,5 раза больше: 128*1,5 = 192 кбит/с
Девиация: 192/2 = +/- 96 кГц
Полоса: 2*dev + bitrate = 384 кГц

На практике сканером получилось меньше, из-за гауссовского фильтра после данных.

Для MP3 радио также применял 4FSK и как следствие с-ужение полосы пропускания.

Читается сектор 512 с MMC карты памяти, далее контроллер отправляет их пачками 8 раз по 64 байта (максимальный размер FIFO передатчика/приемника), затем идёт читать следубщий сектор.

В режиме записи: ждет данных от кодека, читает буфер 512 байт, пишет в карту, затем снова ждет данных.

Ресурсов ATmega* 12 МГц хватает. Даже и при 8 Мгц хватало.

QUOTE
Какова разрядность входных данных - 10, 12, 16-bit?


Если VLSI не врёт, то 18 бит.

Тесты звука сделаю, позже выложу.

Это сообщение отредактировал Gospodin_Riba - Aug 12 2016, 06:32 PM


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
rakov
Сообщение: # 700011   Aug 12 2016, 07:02 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 3676
Пользователь №: 29138
Регистрация: 2-February 08
Место жительства:



Исчерпывающий ответ vo.gif
PMEmail PosterICQ
Top
Gospodin_Riba
Сообщение: # 700042   Aug 13 2016, 09:13 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Тест кодера IMA ADPCM 44100 Гц, 1 канал, 4 бита => 176,4 кбит/с:

Присоединённый файл ( Кол-во скачиваний: 428 )
Присоединённый файл  IMAADPCM.zip


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 700043   Aug 13 2016, 09:14 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Тест кодера OGG Vorbis 44100 Гц, 1 канал, Quality 5 => до 87 кбит/с:

Присоединённый файл ( Кол-во скачиваний: 344 )
Присоединённый файл  OGGVorbis.zip


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 700048   Aug 13 2016, 12:33 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Запись из эфира, на стороне приемника, декодированный поток OGG Vorbis.

Запись была сделана UV Sound Recorder-ом, лишние куски обрезаны WaveEditor-ом.

Присоединённый файл ( Кол-во скачиваний: 356 )
Присоединённый файл  OGG_Vorbis_wireless.zip


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 700050   Aug 13 2016, 12:36 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Запись, со сканнера IC-R5 на ровно на частоте приёма, амплитудный детектор(AM).

Вначале идёт шум эфира, затем импульс включения, затем серия коротких пакетов передачи OGG-хедера, затем плотно идут пакеты данных, затем импульс выключения.

В любом WAV-редакторе картинка происходящего нагляднее...

Присоединённый файл ( Кол-во скачиваний: 391 )
Присоединённый файл  Analog_Scanner_AM.zip


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
rakov
Сообщение: # 700068   Aug 13 2016, 06:12 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 3676
Пользователь №: 29138
Регистрация: 2-February 08
Место жительства:



IMAADPCM.zip не коректоно записан, похоже, ошибки в заголовке файла. Да и что-то шумноват он, как для 44100 и 18 бит. На сайте есть примеры, где при меньшей дискретизации звук куда качественнее.

OGGVorbis отличный звук.

В целом, качество звукопередачи и чутья по микрофону - весьма достойное.
PMEmail PosterICQ
Top
Ferrum-1827
Сообщение: # 700079   Aug 13 2016, 08:10 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



QUOTE (Gospodin_Riba @ Aug 13 2016, 02:06 PM)
Вначале идёт шум эфира, затем импульс включения, затем серия коротких пакетов передачи OGG-хедера, затем плотно идут пакеты данных, затем импульс выключения.

Вставлю своё мнение. Моторола ДМР чуть иным путём - меньше занятия частоты, чаще смены...думаю, все слышали "РРРР"

Думаю, в ихнем подходе пакетной передачи есть свой сакральный смысл


А по сути-да, звучит vo.gif


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
vitalik_b
Сообщение: # 700080   Aug 13 2016, 08:24 PM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7625
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



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

Это сообщение отредактировал vitalik_b - Aug 13 2016, 08:25 PM
PMEmail Poster
Top
Flight
Сообщение: # 700093   Aug 14 2016, 12:24 AM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 10429
Пользователь №: 20099
Регистрация: 16-April 07
Место жительства: Россия



QUOTE (Ferrum-1827 @ Aug 14 2016, 01:10 AM)
Вставлю своё мнение. Моторола ДМР чуть иным путём - меньше занятия частоты, чаще смены...думаю, все слышали "РРРР"

Поддерживаю, верно замечено.
PMEmail PosterUsers Website
Top
Gospodin_Riba
Сообщение: # 700095   Aug 14 2016, 06:25 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




QUOTE
IMAADPCM.zip не коректоно записан, похоже, ошибки в заголовке файла.

Так как это поток, который может длиться условно бесконечно, то все длины в хедере установлены в 0xFFFFFFFF вместо FileSize-8 и FileSize-60.
Поэтому, возможно в некоторых плеерах не пойдёт.

Использую старый Winamp 556 lite, с ним звук корректный, разве что тупняк при первой загрузки файла из-за коллизии между размером файла и указанной в хедере бесконечной длины потока smile.gif

QUOTE
Да и что-то шумноват он, как для 44100 и 18 бит.

У меня есть соображения, что дополнительный шум вносится из-за просадки на линии питания в момент записи на MM карту памяти.

image

Пока сделано как на верхнем рисунке.

QUOTE
В целом, качество звукопередачи и чутья по микрофону - весьма достойное.

Сравнивал уровень громкости с аналоговым жучком. У цифрового чутьё по микрофону меньше. С микрофона выходное напряжение около 0,4V RMS максимально.

Попробую всё-же задействовать микрофонный усилитель, переделав балансный в ход в небалансный. Балансный вход имеет смысл если микрофон подключен к плате длинными проводами, чтоб убрать наводку с кабеля.

QUOTE
Вставлю своё мнение. Моторола ДМР чуть иным путём - меньше занятия частоты, чаще смены...думаю, все слышали "РРРР"

Это всё условно... Сейчас я читаю 64 байта с буфера кодека (а он вообще 8-килобайтный в OGG Vorbis кодере), затем сразу отправляю в FIFO передатчика (тоже 64 байта).

Пробовал вычитывать по 256 и по 512 байт из буфера кодека и серией отправлять на TX FIFO по 4 и по 8 раз соответственно. Там временные соотношения пакетов будут сильно различны.

QUOTE
Микроконтроллер задействует свои режимы энергосбережения, или пока нет?


У плагина OGG Vorbis и ADPCM нет механизма давать прерывания по заполненному (или частично заполненному) буферу. Приходится опрашивать регистр заполнения буфера.

Но так как VS10xx - на самом деле - это "просто DSP", то можно написать свой плагин, который давал перерывание на одну из свободных ножек GPIO.

Но это надо мучать разработчиков в VLSI вопросами, и кодить в VSIDE.
тоесть серьезно подойти к освоению этого DSP. st.gif

В идеале, было бы вообще красиво - избавиться от ATmega*** и сделать VSDSP основным контроллером и подкллючить к нему MMC/SD карту и передатчик CC1101. 1_7.gif

Общался с разработчиками, они сказали, что SPI их VS DSP не имеет, а то SCI/SDI что для управления - исключительно для управления и заливки плагинов/патчей. С его помощью можно также читать/писать RAM и читать ROM.


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 700096   Aug 14 2016, 06:32 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Ещё пара интересных возможностей VS10xx:

1)
Есть АРУ микрофонного усилителя/линейного входа.
Проверял - работает. Усиление плавно гаснет если источник звука сильный.

2) В OGG Vorbis плагине есть VOX с регулируемой паузой. А также возможность сигнализировать на GPIO4.
Так что можно дёргать передатчик и усилитель мощности при активации голосом.
Полезно для тех, кто озабочен экономичностью энергопотребления! smile.gif


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 700104   Aug 14 2016, 08:21 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Вдовесок к IMA ADPCM, запись принятого декодированного потока в приемнике (запись на линейный вход компа):

Присоединённый файл ( Кол-во скачиваний: 304 )
Присоединённый файл  IMA_ADPCM_Wireless.zip


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
Gospodin_Riba
Сообщение: # 700105   Aug 14 2016, 08:25 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Вот как звучит передатчик в режиме кодирования IMA ADPCM.

Вначале шум эфира, затем начальные данные(громко), затем идут данные(в шуме), затем выключение и шум эфира.

Видно, что данные идут чаще, чем при передаче OGG Vorbis, по понятным причинам.
Повторюсь, что эта одна из реализаций того как может быть.

На секундное тикание не обращайте внимания, это от сканера IC-R5 radio.gif

Присоединённый файл ( Кол-во скачиваний: 294 )
Присоединённый файл  IMA_ADPCM_IC_R5_AM_.zip


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top
romanetz
Сообщение: # 700107   Aug 14 2016, 08:35 AM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




QUOTE (Gospodin_Riba @ Aug 13 2016, 02:13 PM)
Тест кодера IMA ADPCM 44100 Гц, 1 канал, 4 бита => 176,4 кбит/с:

IMAADPCM Открылось виндовс медиа плеером без проблем. Слышно звуки, принятые микрофоном и импульсную помеху по питанию - лечится банкой в нужном месте. Т.е. шума от самой оцифровки очень мало. vo.gif


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
rakov
Сообщение: # 700118   Aug 14 2016, 09:56 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 3676
Пользователь №: 29138
Регистрация: 2-February 08
Место жительства:



QUOTE (Gospodin_Riba @ Aug 14 2016, 07:25 AM)
В идеале, было бы вообще красиво - избавиться от ATmega*** и сделать VSDSP основным контроллером и подкллючить к нему MMC/SD карту и передатчик CC1101. 1_7.gif

В идеале надо избавиться от ATmega и VSDSP, применив GR DSP spiteful.gif
PMEmail PosterICQ
Top
Gospodin_Riba
Сообщение: # 700121   Aug 14 2016, 10:21 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16




Переделал микрофонный вход. Завёл микрофон на встроенный микрофонный усилитель, который даёт прибавку к усилению около 20 раз по напряжению (см. даташит).

До этого микрофон был на Line In и регистр SCI_AICTRL1 был в 0xFFFF тоесть на максимальном усилении в 64 раза.

С микрофонным усилителем значение этого регистра пришлось уменьшить до 4*1024 тоесть сделать усиление в 4 раза, что привело к общему усилению 80 - чуть большим чем было(64x).

Зато при установке SCI_AICTRL1 в 10..15* 1024 появляется возможность слушать всё что делается за окном !!!

При 20*1024 уже свист в наушниках на расстоянии 1 метра от микрофона.

Сами разработчики рекомендуют почему-то использовать микрофонный усилитель и как можно меньшее значение в SCI_AICTRL1.

QUOTE
Слышно звуки, принятые микрофоном и импульсную помеху по питанию - лечится банкой в нужном месте. Т.е. шума от самой оцифровки очень мало


Опытный образец начну делать когда отмакетирую вариант с VS1063. Там и подумаю над фильтрами питания.

Потому что хранить 25,5 килобайт OGG кодека - это сразу ведёт к ATmega32.
Или к SPI EEPROM AT45xx.

QUOTE
В идеале надо избавиться от ATmega и VSDSP, применив GR DSP


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

- выложено VSIDE в свободном доступе - это в чём писать (C + ASM)

- на VS1063 есть подробный даташит с описанием всех регистров и прерываний

- есть книга "First steps with VS1053 ..." но она платная. Пока не нужна, но позже может закажу у них.


--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com
Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
PMEmail Poster
Top

Настройки темыСтраницы: (7) [1] 2 3 4 5 6 7  Ответить Шустрый ответ Новая тема Новый опрос


 




  banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X