Спасибо Chris Gianakopoulos за то, что написал нам и поделился выпуском своей библиотеки AGC с открытым исходным кодом, реализованной на языке C. Библиотека не зависит от аппаратного обеспечения и разработана так, чтобы программистам было легко внедрять алгоритм AGC в их программы. Библиотека AGC может автоматически оптимизировать отношение сигнал-шум (SNR) на SDR с регулируемыми усилителями (VGA). Крис объясняет:
Я преобразовал свой программный AGC в код на C со следующими улучшениями:
1. Он не привязан к конкретной радиосистеме.
2. Он написан на языке C, чтобы его могли использовать как приложения на C, так и на C++.
3. Приложение предоставляет две функции обратного вызова: одну — для предоставления текущего значения усиления усилителя, и другую — для установки усиления.
4. В качестве входа в алгоритм AGC подается величина сигнала.
5. Среди прочего — количество бит, используемое для представления величины сигнала, задаётся во время инициализации.Для получения более подробной информации репозиторий находится по адресу,
https://github.com/wizardyesterday/AutomaticGainControl
Я успешно интегрировал этот AGC в тестовую версию радиодиагностики, находящуюся по адресу
https://github.com/wizardyesterday/RtlSdrWork_agc
—–
Автоматическая регулировка усиления (AGC) — это система обратной связи, которая регулирует коэффициент усиления вариабельного усилителя (VGA) для поддержания рабочей точки, такой как уровень напряжения, уровень тока или, в случае цифрового радиоприёмника, величина сигнала, подаваемого на AGC. Обычно в качестве входа в AGC используется среднее значение величины блока данных, что обеспечивает сглаживание входа, подаваемого на AGC.
Была предпринята попытка точной реализации того, что описано в статье (Фред Харрис и Грегори Смит) в каталоге doc/papers/. Подробности по проектированию и реализации см. в этой статье.
Он далее продолжает объяснять, почему программная AGC полезна:
Моя мотивация создать AGC заключалась в том, чтобы дать людям возможность запускать SDR-программное обеспечение на радиоустройствах, которые содержат A/D-конверторы, выдающие 8-битные выходные образцы. При диапазоне примерно 48 дБ (теоретически, без учета потерь реализации) в радиосреде с резко различающимися уровнями сигнала не остается много пространства для манёвра.
С усилителем, выход которого подаётся на A/D-конвертор на rtl-sdr, когда я слушал частоты самолётов, я слышал сильные тоны, когда принимался сильный сигнал. Решение заключалось в снижении усиления LNA и усилителя смесителя.
Я задался вопросом: зачем снижать чувствительность фронтенда, если перегрузка сигнала не происходила на входе переменного усилителя? Это была перегрузка A/D-конвертора!
С AGC пользователь может установить безопасную рабочую точку, которая обеспечивает запас по динамике и позволяет избежать перегрузки при появлении сильного сигнала. Когда сигнал исчезает, усиление увеличивается, чтобы вы могли услышать слабые сигналы.
Надеемся, что разработчики SDR-программного обеспечения увидят это и внедрят это в своё программное обеспечение!
Источник:
- выпуск его библиотеки с открытым исходным кодом, программно реализованной для автоматического регулирования усиления (AGC), написанной на языке C.
- Пожалуйста, вставьте английский текст, который нужно перевести на русский. Я сохраню все аббревиатуры и названия технологий в исходном виде (например SDR, RTL-SDR, RF, DSP, GNU Radio и т. д.).
- Пожалуйста, вставьте текст на английском, который нужно перевести. Я переведу только описательный текст по теме SDR и сохраню аббревиатуры и названия технологий в оригинале.
