• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

TB-03F TLSR8253 - кто-нибудь пробовал "звуковые" возможности?

pvvx

Активный участник сообщества
STM32WB55CGU6/STM32WB55 UFQFN48 2 200,90 руб за кусок пластика с песком.
У наших продаванов он будет стоить более дцати тысяч руб или к 10 тысячам, если ждать от 60 недель партию. Это же бедный STM, у которого нет денег на производство чипов после Ковидла!
 

nikolz

Well-known member
STM32WB55CGU6/STM32WB55 UFQFN48 2 200,90 руб за кусок пластика с песком.
У наших продаванов он будет стоить более дцати тысяч руб или к 10 тысячам, если ждать от 60 недель партию. Это же бедный STM, у которого нет денег на производство чипов после Ковидла!
Вам бы лишь бы обосрать.
Я привел эту ссылку чтобы чел мог сравнить качество сигнала.
Цель - доказать что плохое качество у него - это не белый шум исходного сигнала и не ограничение BLE, а банальные ошибки либо в коде либо в схеме.
Так как Вы молчите про ошибки, то полагаю Вы тоже их не нашли.
Может начнете обсуждать проблему, а не писать на каждый столбик.
 

aloika

Active member
аналоговый фильтр я предлагал не на входе, а на выходе.
На выходе фильтр тоже сложно поставить, т.к. сигнал принимал и воспроизводил телефоном.
можете показать картинку с выводов микрофона.
Уже другим тут занялся... охладел я к этой идее. Это всё снова собирать, подключать.

У вас источник питания - батарейка?
С батарейкой тоже пробовал - разницы нет.

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

nikolz

Well-known member
Из идей: надо бы попробовать несжатый звук передать (но хватит ли пропуской способности, не знаю) - проверить, не сжатие ли это влияет.
Еще есть I2S микрофон у меня, его попробовать подключить (пока не знаю, как именно, но вроде что-то такое в SDK есть).
У вас наиболее вероятно, по моему мнению, ошибка либо в коде либо в схеме.
Поэтому перебор всего и вся методом тыка ничего не даст.
-----------------------------
Если хотите решить проблему, то надо проводить тесты и искать источник, а не лепить код вслепую.
===================
Предлагаю Вам проверить качество сигнала с цифрового микрофона и его сравнение с картинкой сигнала на выходе.
-------------------
Надо сделать вот такой тест.
1) в любой доступной Вам точке получения преобразованного сигнала надо получить данные либо в виде файла либо в виде графика.
2) На входе подключаете цифровой микрофон, Сам микрофон помещаете в пенопластовый кубик, а кубик накрываете стеклянным стаканом.
Таким образом создаем тишину.
Сигнал с выводов микрофона Data и clk записываете в логический анализатор, если нет анализатора то хотя бы на картину осциллографа.
--------------------
Если не сможете сами проанализировать адекватность данных , то выложите или пришлите мне.
 

nikolz

Well-known member
На выходе фильтр тоже сложно поставить, т.к. сигнал принимал и воспроизводил телефоном.
Уже другим тут занялся... охладел я к этой идее. Это всё снова собирать, подключать.
да, сложно...
Ну, если главное не решить , а поучаствовать, то тогда конечно.
 

pvvx

Активный участник сообщества
Вам бы лишь бы обосрать.
Я привел эту ссылку чтобы чел мог сравнить качество сигнала.
Цель - доказать что плохое качество у него - это не белый шум исходного сигнала и не ограничение BLE, а банальные ошибки либо в коде либо в схеме.
Чтобы сравнить "качество" с вашей ссылкой требуется купить модули с STM32WB55, получить с них "запись" с имеющегося микрофона и только тогда уже можно что-то сравнить.
Более простой метод проверки всего, включая и микрофон представлен ранее - на STM32F4Discovery или типа.
Так как Вы молчите про ошибки, то полагаю Вы тоже их не нашли.
ADC был проверен ранее - качество для звука вполне удовлетворительное, а цифровой микрофон я не проверял и пока не вижу смысла.
Ваш кодек по ссылке, как и описано было ранее, содержит алгоритм компандирования, что при низкой частоте итогового потока вносит большой шум.
 

pvvx

Активный участник сообщества
Подавал нулевые данные, также пробовал пилу и треугольник (как синусоиду запрограммировать, с ходу не сообразил). Никаких шумов, всё идеально передается.
Включил кое как к модулю, проводах и соплях, но там лезут программные баги и тестировать с правильной разводкой и чистым питанием нет смысла.
К примеру стыки каждого блока (пустил на sps = 32кГц):
1644080440907.png
На 50 Гц:
1644080730540.png
Модулированный пилой синус 1кГц:
1644080631182.png
И в виде wav:
https://disk.yandex.ru/d/8k9bn7Zsh_l-Sg
Всё бьет и прыгает - просто 1 кГц типа...
1644081237759.png

aloika -сначала надо всё поправить, убрать джиттеры и совместить блоки, а потом уже испытывать...
А постоянный шум от неправильного вывода в Sound в том примере в JavaScript...
 

pvvx

Активный участник сообщества
@aloika - В примере от Telink используется диф.вход - два пина. Я подавал сигнал на один вход с амплитудой до 700 мВ p-p и постоянным смещением 350 мВ. Такая у него серединка. От одного входа не полная амплитуда, на втором входе висел китай-железо-контакты-провод и принимал помехи. Но это сейчас не важно.
При включении в битах регистров цифровых усилителей-фильтров автоматического поддержания усиления амплитуда идет в полную шкалу с этого "кодека".
Если всё сделать правильно - для передачи голоса потянет.
 

pvvx

Активный участник сообщества
Вот в таком виде, прямо на коробке :) :
1644082527879.png
Пока нет ни места ни времени сделать правильный тест.
 

aloika

Active member
А постоянный шум от неправильного вывода в Sound в том примере в JavaScript...
Это-то понятно, js я подправил (если будете смотреть, надо uid характеристики поправить, я у себя сделал отдельную для звука). test - для сжатого звука, testUnc - для несжатого.
Там еще в imaadpcm была вроде как ошибочка, при энкодинге лишняя точка вставлялась (может, это она у вас и видна на стыке), я тоже подправил.

Если всё сделать правильно - для передачи голоса потянет.
Ну так оно и тянет вполне себе, просто не идеально.
 

Вложения

  • 47.8 KB Просмотры: 1

aloika

Active member
вот это - тишина

1644092834757.png1644093121834.png

вот это - "раз, два, три" в микрофон
1644092894741.png

Это я поднес к микрофону пищалку 800 Гц

1644093055044.png

Пищалка-гуделка 300 Гц

1644093260471.png
 

aloika

Active member
А вот - программно заданная пила:

C:
//тест: пила:
                            for (int i=0; i<(TL_MIC_BUFFER_SIZE>>1); i++) {
                                            buffer_mic[i]=i;
                                        };
1644093493074.png

Тут видны искажения adpcm из-за разрыва функции.

А вот - мелкий треугольник:

C:
//тест: треугольный сигнал:
                for (int i=0; i<(TL_MIC_BUFFER_SIZE>>1); i++) {
                                buffer_mic[i]=abs(abs(abs(abs(i-(TL_MIC_BUFFER_SIZE>>2))-(TL_MIC_BUFFER_SIZE>>3))-(TL_MIC_BUFFER_SIZE>>4))-(TL_MIC_BUFFER_SIZE>>5))-(TL_MIC_BUFFER_SIZE>>6);
                            };

1644093669069.png

Как синусоиду сделать программно - не знаю, только таблицей задать в голову приходит.
 

pvvx

Активный участник сообщества
вот это - тишина
Это так PDM микрофон шумит?
вот это - "раз, два, три" в микрофон
Это я поднес к микрофону пищалку 800 Гц
Пищалка-гуделка 300 Гц
Малая амплитуда - усиления не хватает. В примере входная амплитуда для каждого диф. аналогового входа 700 мВ p-p. Пробуйте крутить усиление в PGA или включите автомат (но он вроде умножает значения только в цифровом буфере).
Там было что-то типа: Регистры счетчика через сколько включать добавку/убавку и регистр значения шага добавки/убавки.
 

pvvx

Активный участник сообщества
TLRS8266 на максимальном усилении двух каскадов PGA имеет по аналоговому входу 20 мВ p-p (полный выход 14 бит), при постоянном смещении 650..660 мВ.
На TLRS825x не измерял, но они должны быть похожи.
 

pvvx

Активный участник сообщества
Поднял Vref у ADC до 1.2В, прибавил на входе (PGA) усиление (чтобы было то-же самое по входу) и вышло это:
1644104246122.png
В виде WAV:
 

nikolz

Well-known member
вот это - тишина

Посмотреть вложение 11828Посмотреть вложение 11831

вот это - "раз, два, три" в микрофон
Посмотреть вложение 11829

Это я поднес к микрофону пищалку 800 Гц

Посмотреть вложение 11830

Пищалка-гуделка 300 Гц

Посмотреть вложение 11832
судя по картинкам у Вас качество звука соответствует всего 5 битам вместо 14 , т е сигнал шум как минимум в 100 раз больше, чем разрешение TLSR.
Очевидно, что должно быть существенно лучше.
----------------------
Возможны две причины
1) качество микрофона либо источника питания (в документации указано, что надо ставить два кондера по питанию)
2) ошибка при вводе данных с микрофона
------------------------
Обе причины проверяются указанным выше тестом.
Для этого надо в режиме тишина записать логическим анализатором импульсы с микрофона. По их изменению можно оценить реальный шум с микрофона. Если его величина будет много меньше, чем на вашем графике, то проблема в ошибках ввода данных с микрофона.
 

nikolz

Well-known member
для указанного выше микрофона имеем:
MP34DT01-M имеет точку акустической перегрузки 120 дБ SPL с отношением сигнал/шум 61 дБ и чувствительностью -26 дБФС.
Т е не менее 10 бит.
----------------------------
Что-то явно не так в консерватории.
 

aloika

Active member
Это так PDM микрофон шумит?
Заклеил дырку в микрофоне скотчем, тишина стала потише - но не особо.
1644130712216.png

Подскажите, что это за программа?

Малая амплитуда - усиления не хватает.
Я вроде бы пробовал, тишина становится громче и сигнал тоже.

Для этого надо в режиме тишина записать логическим анализатором импульсы с микрофона.
Попробовать можно, только анализатор у меня на 24 МГц всего, а частота там около 3 МГц, не знаю, будет ли информативно.
 

pvvx

Активный участник сообщества
для указанного выше микрофона имеем:
MP34DT01-M имеет точку акустической перегрузки 120 дБ SPL с отношением сигнал/шум 61 дБ и чувствительностью -26 дБФС.
SPM0423HD4H SNR 56 дБ, 1% гармоник
Т е не менее 10 бит.
На графике
Заклеил дырку в микрофоне скотчем, тишина стала потише - но не особо.
Посмотреть вложение 11837
средний размах шума 20 единиц из 65536
 
Сверху Снизу