Jump to content
    

постоянная времени цифровой АРУ

Добрый день. Есть реализация цифрового логарифмического АРУ для речи из книги Лайонса (постоянная времени такого АРУ не зависит от амплитуды входного сигнала). Возможно вопрос банальный, но тем не менее хотелось бы узнать из каких соображений выбирать постоянную времени речевого АРУ для получения наилучшего результата. Видел разные значения от 0.05с до 0.1с, хотелось бы получить более конкретные значения)

Share this post


Link to post
Share on other sites

Конкретно этой АРУ не знаю, но с постоянными времени нужно аккуратно играться до получения нужного Вам результата. По нашему опыту, постоянных времени должно быть две - одна для повышающегося уровня входного сигнала - короткая. Ступенчато увеличенный сигнал приводился в номинал за 0.2 сек. Для понижающегося уровня входного сигнала постоянная времени должна быть существенно больше - порядка 2 сек. Иначе на речи все выглядит безобразно - сигнал все время прыгает на паузах между словами. И еще полезно сделать "мертвую зону" - пока выходной сигнал не вышел за некие границы вокруг номинала - не трогать усиление вообще.

Share this post


Link to post
Share on other sites

Конкретно этой АРУ не знаю, но с постоянными времени нужно аккуратно играться до получения нужного Вам результата. По нашему опыту, постоянных времени должно быть две - одна для повышающегося уровня входного сигнала - короткая. Ступенчато увеличенный сигнал приводился в номинал за 0.2 сек. Для понижающегося уровня входного сигнала постоянная времени должна быть существенно больше - порядка 2 сек. Иначе на речи все выглядит безобразно - сигнал все время прыгает на паузах между словами. И еще полезно сделать "мертвую зону" - пока выходной сигнал не вышел за некие границы вокруг номинала - не трогать усиление вообще.

 

Спасибо за ответ. А можно ли поставить "мягкое ограничение" сигнала после АРУ для полного исключения эффекта перегрузки, чтобы уровень сигнала не поднимался выше определенного значения вообще? Как это реализовать на C?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Поставить-то юудет хорошо, только реализовывать программно Вы его замаетесь. Поставьте жесткое - оно не очень сильно отражается на разборчивости речи.
А как правильно реализовать "мертвую зону"? Получается что просто сравнивать входной отсчет с неким номинальным уровнем неверно, нужно наверное среднее значение сигнала на каком-нибудь промежутке времени считать?

Share this post


Link to post
Share on other sites

Добрый всем день!

 

У меня тоже вопрос по АРУ, реализовал с Лайонса вот этот АРУ

post-69640-1493198513_thumb.jpg

 

Вопрос такой, как сделать АРУ чтоб он не выдавал всплеск который я выделил на картинке?

 

 

Спасибо за ответ. А можно ли поставить "мягкое ограничение" сигнала после АРУ для полного исключения эффекта перегрузки, чтобы уровень сигнала не поднимался выше определенного значения вообще? Как это реализовать на C?

Компрессор вам в помощь

Share this post


Link to post
Share on other sites

Вопрос такой, как сделать АРУ чтоб он не выдавал всплеск который я выделил на картинке?

Может поможет

"RF architectures and digital signal processing aspects of digital wireless trasceivers - Nezami - 2003"

4-23 - 4-30

Share this post


Link to post
Share on other sites

Может поможет

"RF architectures and digital signal processing aspects of digital wireless trasceivers - Nezami - 2003"

4-23 - 4-30

Спасибо! читал уже

Не поможет, там все тоже самое

Share this post


Link to post
Share on other sites

Добрый всем день!

 

У меня тоже вопрос по АРУ, реализовал с Лайонса вот этот АРУ

post-69640-1493198513_thumb.jpg

 

Вопрос такой, как сделать АРУ чтоб он не выдавал всплеск который я выделил на картинке?

 

После задержки z поставить ограничитель уровня.

 

 

 

Share this post


Link to post
Share on other sites

Получается что просто сравнивать входной отсчет с неким номинальным уровнем неверно, нужно наверное среднее значение сигнала на каком-нибудь промежутке времени считать?

Да, это обязательно для речи.

Тут уже обсуждение ушло несколько в другую сторону, но продолжая исходную тему, хочу сказать, что в речевом сигнале нужно считать среднеквадратичное значение за 50 - 100 мс и дальше использовать в схеме АРУ. Можно попробовать для упрощения использовать не среднеквадратичное, а средний модуль или максимальное за то же время, но по нашему опыту результаты хуже.

Share this post


Link to post
Share on other sites

Да, это обязательно для речи.

Тут уже обсуждение ушло несколько в другую сторону, но продолжая исходную тему, хочу сказать, что в речевом сигнале нужно считать среднеквадратичное значение за 50 - 100 мс и дальше использовать в схеме АРУ. Можно попробовать для упрощения использовать не среднеквадратичное, а средний модуль или максимальное за то же время, но по нашему опыту результаты хуже.

 

не пойму что где...

берем среднеквадратичное значение входного сигнала и его подаем в АРУ?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...