Правильно ли я получаю пропускную способность постоянного тока?

Я вычисляю Джонсон и дробовой шум в цепи постоянного тока, где у меня есть выборка Arduino Due с «задержкой (100);», то есть на частоте 10 Гц.

Частота дискретизации и полоса пропускания следуют теореме дискретизации Найквиста. Согласно этой теореме частота дискретизации должна быть как минимум в два раза больше ширины полосы входного сигнала. Поскольку наша частота дискретизации составляет 10 Гц, полоса пропускания должна быть

5 Гц .
Это верно? Означает ли это, что многие источники шума просто исчезнут, если я добавлю в свой код достаточно большую задержку? Какой правильный ответ для пропускной способности?

Нет, шум просто будет наложен.
о, если бы это было правдой
Обратите внимание, что задержка в 100 мс не приведет к выборке с частотой 10 Гц, поскольку сама выборка занимает некоторое время.
Какая тогда пропускная способность?
Совсем немного меньше. Использование таймера для запуска АЦП позволит вам получить точную скорость.
Что вы подразумеваете под "точной ставкой"?
Он имеет в виду именно 10 Гц, а не 9,98 Гц или какое-то другое значение.
Магии нет. Сигналы на более высоких частотах (включая шум) «заворачиваются» при сэмплировании. Единственный способ устранить сигналы за пределами интересующей полосы — отфильтровать их с помощью реального (аппаратного) фильтра.
Если вы специально не хотите 9,98 Гц. Кто мы такие, чтобы судить?

Ответы (1)

Частоты работают иначе.

Как указано в комментариях к вашему вопросу, ваш шум будет просто связан с пропускной способностью, которая у вас есть. Псевдоним означает, что частота, которую вы должны видеть, интерпретируется как более низкая частота, потому что ваша полоса пропускания недостаточно велика.

Частота Найквиста предназначена для определения того, что вы сможете увидеть/обнаружить осмысленным образом, не ошибаясь в форме сигнала. Конечно, только для синуса. Если вы хотите увидеть прямоугольную волну с частотой 5 Гц, вам нужно гораздо больше, чем 10 выборок в секунду.

Что касается вашей проблемы с шумом; вы не можете «сэмплировать» шум, просто понизив частоту дискретизации. На самом деле, отличный способ избавиться от шума над интересующим вас сигналом — это так называемая передискретизация. Без недостаточной выборки.

Представьте, если хотите, чистый синусоидальный шум с частотой 11 Гц. Скажем, при t=0 мс он пересекает 0 вверх, как чистая синусоидальная функция от t. При t=22,7 мс это максимальное значение. На 45,5 мс снова 0. При 68,1 мс это будет максимальное отрицательное значение. Через 90,9 мс снова будет 0.

И так далее.

Допустим также, что ваша первая выборка была при t=0 мс.

На 100 мс ваш шум прошел 1,1 цикла, поэтому он немного выше 0, поэтому вы сэмплируете это. Затем, на 200 мс, он прошел 2,2 цикла, так что он немного больше 0. и так далее и так далее, пока после 10 выборок вы не увидите, как он поднимается один раз, возвращается вниз, пересекает 0 и становится отрицательным и снова вверх. По сути, из 10 образцов ваша система увидела 1 полный цикл, в то время как на самом деле сигнал составлял 11 циклов. Итак, ваша система говорит: «О, это сигнал 1 Гц!»

Теперь представьте, что существует бесконечно много различных частот.

Вы видите, как все они будут ошибочно приняты за разные частоты, которые действительно существуют в вашей полосе дискретизации 5 Гц? По сути, вы сжимаете частоты шума в меньшую полосу, поэтому уровень шума останется примерно таким же, но шум будет «более плотным».

Если вы выполняете избыточную выборку, а затем берете среднее значение, поскольку шум является случайным для вашей системы выборки, вы фактически будете добавлять/вычитать шум сам с собой. Таким образом, для каждого 1 образца, который вы хотите, вы берете 100 и получаете среднее значение.

Если вы снова упростите шум, допустим, вы возьмете 30 сэмплов и усредните их, чтобы получить одно значение, вы сэмплируете ровно 10 раз в секунду. Таким образом, вы получаете 1 среднее значение за три секунды, которые вы используете. Предположим теперь, что у вас есть сигнал 1 В постоянного тока и шум 1 В переменного тока.

Возьмем шум 15 Гц, это 0 точно на сэмпле 1):

  • Пример 1: 1 В + 0 В = 1 В
  • Образец 2: 1 В + 0,40 В = 1,4 В (шум = грех ((n/15) * 2 * pi), где n = номер образца)
  • Образец 3: 1 В + 0,74 В = 1,74 В
  • Образец 4: 1 В + 0,95 В = 1,95 В
  • Образец 5: 1 В + 0,87 В = 1,87 В
  • Образец 6: 1 В + 0,59 В = 1,59 В
  • Образец 7: 1 В + 0,21 В = 1,21 В
  • Образец 8: 1 В - 0,21 В = 0,89 В
  • Образец 9: 1 В - 0,59 В = 0,41 В
  • Образец 10: 1 В - 0,87 В = 0,13 В
  • Образец 11: 1 В - 0,99 В = 0,01 В
  • Образец 12: 1 В - 0,95 В = 0,05 В
  • Образец 13: 1 В - 0,74 В = 0,26 В
  • Образец 14: 1 В - 0,41 В = 0,59 В
  • Образец 15: 1В - 0В = 1В

Это повторяется для следующих 30 сэмплов, поэтому 30 сэмплов, сложенные вместе, дают вам значение около 29. (Я забыл нажать M+ на своем калькуляторе при расчете значений синуса, поэтому я добавил округленные числа выше, чтобы получить 14,1 для одного набора. из 15 образцов, составляет 28,2 для 30 образцов и просто округлено для хорошей оценки).

Это 29, деленное на 30, дает точное приближение постоянного напряжения 0,9667 В, даже не отражая эти надоедливые 15 Гц. А 15 Гц даже полностью подавляет ваш постоянный ток на его отрицательном пике!

Если бы вы передискретизировали в 100 или 1000 раз, было бы еще лучше, но даже с коэффициентом 4 или 10 вы уже подавляете много шума.

Увеличивая затем частоту дискретизации, вы немного открываете полосу пропускания для вашего шума, но вы все равно будете намного лучше, чем сэмплирование с исходной частотой 10 Гц и без передискретизации, потому что без передискретизации вы просто получаете весь шум наложенным на ваш звук. Полоса сигнала 5 Гц, передискретизированная, ваша исходная полоса сигнала становится шире, что позволяет добавить больше шумовых компонентов, но усреднение удаляет подавляющее большинство плюс большую часть шума, который вы ранее наложили.

По сути, лучшим бесшумным сэмплером постоянного тока будет выборка АЦП с бесконечной частотой герц и усреднением в течение бесконечных секунд. Потому что весь шум будет идеально сэмплирован и представлен, а затем усреднен сам по себе, от йоктогерц до йоттагерц.

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

Одно важное замечание: если ваш шум настолько силен, что он обрезается, то есть достигает минимального или максимального значения вашего АЦП, но не одинаково сильно, вы получите смещение.

Но этот ответ уже слишком длинный, поэтому я оставлю вас только с предупреждением: убедитесь, что ваш шум достаточно мал, чтобы соответствовать диапазону напряжения выборки вашего АЦП, а усреднение позаботится о подавляющем большинстве из них.

Очень красиво сделано.