Почему цифровые осциллографы дискретизируют сигналы на более высокой частоте, чем требуется по теореме дискретизации?

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

Однако, глядя на спецификации , я столкнулся с этим:

Пропускная способность и частота дискретизации

Чтобы точно записать сигнал, частота дискретизации должна быть достаточно выше, чтобы сохранить информацию в сигнале, как подробно описано в теореме выборки Найквиста-Шеннона. Цифровые сигналы должны дискретизироваться по крайней мере в четыре раза быстрее, чем самый высокочастотный компонент сигнала. Аналоговые сигналы должны дискретизироваться в десять раз быстрее, чем самый быстрый частотный компонент сигнала.

И, следовательно, он имеет частоту дискретизации 500 MSP, но полосу пропускания (фильтр) 100 МГц, поэтому соотношение 1: 5 для цифровых сигналов и частоту дискретизации 50 MSP и полосу пропускания (фильтр) 5 МГц, поэтому соотношение 1: 10 для аналоговых сигналов

Насколько я понимаю, Никвист-Шеннон говорит только о дискретизации на удвоенной максимальной частоте (теоретически). Конечно, хорошо не выходить за рамки и идеальных фильтров не бывает. но даже простой UART производит выборку цифрового сигнала с той же скоростью, что и скорость передачи данных!

Так это обычное эмпирическое правило для выборки? или это может кто-то из отдела продаж написал? Это позволяет мне как-то бестолково я никогда не слышал об этом.

Дешевые осциллографы срезают всевозможные углы с точки зрения их способности правильно интерполировать образцы сигнала для отображения, поэтому им нужны такие высокие коэффициенты передискретизации, чтобы получить достойную визуальную точность.
Цена колеблется от 100 до 600 долларов США, так что это не совсем дешевый спектр, но каждая сэкономленная копейка - это заработанная копейка.
Все, что меньше 5000 долларов, достаточно дешево, и вам придется срезать углы при разработке прицела.
Если вы семплируете повторяющийся сигнал на частоте 2f, вы ничего не знаете о его форме. Был ли это квадрат, синус, пилообразный? Кто знает... ваши образцы не могут вам сказать.
Существует связанное с этим эмпирическое правило в отношении активных фильтров: полоса пропускания задействованных операционных усилителей должна быть как минимум в 10 раз выше самой высокой частоты в полосе пропускания.
Есть еще один странный эффект со старыми или более дешевыми цифровыми осциллографами, которые используют линейную интерполяцию, чтобы взять серию выборок и нарисовать непрерывную линию сигнала. В этом случае совершенно хорошие синусоидальные волны начинают превращаться в трапеции или треугольники, когда частота сигнала приближается к частоте Найквиста. В наши дни более новые/причудливые осциллографы интерполируют с помощью функции sinc (sin(πx)/πx), но с ними вы должны быть уверены, что не обманете себя, думая, что сигнал чище, чем он есть на самом деле, поэтому не забудьте использовать «показать образцы». " характерная черта.
@brhans обратите внимание, что ваша точка зрения абсолютно спорна. Прямоугольная волна частоты ф ни в коем случае не имеет пропускной способности ф , но спектральные компоненты повсюду.
@MarcusMüller - да, конечно, но если вы пробовали его только на 2f, вы ничего не узнаете об этих других спектральных компонентах. Только если вы заранее знаете «форму» семплированного сигнала, вы можете надеяться реконструировать что-нибудь интересное из набора семплов 2f, и даже в этом случае у вас не может быть ничего, кроме грубого предположения о фазе исходного сигнала. .
Все аппаратные UART, которые я знаю, производят выборку входных данных со скоростью, кратной скорости передачи данных — от 4x до 16x или более, — а затем используют фильтры и/или системы обнаружения большинства для определения значения. Только программные «битовые» UART, вероятно, будут выполнять выборку со скоростью передачи данных.
Вы ошибаетесь насчет UART. Классический UART 16550, работающий с максимальной скоростью передачи данных, принимает 16 выборок на бит. Вы не можете получить надежную синхронизацию с чем-то меньшим, чем 3 выборки на бит (тактовый дрейф будет накапливаться, так что вы будете периодически терять один бит). Теорема Никвиста о дискретизации просто говорит, что вы не можете восстановить сигнал с частотой дискретизации менее чем в 2 раза, она не говорит, что вы можете получить хороший сигнал при частоте в 2 раза больше.
Программные UART (по-видимому) обходятся одной выборкой на бит, если начальный фронт определяется с большей степенью детализации, например, на тактовой частоте ЦП.
@slebetman: Хотя 3x - это наименьшая частота дискретизации целых чисел, которая может надежно работать с UART, будет достаточно скорости, которая определенно выше 17/9 и ниже 2x даже при наличии временного дрожания или других неопределенностей; Устойчивость к джиттеру снижается по мере того, как частота дискретизации приближается к целым четным числам, поэтому частота, равная точно 2x, не будет работать, даже если скорость, которая определенно выше или определенно медленнее, будет работать.

Ответы (3)

«даже простой UART производит выборку цифрового сигнала с той же скоростью ...» UART не нужно восстанавливать аналоговый сигнал прямоугольной формы, который несет цифровую информацию, поэтому он не принимает во внимание теорему.

Теорема Шеннона-Найквиста на самом деле говорит об идеальном представлении аналогового сигнала . Идеальное представление здесь означает, что, зная только выборки сигнала, вы можете точно реконструировать аналоговый сигнал во временной области, который был выбран.

Конечно, это возможно только в теории. На самом деле формула реконструкции включает ряд функций «sinc» ( с я н с ( Икс ) знак равно грех ( π Икс ) π Икс ), которые не ограничены по времени (они простираются от к + ), поэтому они не могут быть идеально реализованы на аппаратном уровне. Высококачественные осциллографы используют усеченную форму этой функции sinc для достижения более высокой пропускной способности с более низкой частотой дискретизации, т.е. больше МГц с меньшим количеством выборок, потому что они не просто «соединяют точки», поэтому им не нужна большая передискретизация.

Но все же им нужна некоторая передискретизация, потому что частота дискретизации должна быть больше 2B, где B — полоса пропускания, а тот факт, что они используют усеченную sinc-функцию в реконструкции, не позволяет подобраться слишком близко к этой цифре 2B.

На самом деле, каждый UART, который я видел, отбирает данные со скоростью, в 8 или 16 раз превышающей скорость передачи данных.
@pipe Я согласен, те немногие, кого я видел, ведут себя так же. Я просто указал на ложную предпосылку в рассуждениях ОП.
@трубка. Кстати, я думаю, что они выбирают так быстро только потому, что это позволяет использовать более простые алгоритмы обнаружения. Я не уверен, но думаю, что они могли бы обойтись гораздо меньшими выборками, если бы использовали более сложные алгоритмы (что нецелесообразно и дорого, наверное, поэтому вопрос спорный).
Я думаю, что они также быстро пробуют, потому что могут. :)
@труба да! С современными микроконтроллерами за полдоллара с тактовой частотой 20 МГц нет смысла слишком сильно делить эту частоту для достижения небольшой частоты дискретизации ~ 100 тыс. отсчетов в секунду (в лучшем случае) :-)
причина, по которой современные UART производят выборку со скоростью 8x или 16x (или больше, или меньше, или где-то посередине), заключается в том, что они могут располагать выборку битов в середине битового периода. то есть 1,5 битовых периода после края стартового бита. если бы у UART было свободное место в кремнии и тактовая частота, мне кажется вполне разумным сделать некоторую реконструкцию, используя дешевое приближение к грех ( Икс ) функция (например, интерполяция Эрмита 3-го порядка). тогда они должны иметь прилично выглядящие края для начального бита и достаточно стабильные уровни для каждого бита данных.
@robertbristow-johnson Вы подтверждаете мое предположение: обнаружение середины битового импульса, подобное этому, алгоритмически дешево: вам не нужен FP-ALU для его реализации, поэтому это можно сделать с помощью простого цифрового оборудования. С другой стороны, даже при грубых приближениях создание синхроимпульса, а затем обнаружение середины импульса намного дороже (по площади кремния и сложности) без большого преимущества.
Некоторые UART MCU, такие как старый MC6811, выполняли три выборки в середине бита (тактовые частоты 5, 7 и 9, поскольку он использовал 16-кратную передискретизацию), использовали мажоритарную функцию для получения значения бита данных и устанавливали «флаг шума». " бит состояния, если не все сэмплы совпали. Они также использовали несколько выборок для подтверждения фронта начального бита. Это не только помогло обнаружить и смягчить некоторый шум, но также могло дать вам немного больший допуск по тактовой частоте.
@MikeDeSimone: если бы передающий UART был настроен на 1,5 стоповых бита и всегда дополнял межбайтовые интервалы до целого числа битов сверх этого, флаг шума обнаруживал бы ошибки кадрирования даже в тех случаях, когда казалось, что стоповые биты происходят в правильном пятна.

Теорема выборки Найквиста-Шеннона... часто неправильно используется...

Если у вас есть сигнал, полоса которого идеально ограничена полосой пропускания f0, вы можете собрать всю информацию, содержащуюся в этом сигнале, путем ее дискретизации в дискретные моменты времени, если ваша частота дискретизации больше 2f0.

он очень лаконичен и содержит два очень важных предостережения

  1. ИДЕАЛЬНО ОГРАНИЧЕННЫЙ ПОЛОС
  2. больше 2f

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

Практическое правило? Я бы сэмплировал в 10 раз больше максимальной частоты, которая меня интересует.

Очень хорошая статья о неправильном использовании Найквиста-Шеннона http://www.wescottdesign.com/articles/Sampling/sampling.pdf

Почему «в 2 раза» неправильно

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

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

Отличный ответ. Предел Найквиста 2f предотвращает наложение имен , но все же допускает ошибку амплитиды 100%, как показано на вашем рисунке. При большем количестве точек за цикл ошибка амплитуды, ошибка фазы, ошибка смещения и ошибка частоты в конечном итоге падают до приемлемых значений.
Это был отличный ответ до примера, который только показывает, что очень важно, чтобы частота дискретизации в два раза превышала пропускную способность. @MarkU говорит об эффектах, которые существуют, когда вы не следуете «закону».
точно труба :) если вы прочитали, что OP написал «выборка с удвоенной максимальной частотой (теоретически)». Для начала это не то, что утверждает теорема (как я писал), и это наиболее распространенное заблуждение относительно теоремы выборки. Является ли изображение грубым, да, НО именно поэтому «в два раза» очень неправильно и совершенно не то, что заявил NS.
Согласно теореме, приведенный вами пример неверен. Действительно, на примере показано, почему частота дискретизации должна быть больше 2f. В полностью ограниченной полосе волны с любой частотой, превышающей 2f, можно было бы реконструировать волну.
И это моя точка зрения. ОП указывал на 2x. Я точно цитировал теорему (в ней никогда не говорится о 2-кратном увеличении, здесь говорится о большем, чем С идеально ограниченным сигналом), а также показывал, почему вам не следует сэмплировать при 2-кратном увеличении. Этот пример не предназначен для того, чтобы показать, что следует делать, НО почему разговорная интерпретация NS очень неверна.
Я думаю, что изображение, которое показывает частоту f, выбранную с частотой около 2,1x, возможно, более информативно, поскольку оно будет содержать достаточно информации для реконструкции волны, если известно, что она содержит только частотный контент ниже Найквиста, но реконструирует волну, не имея ее . содержать псевдоним в 1,2 раза больше реальной частоты будет неудобно.

Есть разница между анализом сигнала для получения информации и его отображением на экране осциллографа. Отображение осциллографа в основном представляет собой соединение точек, поэтому, если у вас была синусоида 100 МГц, дискретизированная с частотой 200 МГц (каждые 5 нс), И у вас также была дискретизирована мнимая составляющая, вы могли бы реконструировать сигнал. Поскольку у вас есть только реальная часть, 4 точки — это минимально необходимый минимум, и даже в этом случае возникают патологические ситуации, такие как выборка при 45, 135, 225 и 315 градусах, которая выглядит как прямоугольная волна с меньшей амплитудой. Однако ваш прицел покажет только 4 точки, соединенные прямыми линиями. В конце концов, у прицела нет возможности узнать, какова реальная форма — для этого ему потребуются более высокие гармоники. Чтобы сделать достаточно хорошее приближение к синусоиде 100 МГц, потребуется около 10 выборок на период — чем больше, тем лучше, но 10 — это грубое практическое правило. Конечно, 100 образцов были бы излишними для отображения прицела, а инженерные правила, как правило, работают в степенях 10.

Но мнимая составляющая (вероятно) равна нулю...
@OliverCharlesworth - Не в отношении часов дискретизации. Мнимая составляющая составляет 90 градусов для синусоидального цикла, запускаемого при нулевой амплитуде, поскольку, если бы она была равна нулю, а обе выборки были бы нулевыми, невозможно сказать, что синус даже присутствует.
Честно говоря, это звучит как 2-кратная передискретизация. Мне трудно моделировать, как генерируется воображаемый компонент (за исключением операции сдвига частоты или преобразования Гильберта). Не утверждать, что эта структура здесь неверна, просто я никогда не видел, чтобы она использовалась таким образом. Какие поисковые запросы Google мне следует изучить?
Кроме того, не убежден в том, что «нужны более высокие гармоники» - цитата OP относится к «самой быстрой частотной составляющей» - с учетом этого ограничения (достаточная) интерполяция sinc должна восстановить исходную форму волны для чего-либо> 2f.
@OliverCharlesworth - «трудно смоделировать, как создается воображаемый компонент» - Точно. Невыполнимо, поэтому вам нужно передискретизировать. В мире RF вы генерируете I и Q, но здесь это бесполезно. А что касается sinc-интерполяции, производители прицелов считают ее неэкономичной, не говоря уже о неинтуитивности со стороны пользователей. При максимальной скорости сканирования на цифровом осциллографе след становится очевидным в виде точек, соединенных прямыми линиями, а также становятся очевидными пределы частоты дискретизации (и, надеюсь, как источник осторожности).
Да, я не возражаю против того факта, что передискретизация помогает смягчить проблему; Я просто не согласен с терминологией в вашем ответе, т.е. это не аналогично получению сложного сигнала (в отличие от обработки IQ, которая действительно аналогична реальным и мнимым компонентам аналитического сигнала).
@OliverCharlesworth в реальной аналоговой жизни, в отличие от теории цифровой обработки сигналов, не существует такого понятия, как сигнал с идеально ограниченной полосой пропускания, который можно точно восстановить из конечного числа членов ряда Фурье. Например, если сигнал реального мира отличен от нуля только в течение конечного промежутка времени, его частотный спектр непрерывен и бесконечен. Если вы используете аналоговый фильтр перед цифровым сэмплированием (что вы должны сделать, чтобы свести к минимуму сглаживание), реальный фильтр не будет иметь среза частоты кирпичной стены. Поэтому в реальной жизни вам всегда нужен запас по частоте.
@alephzero - Абсолютно. И это был бы отличный ответ на вопрос.