Я обнаружил, что мой смартфон (android 4.2.2) не способен генерировать квадратные формы (мне нужно использовать аудиовыход в качестве последовательной линии для передачи данных). В начале я предположил, что это мое приложение, но затем я сделал много важных тестов. Это последние тесты. Надеюсь, вы найдете объяснение этого явления.искажение звука Android на квадратной форме волны
Я создал wav-файл с квадратной формой волны на расстоянии 500 Гц внутри него. Я играю wav-файл на телефоне Android и на яблочном iphone. Я записал и проанализировал сигнал с помощью своего ноутбука (аудиокабель, подключенный к аудиовходу ноутбука).
Затем я повторил тесты с помощью аудиокабеля, подключенного между приемопередатчиком bluetooth и аудиовходом ноутбука. И смартфоны, подключенные через Bluetooth (по одному) к приемопередатчику bluetooth.
ПРИМЕЧАНИЕ. Приемопередающее устройство Bluetooth - это устройство, которое принимает аудиоданные через Bluetooth и дает аудиовыход со стандартным аудиоразъемом.
Это сигнал генерируется Iphone непосредственно подключенного к аудиогнезду:
Это сигнал генерируется с помощью Bluetooth устройства, принимающего данные от Iphone:
Это сигнал генерируемый устройством Android, напрямую подключенным к аудиоразъему:
Это сигнал, генерируемый устройством Bluetooth, получающим данные от андроид смартфон:
анализами:
-The Bluetooth устройство вводит надрез к полосе пропускания сигнала (как мне кажется приемлемым).
-The iphone имеет очень хорошую аналоговую часть (она выдает очень хорошую квадратную форму волны)
-The андроида устройство имеет очень плохую аналоговую часть (даже если он идеально подходит для воспроизведения музыки)
-The данные, отправленные телефоном android на устройство bluetooth, неверны, фактически полученный сигнал отличается от того, который получил данные, поступающие с iphone.
Я восстановил смартфон до заводского значения по умолчанию, но проблема не была решена. Я также пытался установить kitkat custom rom, но проблема все еще там. Я также пробовал с Nexus 5 (android 5) и samsung S4 mini (android 4.2.2, как у меня), и они действуют как iphone.
Я подозреваю, что проблема связана с звуком студии DTS (я попытался отключить ее и установить ее разными способами без успеха). DTS, кажется, единственное различие в программном обеспечении между моим телефоном и samsung s4 mini.
ВОПРОС: Я могу понять, что аналоговая сторона моего устройства Android не так хороша, как iphone, я также могу предположить, что аналоговая часть моего устройства Android нарушена ... но я не понимаю, почему я Получайте тот же результат, когда я вставляю устройство приемопередатчика bluetooth.
Существует, безусловно, фильтрация как низкочастотных, так и нередко высокочастотных последовательно соединенных конденсаторов, если нигде больше. Существует также, возможно, всякая уродливая обработка, такая как преобразование частоты дискретизации. Но также могут возникнуть проблемы с вашей программой, такие как переполнение буфера на некоторых устройствах. Чтобы действительно диагностировать, пожалуйста, покажите фотографии искаженного выхода, на разных частотах и покрывая несколько циклов квадратной волны. Насколько большой размер вашего буфера? Что возвращает запрос минимального размера буфера на плохое устройство? Включение кода генерации и воспроизведения также будет полезно. –
Вы также можете попробовать создать свой сигнал в виде WAV-файла на ПК с чем-то вроде Audacity или порта вашей программы, который записывает образцы в файл, проверяет, что он воспроизводится по желанию, а затем пытается воспроизвести это на Android-устройство. Это поможет определить, является ли это проблемой с аппаратным или заводским программным обеспечением устройства или с вашей программой. –
привет @ Крис Страттон, это не важно, мое приложение, потому что проблема присутствует и в том случае, если я играю wav-файл из стандартного аудио приложения (тот, который поставляется с Android). Я попробую поставить снимок – Gaucho