Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900(B), громкая связь (handfree)
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Frolov Kirill

Если кто-нибудь использует "громкую связь" с достаточно мощным усилителем (например, 2.8Вт) и близко расположенным микрофоном, то прошу поделиться, какая именно последовательность команд модема даёт успешное эхоподавление.

Ситуация: к SPK1 и MIC1 подключены усилитель мощности звука и предусилитель микрофона, соответственно. Туда же может подключаться микроконтроллер и DTMF-декодер. Для работы "handsfree" используется канал 2. Для работы с микроконтроллером -- канал 0.

Последовательность команд в начале работы:

ATQ0V1E0&D1&C1S0=0;+CRSL=1;+CMEE=1;+CIURC=1;+CSCLK=1;+IPR=38400;+CFUN=1
ATI+CGMM;+CGMR;+CGSN;+CSDT=0;+CFUN=1;+CREG=2;+COPS=3,2;+CGREG=2
AT+CIMI;+CSCS="UCS2";+CNMI=2,1,0,0,0;+CMOD=0;+CTZU=0
AT+CLIP=1;+COLP=0;+CCWA=0;+CLCC=1
AT+SIDET=0,1;+SIDET=2,1;+CLVL=0;+CMIC=0,0;+CMIC=2,0;+CHF=1;+CAAS=0

Последовательность команд при звонке:

AT+CHFA=0;+CMIC=0,4;+CLVL=100;+ECHO=0,0,0,1 <- голосовое меню
AT+CHFA=2;+CMIC=2,2;+CLVL=100;+ECHO=2,7,5,1 <- разговор handsfree

Ситуация такая, что на одних модемах (SIM900B, версия 08 ST)
такое впечатление, что +ECHO=2,7,5,1 не отличается от +ECHO=2,0,0,0
(по звуку -- сильное эхо). На других с той же версией есть явный эффект
подавления эхо, но, увы, недостаточный.

Хуже того. В какой-то момент времени, на другой версии (07 SAMSUNG и, возможно 05 ST)
подавление эхо работало плохо, но в общем кое-как удовлетворительно. А сейчас -- увы.
Последовательность команд, подаваемая выше, не изменилась. На все команды ответ -- OK.

Создалось впечатление, что неведомо что, какие-то недокументированные настройки модема
(команды AT+AUDG, AT+SIMECHO), последовательность подачи команд, неизвестно что ещё, приводит к ненормальной работе алгоритма подавления эхо.

В частности было замечено, что в канале 0 подавление эхо может работать лучше, чем
в канале 2. Если команды приведённые выше подавать вручную (имеется ввиду. Когда автоматически (и гораздо быстрей, вперемешку с другими командами не имеющими отношения к звуку) -- наоборот хуже. Но оценка слишком субъективная, сложно что-то сказать, зависит от того, звонить с GSM или стационарного телефона...
=F8=
А почему Вы решили, что собственного эхоподавителя модуля будет достаточно для таких условий? Он и на обычной телефонной линии работает не очень. Думаю для таких условий придется делать свой эхоподавитель.
Frolov Kirill
Цитата(=F8= @ May 10 2012, 12:59) *
А почему Вы решили, что собственного эхоподавителя модуля будет достаточно для таких условий?


У них во всех документах (вот на сайте: http://wm.sim.com/producten.aspx?id=1019) заявлено hands free operation, echo supression, безопасность вождения автомобиля и т.п.

Вот динамик, микрофон -- типичный handsfree. Разумеется, 0.25Вт эхо не вызывает... И в автомобиле его не слышно.

Цитата
Думаю для таких условий придется делать свой эхоподавитель.


И преобразование аналог-цифра-аналог туда и обратно.
=F8=
Цитата(Frolov Kirill @ May 10 2012, 12:36) *
У них во всех документах (вот на сайте: http://wm.sim.com/producten.aspx?id=1019) заявлено hands free operation, echo supression, безопасность вождения автомобиля и т.п.
Вот динамик, микрофон -- типичный handsfree. Разумеется, 0.25Вт эхо не вызывает... И в автомобиле его не слышно.

Тогда уточните, что подразумевается под handsfree. Может речь едет о наушнике с микрофоном sm.gif

Цитата(Frolov Kirill @ May 10 2012, 12:36) *
И преобразование аналог-цифра-аналог туда и обратно.

Уж лучше взять модуль с цифровым аудиоинтерфейсом. Во-первых не теряется качество на паре Digital->Mic, Spk->Digital, Во-вторых упрощается схемотехника, Ну в-втретьих процессоров в парой DAC на борту не так уж много. А ставить внешний кодек... это однозначно переплюнет по цене разнуцу между sim900 и, к прмеру, GL868
CADiLO
http://www.microchip.ua/simcom/SIM900x/App...AUDIO_V1.00.pdf

Теория и расчет правильного подавления эха. Хотя с мощной завязкой динамик-микрофон.... хм....
Тут при простом соединении порой бывает такое в канале что не справляется подавитель.

А для лучшего понимания стоит взять апнотес например на TEA1062 и просчитать разок Z circuit anti-sidetone bridge. Там это неплохо разрисовано.
Подавление будет работать если не вывалитесь в расчетах за соотношение усиления прием-передача 0.9.
Если больше (до 1.3) - здраствуй эхо. От 1.5 - возбуждение. А учитывая что линия не идеальна, то приходится уходить в меньшие коэфф. жертвуя чуствительностью или выходным уровнем.
=F8=
Цитата(CADiLO @ May 10 2012, 13:00) *
http://www.microchip.ua/simcom/SIM900x/App...AUDIO_V1.00.pdf
А для лучшего понимания стоит взять апнотес например на TEA1062 и просчитать разок Z circuit anti-sidetone bridge.

ИМХО не совсем так. Насколько видно из описания эхоподавитель в sim900 из 2 частей ES(по приципу дествия похожая на TEA1062) и EC(адаптивный фильтр). Так вот для того что-бы обеспечить комфртную связь с рельным полным дуплексом основную часть работы должен выполнять именно EC. Если EC с работой не справляется то подавить эхо с помощью ES можно только фактически перейдя в жесткий симплекс. Для какого-небудь домофона возможно сойдет и так, но если речь идет от автомобильном handsfree.... думаю врядли.
Frolov Kirill
Цитата(CADiLO @ May 10 2012, 14:00) *
http://www.microchip.ua/simcom/SIM900x/App...AUDIO_V1.00.pdf
Теория и расчет правильного подавления эха. Хотя с мощной завязкой динамик-микрофон.... хм....
Тут при простом соединении порой бывает такое в канале что не справляется подавитель.


Берём skype и 20-ваттные колонки. Всё работает. Другие программы интернет-телефонии. Работает, эхо нет. Берём мобильный телефон фирмы Nokia, подключаем колонки, звоним -- громкая связь есть, эхо отсутствует.Что такого есть в skype, в других программах интернет-телефонии, в мобильном телефоне, чего нет в SIM900? Почему Nokia может сделать подавление эхо, а SIMCOM -- нет?

Цитата
А для лучшего понимания стоит взять апнотес например на TEA1062 и просчитать разок Z circuit anti-sidetone bridge. Там это неплохо разрисовано.


Телефонные схемы ни разу не подойдут, речь вообще про другое -- про акустическую связь. В воздухе между динамиком и микрофоном задержка в ~2-3мс. Есть отражения от стен ещё с чуть большими задержками. Никакие волшебные микросхемы с набором ОУ внутри это не решат, эхоподавитель также должен задерживать сигнал поступающий на динамик складываемый в противофазе с сигналом поступаемым с микрофона, насколько я понимаю.

Цитата
Подавление будет работать если не вывалитесь в расчетах за соотношение усиления прием-передача 0.9.
Если больше (до 1.3) - здраствуй эхо. От 1.5 - возбуждение. А учитывая что линия не идеальна, то приходится уходить в меньшие коэфф. жертвуя чуствительностью или выходным уровнем.


Жертвовать громкостью никак нельзя -- "не слышно". Усилением микрофона можно, но только чуть-чуть. И, практически, это всё без толку. При любых параметрах AT+ECHO подавление плохое. При AT+ECHO=2,0,0,0 его вообще нет, при AT+ECHO=2,8,6,1 -- лучший результат, но явно недостаточный. Можно, конечно, всегда сделать +CLVL=50, +CMIC=2,0 и сказать, мол никакого эхо. Но и разговаривать невозможно. С AT+AUDG та же история. Можно убавить AT+CLVL, прибавить AT+AUDG и получить всё примерно то же самое.


Цитата(=F8= @ May 10 2012, 15:08) *
Если EC с работой не справляется то подавить эхо с помощью ES можно только фактически перейдя в жесткий симплекс. Для какого-небудь домофона возможно сойдет и так, но если речь идет от автомобильном handsfree.... думаю врядли.


Практически SIM300, получается, работал намного лучше. С жёстким симплексом. И хотелось бы этот режим обратно, в SIM900. Потому, что де-факто то что есть сейчас работает ещё хуже, чем SIM300 с симплексом.



Цитата(=F8= @ May 10 2012, 13:59) *
Тогда уточните, что подразумевается под handsfree. Может речь едет о наушнике с микрофоном sm.gif


Видимо... Но тогда вообще никакое эхоподавление не нужно. А вот в корпусе мобильного телефона
оно нужно и без hans free. Вообще видно, что AT+SIMECHO? выдаёт примерно одинаковые цифры для 0 и 2 каналов (штатный динамик телефона и "handsfree") и много нулей для 1 канала (наушники)

Цитата
Уж лучше взять модуль с цифровым аудиоинтерфейсом. Во-первых не теряется качество на паре Digital->Mic, Spk->Digital, Во-вторых упрощается схемотехника, Ну в-втретьих процессоров в парой DAC на борту не так уж много. А ставить внешний кодек... это однозначно переплюнет по цене разнуцу между sim900 и, к прмеру, GL868


Да, но микрофон цифровой (ADMP421) или аналоговый, например, выход на усилитель практически наверняка аналоговый. Кодек всё равно нужен, разница лишь 4 канала или только два.
=F8=
Цитата(Frolov Kirill @ May 10 2012, 16:04) *
Берём skype и 20-ваттные колонки. Всё работает. Другие программы интернет-телефонии. Работает, эхо нет. Берём мобильный телефон фирмы Nokia, подключаем колонки, звоним -- громкая связь есть, эхо отсутствует.Что такого есть в skype, в других программах интернет-телефонии, в мобильном телефоне, чего нет в SIM900? Почему Nokia может сделать подавление эхо, а SIMCOM -- нет?


Вы слишком много хотите от модуля за ~20$. Симком в данном вопросе не одинок. У Телита, например, эхоподавитель тоже не очень.

Цитата(Frolov Kirill @ May 10 2012, 16:04) *
Практически SIM300, получается, работал намного лучше. С жёстким симплексом. И хотелось бы этот режим обратно, в SIM900. Потому, что де-факто то что есть сейчас работает ещё хуже, чем SIM300 с симплексом.


Для Ваших целей да - хуже. А если для телефонной линии то лучше. То, что раньше было и эхоподавителем не назовеш... А, что до симплекса... 21 век на улице симплекс уж совсем не модно как-то.

Цитата(Frolov Kirill @ May 10 2012, 16:04) *
Да, но микрофон цифровой (ADMP421) или аналоговый, например, выход на усилитель практически наверняка аналоговый. Кодек всё равно нужен, разница лишь 4 канала или только два.

Если достаточно одного DAC(с ADC проблем нет во-первых они монгоканальные, да и 2 ADC на борту не редкость) то можно обойтись штатными DAC/ADC контроллера. У того же STM32 вполне приличные 12-битные DAC/ADC.
Frolov Kirill
Цитата
Если достаточно одного DAC(с ADC проблем нет во-первых они монгоканальные, да и 2 ADC на борту не редкость) то можно обойтись штатными DAC/ADC контроллера. У того же STM32 вполне приличные 12-битные DAC/ADC.


Проблемы и с ADC и с DAC. Проблема и там и там одинаковая: низкая разрядность того, что есть в микроконтроллерах, а в любом приличном кодеке ещё и аналоговые регулировки порядка 20dB по входу-выходу есть. И они жизненно нужны, потому, что при 12битах ни регулировку громкости уже никак не сделать, ни максимальную амплитуду потом не подобрать, резисторы по 10 раз перепаивать. Для микрофона же всё ещё жёстче: что за микрофон, где установлен, АРУ потом ещё... Если вместо DAC будет ШИМ, то не лучше: опять же низкая разрядность, нужен фильтр на выходе, и прецизионные резисторы (если используются пара каналов впараллель для повышения разрядности).

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

Было бы интересно (в модуле за $20) чтобы у модуля цифровой звук был, и одновременно аналоговый вход микрофона и выход динамика. И чтоб через цифровой интерфейс можно было получать сигнал с микрофона, например, и генерировать в локальный динамик (помимо собственно дуплексного канала в режиме разговора). Это экономило бы кодек и всё прочее ($3-4) .


Цитата(=F8= @ May 10 2012, 18:06) *
Вы слишком много хотите от модуля за ~20$. Симком в данном вопросе не одинок. У Телита, например, эхоподавитель тоже не очень.


А какой эхоподавитель у Телита? Кто пробовал?

Цитата
Для Ваших целей да - хуже.
А если для телефонной линии то лучше. То, что раньше было и эхоподавителем не назовеш... А, что до симплекса... 21 век на улице симплекс уж совсем не модно как-то.


Мои цели -- весьма типовые. Я догадываюсь даже, что в GSM-шлюзы идёт меньше модулей, чем в разнообразные охранные сигнализации, где всё упирается в громкую связь. И лучше разговаривать в не-модном режиме, чем вообще никак. В симплексе единственная серьёзная проблема -- это когда удалённый абонент разговаривает на фоне музыки, сильного шума и т.п., то микрофон всё время оказывается выключен. Но она, как думается, легко обходится алгоритмически: если в речи удалённого абонента совсем нет пауз -- выключаем "эхоподавитель" и всё.
=F8=
Цитата(Frolov Kirill @ May 11 2012, 12:17) *
Проблемы и с ADC и с DAC. Проблема и там и там одинаковая: низкая разрядность того, что есть в микроконтроллерах, а в любом приличном кодеке ещё и аналоговые регулировки порядка 20dB по входу-выходу есть. И они жизненно нужны, потому, что при 12битах ни регулировку громкости уже никак не сделать, ни максимальную амплитуду потом не подобрать, резисторы по 10 раз перепаивать. Для микрофона же всё ещё жёстче: что за микрофон, где установлен, АРУ потом ещё... Если вместо DAC будет ШИМ, то не лучше: опять же низкая разрядность, нужен фильтр на выходе, и прецизионные резисторы (если используются пара каналов впараллель для повышения разрядности).


Анологовые регулировки и тем-более АРУ это вещи малосовмемтимые с эхоподавителем. Во всяком случае надо точно знать во сколько раз усилен сигнал на входе выходе иначе после каждого измениния усиления фильтру прийдется перестраивать свои коэффициенты, а это дело не быстрое. Если хотите разобратся сходите по ссылкам IMPLEMENTATION OF A BASIC ACOUSTIC ECHO CANCELLER
ECHO CANCELLATION
Так-что если Вы используете внешнее АРУ то ваши проблеммы с эхом понятны.

Цитата(Frolov Kirill @ May 11 2012, 12:17) *
в последнем случае микроконтроллеру нужно 2 шт. I2S интерфейса, что тоже не всегда возможно.

У Телита цифровой интерфейс подключается к обычному SPI(а вот с I2S как раз не работает хотя в доках называется именно I2S) причем к одному.

Цитата(Frolov Kirill @ May 11 2012, 12:17) *
А какой эхоподавитель у Телита? Кто пробовал?

В принципе такой-же как и у симкома. Только без супрессора. Давит неплохо но адаптируется очень долго - порядка 10 сек. Т.е. для ваших целей подходит еще меньше симкома.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.