Данный пост является продолжением моей темы Универсальный iRig для iPhone и Андроид своими руками или экономим 30 евро.
В этом посте я расскажу как применялся девайс, созданный в первом посте. Какие результаты это дало, как это применять, и в целом об оценке качества связи. В данном посте так же задействован материал из статьи ALyarskiy Способы оценки субъективного качества речи Отличие девайса представленного в предыдущей теме только в корпусе, его начинка и схема осталась той же, за исключением добавления секции для припаивания усилителя звука (фото, все подробности, источники, исходники и файлы под катом).
Вступление и описание
Для оценки качества речевой связи существует ряд программно-аппаратных решений. Примером такого решения для тестирования VoIP сервисов для мобильных платформ является решение представленное на Рис. 1. Для проведения тестирования создается беспроводная IP сеть с контролируемыми условиями. Сеть используется только тестируемыми аппаратами. Сетевой трафик от аппарата к аппарату проходит через специальное ПО эмулирующее заданные сетевые условия (обычно используется стандарт TIA-921, например ПО фирмы Shunra или же стандартный для Linux NetEm). На мобильных устройствах устанавливается ПО для осуществления VoIP звонков. Ввод/вывод речевых сигналов осуществляется через гарнитурный разъем посредством специального прибора (промышленно выпускаемого, например, прибор DSLA фирмы Malden). Прибор управляется программным обеспечением установленном на ПК. После воспроизведения и захвата сигнала на управляющем ПК производиться расчет метрик оценки качества (PESQ, задержка). Платформа позволяет оценить качество связи максимально близко к восприятию конечным пользователем, так как учитываются тракты ввода/вывода сигнала конкретных устройств.
Рис. 1: Программно-аппаратное решение для тестирования качества речевой связи VoIP сервисов на мобильных платформах.
Описанное выше решение (с использованием специального прибора) является наиболее предпочтительным в виду своей надежности (качественным звуковым трактом измерительного прибора, гибкими настройками коэффициентов усиления и др.) и точного соответствия стандартам, но в лабораторных условиях может быть заменено на упрощенную схему, где вместо специального прибора для ввода/вывода звука используется аудио карта ПК и специальное ПО для расчета метрик (в настоящее время, существуют свободно распространяемые программы расчета метрик). Схема упрощенной платформы приведена на рис. 2.
Рис. 2: Упрощенная платформа, без использования специального аппарата для ввода/вывода речевого сигнала.
Для работы упрощенной платформы необходим провод-переходник соединяющий аудио карту с гарнитурным входом мобильного аппарата. Соединение (гарнитурный выход -----> вход аудио карты) является стандартным и соответствующие провода есть в продаже. Для соединения (выход аудио карты -----> гарнитурный вход) необходимо согласованное соединение для того, чтобы мобильное устройство определило подключение гарнитуры и переключилось в режим handset. Пример схемы согласования входов приведен на рис. 3.
Схема гарнитурного разъема мобильных устройств:
M – микрофон
G – общий провод (земля)
R – аудио выход правый
L – аудио выход левый
Рис. 3: Пример схемы согласования.
Сопротивления R1 и R2 используются в качестве делителя для уменьшения мощности сигнала с аудио выхода ПК. Также сопротивление R2 необходимо для того чтобы устройство детектировало подключение гарнитуры и переключилось в соответствующий режим. Коэффициент ослабления выбирается исходя из характеристик устройства. Из практики коэффициента 2 может быть достаточно (мощность сигнала с ПК может быть отрегулирована настройками громкости). Общий провод соединения является также экранирующим и используется для экранирования с выхода устройства на вход ПК.
Данная платформа была реализована и полностью описана в моей предыдущей статье Универсальный iRig для iPhone и Андроид своими руками или экономим 30 евро. Как уже писал выше, отличия только во внешнем виде устройства. Теперь это не баночка для анализов мочи, а нормальный прямоугольный пластиковый корпус (который руки не доходят покрасить).
Так девайс выглядел раньше:
Так он выглядит в новом корпусе:
А так выглядит начинка:
Рис. 4: Платформа для замера задержки.
На рис. 4 приведена платформа для замера задержки в которой отсутствует соединение «выход аудио карты ----> гарнитурный вход телефона», что упрощает платформу. Ввод звука в мобильное устройство осуществляется через встроенный микрофон. ПО установленное на ПК осуществляет ввод/вывод звука и расчет задержки.
На рис.5 приведен пример графического интерфейса приложения для ПК позволяющего воспроизводить/захватывать сигнал с помощью аудио карты ПК, рассчитывать метрику PESQ и задержку распространения речевого сигнала.
Рис. 5: Пример внешнего вида приложения для ПК используемого в упрощенной измерительной платформе.
Пример использованя через консоль:
pesq.exe +16000 female_16.pcm silk_out.pcm
Файл pesq.exe, female_16.pcm и silk_out.pcm приложены в конце статьи.
Тест (пример использования)
Для начала рассмотрим алгоритм работы с PESQ
(Картинка взята у ALyarskiy)
После чего давайте посмотрим на полный процесс обработки сигнала
(Картинка взята у ALyarskiy)
Теперь мы проведём сравнение Skype (default настройки) и YouMagic (кодек SILK, 8kHz) в неконтролируемой сети. Звонок осуществоляется с iPhone 4S на Samsung Note.
Результат в Skype:
Результат в YouMagic:
Интерфейс под МатЛаб был разработан моим коллегой, за что ему огромное спасибо.
Ссылки:
Описание стандарта
Способы оценки субъективного качества речи — ALyarskiy
Исходники на Си
Скомпилированный pesq.exe
Файл female_16.pcm
Файл silk_out.pcm
Библиотека для matlab
Краткое ридми для matlab
Автор: ErgoZru