Среди электротехнических дисциплин РЧ/СВЧ особенно выделяется своими контринтуитивными принципами. Их понимание всегда происходит с трудом. Если в них разобраться, то эти принципы начинают казаться чем‑то совершенно естественным, и их сложность забывается. Возможно, именно поэтому справочные материалы по РЧ/СВЧ нередко подобны анекдоту «А восьмёрка, сын, пишется как знак бесконечности, повёрнутый на пи пополам».
С учётом подобной особенности я постараюсь максимально доступно и в картинках показать, как и почему работает теорема Найквиста — Шеннона. И как иногда обходят ограничения, которые эта теорема устанавливает.

Игры с синусоидой

Допустим, у нас есть синусоида единичной амплитуды и частоты.

Сделаем замеры её значений через равные интервалы времени, а затем воспользуемся дискретным преобразованием Фурье как чёрным ящиком (в данной статье я использую алгоритм Ломба-Скаргла), чтобы получить спектр.

Спектр синусоиды единичной частоты и амплитуды
Спектр синусоиды единичной частоты и амплитуды

Теперь попробуем поменять интервалы между замерами.

Какие-то непонятные артефакты
Какие-то непонятные артефакты

Мы видим, что при увеличении периода дискретизации в спектре появляются артефакты в виде парных пиков. Каждый пик — это синусоида с определённой частотой и амплитудой (и фазой, но значения фазы на спектре не видны и они для нас пока не принципиальны).
Частоты синусоид этих артефактов следуют определённой закономерности.

Закономерность расположения артефактов в спектре
Закономерность расположения артефактов в спектре

Попробуем разобраться в этой закономерности.

Посмотрим на сумму синусоид первого артефакта:

sin((n+1)f)+sin((n−1)f)

Сумму синусов можно представить в виде произведения синуса и косинуса:

sin(ɑ)+sin(β)=2sin({(ɑ+β)\over2})cos({(ɑ−β)\over2})

В нашем случае ɑ=(n+1)f, а β=(n−1)f.

Соответственно (ɑ+β)/2 будет равно:

{(ɑ+β)\over2}={(n+1)f+(n−1)f\over2}={f(n+1+n−1)\over2}=nf

...а (ɑ−β)/2 будет равно:

{(ɑ−β)\over2}={(n+1)f−(n−1)f\over2}={f(n+1−n+1)\over2}=f

Таким образом, получается:

sin((n+1)f)+sin((n−1)f)=2sin(nf)cos(f)

Уберём множитель «2» и подумаем, как будет выглядеть sin(nf)cos(f)?
Как высокочастотная синусоида sin(nf), промодулированная низкочастотной косинусоидой cos(f).

Форма артефактов во временной области
Форма артефактов во временной области

Строго говоря, косинусоида — это синусоида, сдвинутая на четверть периода.
Зная это, попробуем сделать одно важное наблюдение: давайте посмотрим, как будет выглядеть не наш sin(nf)cos(f), а cos(nf)sin(f):

Артефакты, оригинальный сигнал и дискретные значения
Артефакты, оригинальный сигнал и дискретные значения

Получается, если мы берём косинусоиду с частотой, равной произведению базовой частоты f на количество замеров в периоде, то её максимумы («единицы») будут приходиться на моменты замеров.
Если же мы умножим такую косинусоиду на sin(f) — синусоиду с базовой частотой, — то значение sin(f) в каждой точке замера будет умножаться на единицу и получившаяся кривая пройдёт ровно через те же точки.
Полученная кривая, очевидно, принципиально отличается от sin(f), но если смотреть лишь на значения, полученные во время дискретизации, то эти две кривые оказываются неразличимы!

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

Чем больше замеров, тем лучше?

Прежде чем двигаться дальше, рассмотрим один важный аспект.

В теореме Найквиста — Шеннона речь идёт о частоте дискретизации.
Иногда при формулировании положений теоремы вместо частоты дискретизации говорят о «количестве замеров (семплов, отсчётов) на один период дискретизируемого сигнала».

А затем, в ряде случаев, это выражение риторически редуцируется просто до «количества замеров».

Здесь начинаются «чудеса» в духе «восстановления сигнала сложной формы по двум точкам» :)

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

Это две различные характеристики массива значений дискретизации, которые влияют на разные элементы спектра.

В общем, да. Чем больше замеров, тем лучше. Но есть нюансы :)
В общем, да. Чем больше замеров, тем лучше. Но есть нюансы :)

Сложности с сигналами сложной формы

Когда одна из синусоид артефакта совпадёт по частоте с исходной синусоидой?
Очевидно, когда n−1 станет равен единице. Это, в свою очередь будет, в случае n=2, то есть, когда частота дискретизации окажется равной удвоенной частоте исходной синусоиды.

Что будет, если мы понизим частоту дискретизации ещё сильнее?
В общем, примерно всё то же самое: из двух синусоид будет получаться некая фигура, отличающаяся по форме от базовой синусоиды, но проходящая ровно по точкам дискретизации:

Низкочастотные артефакты и оригинальный сигнал во временной области
Низкочастотные артефакты и оригинальный сигнал во временной области

Это возвращает нас к вопросу:
если мы хотим по данным дискретизации восстановить именно ту синусоиду, которую мы измеряли, что именно нам нужно будет дополнительно знать, чтобы сделать это однозначно?

В общем случае нам нужно приблизительно знать её частоту.

И если частота дискретизации была больше, чем удвоенная частота синусоиды, то мы можем восстанавливать самый низкочастотный пик — не ошибёмся.

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

Низкочастотные артефакты и оригинальный сигнал в спектре
Низкочастотные артефакты и оригинальный сигнал в спектре

Проговаривая это, мы оставляем за скобками ещё два дополнительных факта о сигнале: что он — одиночная синусоида и что он — единственный сигнал в нашем измерительном тракте.

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

Представим, что у нас чуть более сложный сигнал. Скажем, несколько гармоник от меандра. Но при этом мы сделаем вид, будто не знаем, что сигнал — именно меандр.

Напомню, меандр раскладывается в ряд Фурье так:

{sin(x)\over1}+{sin(3x)\over3}+{sin(5x)\over5}+{sin(7x)\over7}+{sin(9x)\over9}+...

sin(x)+sin(3x)/3+sin(5x)/5+sin(7x)/7+sin(9x)/9+...

Допустим, у нас первые три слагаемых. Что мы увидим на спектре, если будем менять частоту дискретизации?

Сигнал сложной формы и его артефакты
Сигнал сложной формы и его артефакты

Высокочастотные составляющие сигнала тоже образуют артефакты в виде пары пиков, но эти пики, очевидно, «расставлены» шире.

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

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

Эта частота будет равна удвоенной частоте самой высокочастотной составляющей дискретизируемого сигнала.

Здесь есть тонкий момент. Иногда эта фраза трактуется ошибочно как: «мне необходимо лишь добиться частоты дискретизации 2f, чтобы однозначно восстановить все интересующие меня составляющие любого сложного сигнала вплоть до f».

Посмотрим на спектр настоящего меандра:

 Спектр меандра
Спектр меандра

У меандра бесконечное количество составляющих. И если мы хотим однозначно восстанавливать первые три составляющие, нам мало взять частоту дискретизации, равную 2×(5×f). Нам ещё нужно, чтобы сигнал перед дискретизацией не имел составляющих с частотой выше, чем та, которую мы собираемся восстанавливать.

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

Теорема Найквиста — Шеннона и как её обходят

Итак.

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

Когда теорема Найквиста — Шеннона ошибается?

При условиях, оговорённых в теореме, и при отсутствии дополнительных данных — никогда.

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

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

В‑третьих, заранее зная частоту периодического сигнала (либо имея триггер, некий однозначный признак начала очередного периода), этот сигнал можно «нарезать» на периоды и наложить их друг на друга вместе с замерами. В результате количество замеров на период увеличится.

Equivalent‑Time Sampling
Equivalent‑Time Sampling

Такая техника называется Equivalent‑Time Sampling и применяется, например, в цифровых осциллографах.

Надеюсь, этот обзор позволил кому‑нибудь пережить инсайт и преодолеть порог непонимания такого базового элемента в сфере РЧ/СВЧ, как теорема Найквиста — Шеннона.

НЕБОЛЬШОЕ ОБЪЯВЛЕНИЕ №1

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

НЕБОЛЬШОЕ ОБЪЯВЛЕНИЕ №2

Близятся некоторые перемены.
И всем, кто находит мои технические статьи (например, про JTAG или про согласование импедансов) интересными/полезными для себя, я рекомендую скопировать эти статьи локально.

Кроме этого. Если вы хотите в будущем читать мои новые статьи, я рекомендую установить со мной личный контакт.

Оптимально — через почту flammmable.habr@gmail.com. Опционально — установить и настроить мессенджер Delta Chat. Короткое описание и инструкцию по работе с ним я публиковал ранее.

Не оптимально — здесь в личных сообщениях, либо через Телеграм @flammmable_habr.

Совсем не оптимально, но тоже можно — подписавшись на мой потешный канал flammmable_electro, либо на тег flammmable на Joyreactor.

Комментарии (15)


  1. An_private
    25.08.2025 09:36

    Интересно, хоть для кого-то после этой статьи стало что-то более понятно? Если бы я не знал - что делает дискретизация со спектрами сигналов - эта статья ввела бы меня в полное непонимание происходящего.

    Вот даже на первой же анимации - неужели нельзя было хотя бы нарисовать маркер частоты дискретизации, чтобы было сразу видно как исходный спектр зеркалируется относительно маркера?

    Для ликбеза еще неплохо бы пояснить - а почему, собственно, на спектре мы получаем не ровную вертикальную линию исходной частоты, а ещё и какой-то "звон" вокруг неё - для начинающего всё это выглядит полной китайской грамотой.

    Ну и т.д. и т.п.


    1. Flammmable Автор
      25.08.2025 09:36

      Вот даже на первой же анимации - неужели нельзя было хотя бы нарисовать маркер частоты дискретизации

      Вы про вот этот маркер?

      для начинающего всё это выглядит полной китайской грамотой.

      Конкретизируйте, что "всё" для начинающего "выглядит китайской грамотой"?
      -Спекстр?
      -Спектр с одним пиком?
      -Спектр с одним пиком, у которого чуть волнистые края?

      Ну и т.д. и т.п.

      С интересом послушаю, что у вас свёрнуто в "и т.д. и т.п.".


      1. An_private
        25.08.2025 09:36

        Вы про вот этот маркер?

        Да. Вот только на анимации его нет и что там происходит - весьма непонятно.

        Только с некоторым запозданием я понял источник еще одного недоумения - если используется дискретное преобразование Фурье, то каким образом на графике отображаются частоты выше частоты половины дискретизации?

        Потом я обратил внимание на " алгоритм Ломба-Скаргла" и понял, что на самом деле вместо ДПФ за спектр выдаётся периодограмма Ломба-Скаргла, что в общем виде неверно.

        Спектр с одним пиком, у которого чуть волнистые края?

        Хотя бы. Причём на одной из анимаций в разделе "Чем больше замеров, тем лучше?" видно, что эта "волнистость" зависит от количества семплов. Но почему - никак не объясняется.

        Такая техника называется Equivalent‑Time Sampling и применяется, например, в цифровых осциллографах

        А в русском языке называется стробоскопический осциллограф.


        1. Flammmable Автор
          25.08.2025 09:36

          -неужели нельзя было хотя бы нарисовать маркер частоты дискретизации
          -Вы про вот этот маркер?
          -Да

          Ну вот )) Всё есть в статье. Всё как вы хотели )))

          Только с некоторым запозданием я понял источник еще одного недоумения - если используется дискретное преобразование Фурье, то каким образом на графике отображаются частоты выше частоты половины дискретизации?
          Потом я обратил внимание на " алгоритм Ломба-Скаргла"...

          Опять же :) Стоит лишь читать не по диагонали.
          Это, к слову не упрёк вам - вы-то вчитались :)

          за спектр выдаётся периодограмма Ломба-Скаргла, что в общем виде неверно.

          Да с чего бы? :)))

          Есть ГОСТ 24346-80.
          Там есть определение:

          Спектр колебаний:
          Совокупность соответствующих гармоническим составляющим значений величины, характеризующей колебания (вибрацию), в которой указанные значения располагаются в порядке возрастания частот гармонических составляющих.

          Просто, понятно. Вполне совпадает с, так скажем, бытовым пониманием понятия "спектр". И делает понятия "спектр" и "периодограмма Ломба-Скаргла" синонимами.

          А то, что "настоящий спектр, он от 0 до nf/2" - вот это как раз будет вполне запутывать неофитов, порождать у них ненужные вопросы и "объяснять восьмёрку через знак бесконечности на пи пополам".

          на анимации его нет и что там происходит - весьма непонятно.

          Опишите словами, что лично вы видите на анимации, на которой непонятно что происходит? :)

          -для начинающего всё это выглядит полной китайской грамотой.
          -Конкретизируйте, что "всё" для начинающего "выглядит китайской грамотой"? Спектр с одним пиком, у которого чуть волнистые края?
          -Хотя бы.

          Ну... и вы и я - не начинающие. Послушаем начинающих, выглядит ли для них это китайской грамотой :)

          Причём на одной из анимаций в разделе "Чем больше замеров, тем лучше?" видно, что эта "волнистость" зависит от количества семплов. Но почему - никак не объясняется.

          Потому, что сам раздел является побочным относительно повествования. Углубляться в него - распылять внимание.

          -Такая техника называется Equivalent‑Time Sampling и применяется, например, в цифровых осциллографах
          -А в русском языке называется стробоскопический осциллограф.

          Это почти как у ещё одного читателя в комментариях: "артефакт - это алиасинг".
          Хотя ing-овое окончание указывает на процесс.

          Здесь наоборот: Equivalent‑Time Sampling - это процесс, а вы произносите "стробоскопический осциллограф".

          Вот именно по причине подобного использования лексики смежниками мне и приходится писать публицистические статьи )))))


  1. REPISOT
    25.08.2025 09:36

    Уже не первая статья, призванная "максимально доступно и в картинках" показать цифровую обработку сигналов (ЦОС). Картинки красивые. Анимации тоже. Хотя местами лучше бы несколько статичных картинок. Не успеваешь следить за всеми частями графика, что где происходит.

    Но, как и написал комментатор выше - материал вводит знающего человека в замешательство. Терминология автора отличается от общепринятой ЦОС. Например, автор не называет Элайсинг.

    Лучше начать с Юкио Сато "Обработка сигналов". Там и без анимации гораздо понятнее, что происходит.


    1. Flammmable Автор
      25.08.2025 09:36

      Терминология автора отличается от общепринятой ЦОС. Например, "артефакты" есть не что иное, как Элайсинг.

      Здесь нет вменяемой общеупотребимой русскоязычной терминологии.

      -Есть "ложные частоты" (для староверов). Этот термин мне не нравится по причине корявости неизбежных фраз "Каковы частоты ложных частот?/Каковы амплитуды ложных частот".
      -Есть английская калька алиазинг/элайсинг/aliasing, которая вообще говоря, не про конкретный пик ("Что вот это за пик? Это... элайсниг! Это что О_о ?"), а про эффект.
      -И есть англоязычный термин Nyquist artefact (вот например статья Sub-Nyquist artefacts and sampling moire effects).

      Поэтому:
      1. Я считаю, что в публицистике для описания обсуждаемый патернов термин "артефакт" подходит лучше всего
      2. Я считаю, что термин алиазинг/элайсинг/aliasing вы не найдёте ни в одном из ГОСТов.


      1. REPISOT
        25.08.2025 09:36

        Я считаю, что термин алиазинг/элайсинг/aliasing вы не найдёте ни в одном из ГОСТов.

        Так это вы считаете или его в самом деле нет?

        Я считаю, что в публицистике

        А вот это зря. Тут надо смотреть на научные статьи, и техническую литературу, а не на публицистику. Слышали про антиалайзинговый фильтр? А про "антиартефактный"? Вбейте в гугл и увидете, насколько "нет вменяемой общеупотребимой русскоязычной терминологии ".


        1. Flammmable Автор
          25.08.2025 09:36

          Тут надо смотреть на научные статьи

          Ну вот я вам и привёл научную статью с термином Nyquist artefact :))

          -Я считаю, что термин алиазинг/элайсинг/aliasing вы не найдёте ни в одном из ГОСТов.
          -Так это вы считаете или его в самом деле нет?

          Я считаю, что вы не найдёте термина "Элайсинг" ни в одном из ГОСТов.


          1. REPISOT
            25.08.2025 09:36

            Вы много чего в ГОСТах не найдете. И что?


            1. Flammmable Автор
              25.08.2025 09:36

              Вы много чего в ГОСТах не найдете. И что?

              И то, что без ГОСТов ваше "общепринято в ЦОС" и моё "не общепринято в ЦОС" - это ваше слово против моего слова.
              Ну или в лучшем случае - ваш ограниченный набор примеров использования против моего ограниченного набора примеров использования.


          1. yappari
            25.08.2025 09:36

            Ну вот я вам и привёл научную статью с термином Nyquist artefact :))

            А вы пробовали прочитать дальше заголовка? Хотя даже заголовка достаточно, чтобы заподозрить несоответствие ("саб-Найквист" и просто "Найквист" хоть немного, но отличаются, и не просто дополнительными буквами. Не говоря уже о эффектах, но о них надо читать статью). Странно, что никто не обратил внимания.


            1. Flammmable Автор
              25.08.2025 09:36

              "саб-Найквист" и просто "Найквист" хоть немного, но отличаются

              Да хоть under-Nyquist artefact, главное, что заканчивается не на -ing, а на artefact.


        1. Flammmable Автор
          25.08.2025 09:36

          Слышали про антиалайзинговый фильтр?  А про "антиартефактный"?

          Сходил по вашей ссылке:

          Антиалайзинговый фильтр фактически обеспечивает спектральную верность преобразования АЦП, исключая из сигнала сторонние призвуки – артефакты преобразования

          :)))))


  1. andy_p
    25.08.2025 09:36

    Предположим, у нас есть синус с периодом 1 секунда. Тогда f = 1∕T = 1 герц, sin((2 ∗ π∕T) ∗ t) = sin(2 ∗ π ∗ t), частота дискретизации 2 герца, период дискретизации 0,5 секунды. Подставляем значения, кратные 0,5 секунды в формулу для синуса sin(2 ∗ π ∗ 0) = sin(2 ∗ π ∗ 0,5) = sin(2 ∗ π ∗ 1) = 0Везде получаются нули. Как же тогда можно восстановить этот синус?


    1. Flammmable Автор
      25.08.2025 09:36

      Никак. Это вырожденный случай.
      А вот с 1,9 герца можно поиграть.