Увеличение диапазона сигнала смещения постоянного тока (программное обеспечение)
Я пытаюсь прочитать сигнал со смещением по постоянному току, равным 511 (как видно из АЦП). Сигнал крошечный по отношению к смещению, и я передаю его в библиотеку, которая выполняет преобразование Фурье. Он исходит от 3,5-мм аудиоразъема с подключением по переменному току и смещением, чтобы я мог видеть полный сигнал.
Как я могу увеличить радиус действия сигнала? Я думаю что-то вроде входного сигнала (490-530), и мне нужен выход (400-630) или что-то в этом роде (например, исключительно числа). Проблема в том, что мне все еще нужно, чтобы результирующий сигнал был сосредоточен вокруг 511, И я не знаю точную амплитуду входного сигнала (поскольку она зависит от громкости и конкретного звука, поступающего в данный момент).
Я могу предположить, что громкость аудиовхода относительно фиксирована (мне нужно будет настроить это усиление позже, но я предполагаю, что громкость будет постоянной на каком-то уровне во время выполнения проекта) , так что мне не нужно следовать за конвертом или что-то в этом роде, но я не уверен, как это сделать даже в этом случае.
@, 👍0
Обсуждение1 ответ
Вы не можете волшебным образом увеличить разрешение из ниоткуда (ну, вы можете, но это замедляет сэмплирование — вы бы "пересэмплировали" и усредняли несколько последовательных сэмплов).
Вместо этого вам нужно усилить сигнал, прежде чем он попадет на АЦП с помощью операционного усилителя. Простейшая схема (которая также инвертирует сигнал, но я подозреваю, что вас это не волнует):
Эта схема одновременно инвертирует сигнал (если вам небезразлично, просто сделайте немного математики в своей программе, чтобы инвертировать сигнал, но для БПФ вам все равно), и удваивает амплитуду вокруг средней точки. Удвоение регулируется отношением R1 к R2 (20000:10000 = 2:1 = удвоение). Смещение средней точки создается R3/R4 — вам не нужно вручную добавлять собственное смещение.
Это была моя первая идея, но я пытаюсь исправить уже созданный проект, в котором нет места для добавления дополнительных компонентов. У меня тоже нет под рукой операционных усилителей. В результате я ищу способ ввести ввод в более широкий числовой диапазон с помощью какого-то сопоставления., @RDragonrydr
- Сопряжение наушников TRRS с Arduino Uno
- Arduino Micro + Max4466 — Шум на A0
- Отрицательное напряжение АЦП Arduino Due
- Если я использую схему смещения для сигнала, поступающего на аналоговый вход, повлияет ли это на работу АЦП?
- Шум в Analog Read Serial от инструментального усилителя (ina122p)
- Является ли определение функции улучшением скорости а не вычислением среднего значения для каждого аналогового входа отдельно
- Отправка значения с одного Arduino на другой
- Использование аналогового входа для чтения кнопки
Вам нужно добавить операционный усилитель, чтобы увеличить усиление сигнала, прежде чем подавать его на АЦП., @Majenko
Для меня это звучит как [проблема XY](http://xyproblem.info/). Почему вы хотите увеличить дальность сигнала? Как вы думаете, какую проблему вы решите, сделав это?, @Edgar Bonet
Я не могу модифицировать оборудование для этого проекта. Мне нужно, чтобы БПФ регистрировал звуки без того, чтобы источник звука был переведен на уровни, разрывающие барабанные перепонки, поэтому он должен быть в программном обеспечении. Я ищу какой-то фильтр, который я могу запустить для массива образцов, который, скажем, удваивает смещение каждого значения от центра. На самом деле мне нужно было бы сделать более плавное отображение (например, в дизайне без смещения значения 0-30 станут 0-100, поэтому 15 теперь 50. Я мог бы справиться с этим, но не со смещением, хотя то же самое применима общая идея). Сделает ли это что-то слишком странное для результата БПФ?, @RDragonrydr