|
АРУ, нужен алгоритм |
|
|
|
Nov 15 2007, 15:26
|
Группа: Новичок
Сообщений: 11
Регистрация: 21-10-07
Пользователь №: 31 558

|
В прошлом году делал АРУ. есть несколько алгоритмов. если еще нужно, могу поискать, даже исходники выслать. только на С.
|
|
|
|
|
Nov 15 2007, 19:40
|
Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821

|
Цитата(dtsar @ Nov 15 2007, 20:26)  В прошлом году делал АРУ. есть несколько алгоритмов. если еще нужно, могу поискать, даже исходники выслать. только на С. Уважаемый dtsar, если Вас не затруднит, вышлите исходники на yuramail@k66.ru. Заранее спасибо.
--------------------
Чудес не бывает - бывает мало знаний и опыта!
|
|
|
|
|
Nov 16 2007, 05:10
|

Гуру
     
Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606

|
Цитата Братцы, а что такое "алгоритм АРУ"? По крайне мере в моем понимании есть несколько видов АРУ. - с прямым регулированием; - с обратным регулированем; - АРУ с садержкой; - АРУ без задержки; rezident в вашем случае когда сосед не стучит по батарее, выполняется вот это if (volume<MOI_LUBIMIY_UROVEN_GROMKOSTI) volume++; т.е. громкость будет возрастать и стремится к бесконечности. Это же не есть гуд, когда по батарее никто не стучит. Значит надо предусмотреть минимальный уровень громкости, который еще не надо усиливать. У АРУ есть еще один неприятный момент: если мы негромко говорим в микрофон, а затем повышаем голос, то на выходе АРУ будет всплеск, т.к. коэффициент усиления АРУ еще не успел адаптироваться. И в противном случае когда с громкого голоса понижаем его, будет провал, т.к. коэффициент усиления еще был мал. Чтобы уменьшить длительность этих всплесков нужно уменьшать интервал усреднения энергии сигнала. Но если уменьшить интервал до одного сэмпла модуляция исчезнет напрочь, АРУ просто сгладит входной сигнал. Именно от этих всплексок я не могу избавится, АРУ пока валяю в Simulink.
|
|
|
|
|
Nov 16 2007, 13:34
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(urasinov @ Nov 16 2007, 08:10)  По крайне мере в моем понимании есть несколько видов АРУ. - с прямым регулированием; - с обратным регулированем; - АРУ с садержкой; - АРУ без задержки; Понятно. С натяжкой, принять можно. Правда, вместо слова "алгоритм" лучше использовать выражение "способ реализации". Не мешало бы выложить сюда условия Вашей задачи. Тогда можно было бы посоветовать что-то конкретное. Цитата(urasinov @ Nov 16 2007, 08:10)  У АРУ есть еще один неприятный момент: если мы негромко говорим в микрофон, а затем повышаем голос, то на выходе АРУ будет всплеск, т.к. коэффициент усиления АРУ еще не успел адаптироваться. И в противном случае когда с громкого голоса понижаем его, будет провал, т.к. коэффициент усиления еще был мал. Чтобы уменьшить длительность этих всплесков нужно уменьшать интервал усреднения энергии сигнала. Но если уменьшить интервал до одного сэмпла модуляция исчезнет напрочь, АРУ просто сгладит входной сигнал. Именно от этих всплексок я не могу избавится, АРУ пока валяю в Simulink. В ряде случаев для сжатия динамического диапазона речевого сигнала допустимо использование (динамического) амплитудного ограничения.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Nov 16 2007, 20:25
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(urasinov @ Nov 16 2007, 16:55)  Да вы правы возможно амплитудного ограничителя будет достаточно. Не вижу необходимости усиливать слабый сигнал, требуется подавлять сильный. К этому вопросу нужно подходить осторожно. Например, если после оцифровки предполагается "сжимать" речь средне- низкоскоростным вокодером, амплитудный ограничитель и даже достаточно быстродействующая АРУ способны его "развалить" (появятся крайне неприятные призвуки, или даже неустойчивость анализатора). Поэтому, не мешало бы выяснить, что Вы собираетесь делать с сигналом после оцифровки. Цитата(urasinov @ Nov 16 2007, 16:55)  ...Электретный микрофон, с номинальным выходным напряжением 12 мВ, кодек со встроенным операционником и процессор. Коэффициент усиления ОУ 22 дебила (или в 13 раз если память не подводит). Максимальное напряжение с микрофона может достигать 60 мВ. Когда напряжение с микрофона возрастает до 20-30 мВ и выше его требуется поддерживать на этом же уровне. Я бы всё-таки попытался уменьшить усиление ОУ или, на худой конец, уровень сигнала с микрофона в 2-3 раза (последнее можно сделать, уменьшив номинал резистора нагрузки соответственно). "Быстрые" АРУ и ограничители существенно ухудшают качество исходного сигнала, а динамического диапазона современных 16-битных кодеков более чем достаточно для поддержания приемлемого отношения С/Ш даже при низких уровнях сигнала с электретного микрофона без АРУ. Какой именно кодек Вы юзаете, тоже интересно было бы знать. В крайнем случае, можно сделать пороговую АРУ, где к-т усиления начинает плавно уменьшаться, начиная с какого-то определённого уровня входного сигнала. Но искажений при этом не избежать, и я этот способ всё-таки не рекомендую Вам брать на вооружение... ЗЫ. При работе с аудиокодеками я всегда использовал внешний усилитель микрофонного сигнала, а на встроенном усилителе выставлял Ку ~= 2 для нормального уровня (а не 1, чтобы компенсировать избыточную чувствительность некоторых экземпляров микрофонов программно).
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Nov 21 2007, 01:00
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(urasinov @ Nov 19 2007, 08:16)  Именно то что вы написали, дальше сигнал поступает на вокодер. Тогда о всяческих АРУ и ограничителях лучше забыть. Какой вокодер применять думаете, кстати? Цитата(urasinov @ Nov 19 2007, 08:16)  ...Кодек AD73322 16-битный, отношение S/N 78 db итого 12 эффективных разрядов. Ближе к 13, по-моему. Вообще-то, этот кодек - отстой. Если есть возможность, стоит подумать о его замене на более приличный. Кстати, оцифровку на нём нужно делать с передискретизацией и последующим прореживанием: цифровой ФНЧ там тоже паршивый. Цитата(urasinov @ Nov 19 2007, 08:16)  ...У этого кодека имеется ОУ на входе ноги которого выведены наружу. Тут резисторами выставлен коэффициент усиления 6 db. Кроме этого в кодеке имеется PGA (ОУ с программируемым коэффициентом усиления) 0...38db, на нем выставлено 18 db. Ну, так уменьшите просто - и все дела. Цитата(urasinov @ Nov 19 2007, 08:16)  ...Такой большой коэффициент усиления, потомучто на выходе кодека требуется амплитуда 0,5 В. А это ещё как?
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|