Как устранить шум, возникающий после аналого-цифрового преобразования?

Я построил ультразвуковой датчик дальности, используя ультразвуковой ( 250ST/R160 ) динамик, который излучает прямоугольную волну 25 кГц с напряжением Vpp 12 В в течение 1 мс. Микрофон ( SPU0410LR5H-QB ) питается от 3,3 В, а его контакт SGN подключен к входному контакту ADC микроконтроллера. АЦП производит выборку на частоте 250 кГц (по 10 точкам). АЦП включается через 1 мс после выключения динамика и остается включенным в течение 8 мс. Затем этот процесс повторяется.

Я контролирую выход АЦП, выводя сигнал с помощью ЦАП. Проблема в том, что показания, которые выдает ЦАП, зашумлены. (Первоначально я думал, что сэмплирую слишком часто, что улавливаю шум вместо фактического сигнала. Но я считаю, что сэмплирование в 10 раз быстрее — это эмпирическое правило.)

Я также отслеживаю контакт SGN микрофона (сигнал, который подается на АЦП), и, хотя шума немного, он не близок к тому, что я вижу на выходе ЦАП.

Похоже, что уровень шума постоянен, а отношение сигнал/шум можно увеличить, увеличив Vpp прямоугольной волны до 30 В. Но такое высокое напряжение на борту я без блока питания подать не могу. Поэтому мне нужно найти способ уменьшить шум без увеличения Vpp.

Жду ваших рекомендаций, спасибо.

Пожалуйста, смотрите схему ниже:

введите описание изображения здесь

Ваша проблема, вероятно, связана с АЦП (из опыта). Как уже отмечалось, принципиальная схема была бы очень полезной.
Почти всегда лучше сначала сосредоточиться на шуме и разобраться с ним до (в физическом дизайне/устройстве), а также на 1-й электронной стадии, где работает преобразователь. Как только шум попадает в систему, у вас становится меньше и хуже вариантов.
У вас есть внешний сглаживающий фильтр?
Можете ли вы опубликовать изображения следов прицела? Это может помочь в определении шума.
@PeterSmith нет, не знаю.

Ответы (2)

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

И затем, самым простым было бы сделать RC-фильтр высоких частот, где частота среза должна быть выше 80 Гц, последнее для устранения электрических помех, создаваемых розеткой 110/220 (которая использует 50 или 60 Гц). Я рекомендую вам поставить два таких фильтра последовательно, так вы оставите сигнал на выходе намного чище, хотя с одним вы уже многое решаете.

Также можете заглянуть в эту статью , она очень поучительна.

Выделите большой буфер в микроконтроллере, запишите в него выходные данные аналого-цифрового преобразователя, а затем перетащите данные на ПК и мучайте их с помощью MATLAB. Используйте GNU Octave, если у вас нет MATLAB. Поместите несколько дополнительных маркеров в поток данных, чтобы вы могли видеть интервалы гашения и сигнала.

Ваша скорость ввода составляет 250 кГц, а ваш активный интервал составляет 8 мс, поэтому вы получите 2000 выборок/активный интервал.

Как только вы сможете захватить ЧТО-ТО, посмотрите на сигнал в аналого-цифровом преобразователе и замените его сигналом от функционального генератора с «похожими» характеристиками. Возьмите данные, изучите их и посмотрите, что вы получите. Затем вернитесь к цепям согласования микрофона (аналоговым) и повторите упражнение.

Это способ проверить поведение АЦП. сравнивая его с выходом ЦАП, вы вносите ошибки из-за другого преобразования, возможных ошибок синхронизации и выходной сети. Если вы хотите проверить это с помощью ЦАП, вам нужно сначала проверить правильность поведения выхода ЦАП.
@Grebu, вы начинаете с проверки АЦП, подавая на него известный сигнал и ища ожидаемые результаты. После того, как вы проверили аналого-цифровой преобразователь, внимательно изучите цепочку формирования сигнала до аналого-цифрового преобразования. Получив это, вы можете начать смотреть на то, что дает вам ваш преобразователь.
да, ты прав. Я просто дополнял ваш ответ причиной, по которой трудно проверить поведение АЦП путем измерения выходного сигнала ЦАП. Таким образом, ваш ответ позволяет избежать этой проблемы и является правильным решением. Может я двусмысленно выразился.