Почему вырез 8 кГц на микрофонном входе гарнитуры Qualcomm WCD9330?

У меня есть смартфон, в котором используется микросхема аудиокодека Qualcomm WCD9330. (Это Galaxy Note 4.) В ходе тестирования я обнаружил, что вход микрофона гарнитуры демонстрирует провал примерно на 10 дБ в частотной характеристике около 8 кГц, и, помимо беспокойства, мне также любопытно, каковы возможные инженерные объяснения этого . , намеренно или иным образом. (Отчасти я тоже пытаюсь выяснить, является ли это особенностью этой модели, или телефон был поврежден.)

Немного отмотав назад, как только я узнал, что за микросхема задействована, я, конечно же, взял ее спецификацию устройства (на самом деле это оказалось для другого, но очень похожего устройства — не могу найти спецификацию для WCD9330, но даже WCD9335 похож). В этот момент все, что я знал, это то, что записанный звук был приглушен, как будто он прошел через низкочастотный фильтр. АЦП имеют частоты дискретизации 8, 16, 32, 48, 96 и 192 кГц, поэтому мне пришло в голову, особенно при просмотре диаграммы частотной характеристики 16 кГц на странице 30, что, возможно, аппаратная частота дискретизации телефона застряла в прошивке телефона. 16 кГц (несмотря на то, что приложение для записи запрашивало и получало 44,1 кГц). В конце концов я решил проверить эту теорию физически.

У меня есть доступ к генератору развертки, осциллографу и т. д., но, не имея их под рукой в ​​квартире, я пошел более гетто. Я создал файл WAV на своем ПК с 28 чистыми синусоидальными тонами, 0dBFS, 500 мс каждый, с интервалами 1 кГц от 1 кГц до 20 кГц и интервалами 500 Гц в интересующей области, где, как я понял, был спад. Я только что подключил выход звукового интерфейса ПК прямо к проводам микрофона на штекере TRRS 3,5 мм — знаю, ужасно! Хотя в принципе это сработало. Я использовал стороннее приложение для записи на телефоне, чтобы записать необработанный PCM 44,1 кГц в файл WAV, чтобы не было никаких помех со стороны компрессора данных с потерями.

Сначала я выкрутил программный регулятор громкости ПК до минимума, не желая перегружать вход микрофонного уровня, но в конечном счете я обнаружил, что мне нужно установить его довольно высоко, около 75%, чтобы получить сигнал, приближающийся к 0 дБ полной шкалы. записи, а обрезки по-прежнему не было. Это также может быть частью проблемы и согласуется с наблюдением, что записи с гарнитуры на этом телефоне имеют довольно низкий уровень сигнала.

Я загрузил полученный файл в аудиопрограмму на ПК, которая может выполнять среднеквадратичную мощность и анализ БПФ для выбранных областей. Результат не совсем тот, что я ожидал.

Ну, во-первых, там было полно гармонических искажений. Я виню в этом комбинацию довольно дешевых входных и выходных цепей и отвратительного способа их подключения. Вероятно, мне следовало использовать нагрузочный резистор для правильного согласования импеданса, а также, возможно, использовать блокирующий конденсатор постоянного тока. (Обратите внимание, что в последнем случае я не увидел в результате значительного смещения постоянного тока.) Не говоря уже о том, что я не учитывал, питает ли телефон микрофон через те же самые провода. Но мне было тревожно и лениво. И основные тона все еще были более или менее четко различимы на БПФ, несмотря на то, что они также имели сильные гармоники, поэтому я подумал, что результаты все равно что-то значат, и похоже, что они это сделали.

Когда я увидел провал в сторону 8 кГц, я подумал, эй, я был прав, это дискретизация на 16 кГц. Но затем кривая отклика озадачила меня, вернувшись вверх. В диапазоне частот от 14 кГц до 20 кГц ответ возвращается к своему максимуму! Вплоть до 20 кГц основной частотой является самый сильный пик с явным отрывом; так что, согласно Найквисту, в конце концов телефон должен использовать частоту дискретизации 48, 96 или 192 кГц!

Вот где я  действительно начинаю чесать голову. Как будто его пропустили через режекторный фильтр 8 кГц... но зачем??  Вот результаты:

График частотной характеристики

(Синий график округлен до ближайшего дБ, отсюда и выпуклости. Технически общее среднеквадратичное значение, вероятно, должно было быть выше основного, но они были измерены с использованием других инструментов.)

Я почти уверен, что это не артефакт моей небрежной измерительной установки, потому что это очень похоже на то, что я видел и слышал в записях, сделанных с помощью наушников Samsung: приглушенные сибилянты и спектры мощности, которые спадали около 8 кГц. Это также подтвердило мое наблюдение, что точно такая же гарнитура в другой модели телефона Samsung (Note II) не издавала такого приглушенного звука; теперь вдвойне ясно, что дело в самом телефоне.

Хотелось бы, чтобы у меня было второе идентичное устройство, чтобы проверить это, чтобы исключить что-то действительно сломанное в телефоне, но у меня его нет. Я даже не уверен, как что-то может сломаться таким целенаправленным образом!

Я изо всех сил пытаюсь понять, какие разумные объяснения, преднамеренные или нет, могут существовать для этой очень специфической выемки.

Возможно, это конструктивный недостаток WCD9330, но, если вы спросите меня, двухоктавный вырез 10 дБ на частоте 8 кГц был бы настолько досадным недостатком, что я не могу себе представить, чтобы компания хоть наполовину столь уважаемая, как Qualcomm, выпускала такую ​​вещь. Он настолько огромен, что я смог охарактеризовать его инженерным эквивалентом солнечных часов!

Теперь я знаю, что АЦП могут создавать сильные артефакты наложения спектров, когда на входе есть какие-либо компоненты выше частоты Найквиста, и поэтому перед ними должен быть аналоговый фильтр нижних частот. Мне пришло в голову, что, возможно, некоторые разработчики прошивки забыли установить частоту среза AAF в соответствии с используемой частотой дискретизации, но это объяснение кажется немного странным по двум причинам. (i) Произвольно высокие частоты могут вызвать наложение спектров, поэтому AAF должен быть фильтром нижних частот, и я подозреваю, что они также проще, чем вырезы; и (ii) я не могу придумать какой-либо вариант использования для установки AAF независимо от частоты дискретизации, поэтому я вроде как предположил, что чипсет свяжет их вместе на аппаратном уровне, хотя я не подтверждал это!

Еще одним аспектом этой проблемы является то, что уровень сигнала от микрофона гарнитуры очень  низкий, и я подозреваю, что это, вероятно, связано с настройкой прошивки (таким образом, вопрос Android SE). Я не знаю, может ли действительно низкое усиление или затухание входного усилителя повлиять на частотную характеристику входа таким образом. Это возможно или вероятно? (Если да, то почему?)

В WCD93xx также есть пара пятиступенчатых цифровых БИХ-фильтров, которые, конечно, можно настроить для создания режекции, но у меня сложилось впечатление, что телефоны обычно используют БИХ-фильтры для самопрослушивания, а не для приглушения микрофона! XD

Я не знаю точно, есть ли в телефоне какие-либо схемы перед WCD9330, но, насколько я могу судить, их, вероятно, немного. Мне удалось откопать руководство по обслуживанию для близкородственной модели, которая в основном такая же, за исключением того, что поддерживаются диапазоны UMTS и LTE. Это для SM‑N910F, а не для SM‑N910W8, который у меня есть. Вот что он показывает для схемы гарнитуры:

Звуковая схема гарнитуры Samsung SM-N910F

Насколько я могу судить, большая микросхема — это, конечно, WCD9330 (в руководстве отсутствует манифест деталей!) В руководстве не показано, куда идут EAROUT_L, EAROUT_R, HPH_REF, EAR_MIC_P и EAR_MIC_N, но я более или менее предполагаю, что они идут. напрямую (через отдельную плату) к разъему 3,5 мм. Похоже, на это также указывает соответствующая часть схемы «типового применения» очень похожего WCD9311:

Типичное применение Qualcomm WCD9311 — звук в гарнитуре

Однако меня смущает то, что HPH_REF и EAR_MIC_N показаны как отдельные линии и даже имеют отдельные резисторы, но на самом деле в гарнитуре телефона используется штекер TRRS (четырехжильный), на котором заземляющее кольцо является общим между наушниками и микрофон гарнитуры. Хммммм. Так что там происходит?

Во всяком случае, мой главный вопрос: каковы возможные/вероятные объяснения этого выреза на 8 кГц?

РЕДАКТИРОВАТЬ:   Я не проверял объективно, но на слух эта потеря точности, похоже, не влияет на записи, сделанные с использованием внутренних микрофонов. Кажется, это только на порте гарнитуры. Учитывая объяснение в ответе Брайана Драммонда, это еще больше похоже на недосмотр прошивки.

просто выстрел в темноте ... возможно, без фильтра телефон демонстрирует колебание обратной связи 8 кГц при использовании в режиме громкой связи
Одним словом псевдоним.
Звучит как веская причина задокументировать ваш тестовый аудиофайл, рабочий процесс и диаграмму подключения, чтобы увидеть, не захотят ли другие повторить или расширить ваше исследование. Использование небольших наушников для передачи звука на встроенный микрофон мобильного телефона также должно позволить собирать некоторые ограниченные данные для сравнения с проводным входом.

Ответы (1)

Ключевое слово здесь "телефон"... когда телефонные системы (проводные) впервые были оцифрованы, частота дискретизации была стандартизирована на уровне 8 кГц, а при реконструкции аналоговый фильтр отсекал высокие частоты выше 3,4 кГц, чуть ниже частоты Найквиста (fs/2 или 4 кГц).

Неблагоприятным последствием этого является то, что спектр старых цифровых телефонных систем (т. е. большинства стационарных телефонов) без фильтра 3,4 кГц содержит много нежелательного контента около 8 кГц (псевдоним, как говорит Энди), и вызов такой системы из современный телефон был бы довольно неприятным опытом.

Довольно широкий вырез в 10 дБ на этой частоте выглядит как неудачный компромисс между точностью на современных системах и мучительно противным звуком на старых.

Можно было бы отключить эту метку при воспроизведении музыки или, возможно, в Whatsapp и т. д., где достоверно известно, что источник данных имеет более высокую частоту дискретизации; но это вполне может быть невозможно для случайного телефонного звонка в/из неизвестной телефонной системы.

...а потом прошивка в этой модели забывает отключить фильтр, когда приложения запрашивают данные PCM. В некоторой степени это имеет смысл, хотя это, похоже, не влияет на внутренние микрофоны — только на микрофон гарнитуры. Конечно, если это оплошность, то это вполне правдоподобно! Возможно, они никогда не тестировали запись голоса с помощью гарнитуры. Странно, что они использовали метку, а не фильтр нижних частот, учитывая, что, как я только что узнал, даже современные мобильные сети по большей части используют частоту дискретизации 8 кГц, а иногда и 16 кГц, так что вы ничего не выиграете, допустив что-либо. выше 8 кГц (и действительно может получить неприятный алиасинг).
Одна вещь, которую я не совсем понимаю здесь re. POTS, вот почему он будет делать шаг AAF по реконструкции . Технически псевдонимы могут возникать на произвольно низких частотах (спектр псевдонимов ниже fs/2 является зеркальным отражением спектра выше fs/2), поэтому AAF необходимо выполнять до того, как сигнал будет оцифрован после этого уже слишком поздно. Конечно, это может быть меньшей проблемой, если аналоговый исходный сигнал уже ограничен полосой до 12,6 кГц или меньше, и в этом случае можно оставить фильтрацию для последующей адресации сквозного шума тактового сигнала ЦАП, в то же время более экономично.
Кажется маловероятным, что это происходит на самом деле; логика объяснения неправильно определяет направление проблемы (вы спрашивали о вводе, а не выводе) и игнорирует тот факт, что мобильные телефоны никогда напрямую не взаимодействуют с POTS, а только с мобильными кодеками, которые ограничивают полосу пропускания и даже не будут кодировать такие "артефакты" для начала.
Вы правы в том, что перед процессом выборки применяется собственно фильтр сглаживания. Традиционно до АЦП, но в настоящее время в цифровом виде после АЦП с высокой частотой дискретизации до 8 кГц (потому что аналоговые фильтры дороги!). Однако существует аналогичный (но менее важный) «фильтр реконструкции» после ЦАП (или теперь часть «ЦАП с передискретизацией». Крис также отмечает, что системный интерфейс к POTS должен позаботиться об этом, прежде чем передавать его на телефон . ; но, учитывая разнообразие телефонных систем по всему миру, мне интересно. Хотя лучшего объяснения я не вижу.
Опять же, вы продолжаете упускать из виду, что вопрос касается аналогового входа , а не выхода - так что ничего не "передается в телефон" - скорее наоборот.
@ChrisStratton Да, я заметил, что он, похоже, имел в виду путь Rx. Но для пути Tx требуется какой-то AAF (вероятно, больше, чем для пути Rx), а GSM также использует выборку 8 кГц, и поэтому потребуется аналогичный AAF даже только для вызовов с мобильного на мобильный. Если вы передадите образцы 8 кГц в кодировщик GSM без надлежащего AAF заранее, он не сможет различать мусор выше 4 кГц и информацию ниже 4 кГц из-за алиасинга. С учетом сказанного, это действительно должен был быть фильтр нижних частот, а не метка — и вообще не должен был включаться для звука без вызова; Я, конечно, открыт для других ответов.