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

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

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

Попробуем разобраться в этой закономерности.
Посмотрим на сумму синусоид первого артефакта:
Сумму синусов можно представить в виде произведения синуса и косинуса:
В нашем случае ɑ=(n+1)f, а β=(n−1)f.
Соответственно (ɑ+β)/2 будет равно:
...а (ɑ−β)/2 будет равно:
Таким образом, получается:
Уберём множитель «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)+sin(3x)/3+sin(5x)/5+sin(7x)/7+sin(9x)/9+...
Допустим, у нас первые три слагаемых. Что мы увидим на спектре, если будем менять частоту дискретизации?

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

У меандра бесконечное количество составляющих. И если мы хотим однозначно восстанавливать первые три составляющие, нам мало взять частоту дискретизации, равную 2×(5×f). Нам ещё нужно, чтобы сигнал перед дискретизацией не имел составляющих с частотой выше, чем та, которую мы собираемся восстанавливать.
Ещё раз. Если у исходного сигнала возможно наличие составляющих выше тех, которые вам интересны, необходимо их отфильтровать перед дискретизацией. То есть гарантировать отсутствие высокочастотных составляющих. В противном случае артефакты от этих высокочастотных составляющих будут восстановлены вперемешку с полезным сигналом.
Теорема Найквиста — Шеннона и как её обходят
Итак.
Теорема Найквиста — Шеннона гласит, что сигнал с конечным по частоте спектром можно однозначно восстановить, если частота дискретизации в два и более раза превышает самую высокочастотную составляющую сигнала.
Когда теорема Найквиста — Шеннона ошибается?
При условиях, оговорённых в теореме, и при отсутствии дополнительных данных — никогда.
Однако, во‑первых, как уже было сказано, для чистой синусоиды, при отсутствии иных сигналов в измерительном тракте мы можем ограничить частотный диапазон с двух сторон и подобрать период дискретизации так, чтобы ложные пики оказались за рамками этого диапазона.
Во‑вторых, мы, заранее зная частоту и/или форму сигнала, можем между реально измеренными точками добавить ещё точек путём, например, линейной интерполяции.
В ряде случаев мы разменяем небольшое искажение формы сигнала на весомое указание при восстановлении сигнала, какие составляющие мы считаем настоящими.
В‑третьих, заранее зная частоту периодического сигнала (либо имея триггер, некий однозначный признак начала очередного периода), этот сигнал можно «нарезать» на периоды и наложить их друг на друга вместе с замерами. В результате количество замеров на период увеличится.

Такая техника называется Equivalent‑Time Sampling и применяется, например, в цифровых осциллографах.
Надеюсь, этот обзор позволил кому‑нибудь пережить инсайт и преодолеть порог непонимания такого базового элемента в сфере РЧ/СВЧ, как теорема Найквиста — Шеннона.
НЕБОЛЬШОЕ ОБЪЯВЛЕНИЕ №1
В ближайшее время планируется проведение уже третьего электроквиза. Желающие всё ещё могут присоединиться, для этого нужно написать мне.
НЕБОЛЬШОЕ ОБЪЯВЛЕНИЕ №2
Близятся некоторые перемены.
И всем, кто находит мои технические статьи (например, про JTAG или про согласование импедансов) интересными/полезными для себя, я рекомендую скопировать эти статьи локально.
Кроме этого. Если вы хотите в будущем читать мои новые статьи, я рекомендую установить со мной личный контакт.
Оптимально — через почту flammmable.habr@gmail.com. Опционально — установить и настроить мессенджер Delta Chat. Короткое описание и инструкцию по работе с ним я публиковал ранее.
Не оптимально — здесь в личных сообщениях, либо через Телеграм @flammmable_habr.
Совсем не оптимально, но тоже можно — подписавшись на мой потешный канал flammmable_electro, либо на тег flammmable на Joyreactor.
Комментарии (12)
REPISOT
25.08.2025 09:36Уже не первая статья, призванная "максимально доступно и в картинках" показать цифровую обработку сигналов (ЦОС). Картинки красивые. Анимации тоже. Хотя местами лучше бы несколько статичных картинок. Не успеваешь следить за всеми частями графика, что где происходит.
Но, как и написал комментатор выше - материал вводит знающего человека в замешательство. Терминология автора отличается от общепринятой ЦОС. Например, автор не называет Элайсинг.
Лучше начать с Юкио Сато "Обработка сигналов". Там и без анимации гораздо понятнее, что происходит.
Flammmable Автор
25.08.2025 09:36Терминология автора отличается от общепринятой ЦОС. Например, "артефакты" есть не что иное, как Элайсинг.
Здесь нет вменяемой общеупотребимой русскоязычной терминологии.
-Есть "ложные частоты" (для староверов). Этот термин мне не нравится по причине корявости неизбежных фраз "Каковы частоты ложных частот?/Каковы амплитуды ложных частот".
-Есть английская калька алиазинг/элайсинг/aliasing, которая вообще говоря, не про конкретный пик ("Что вот это за пик? Это... элайсниг! Это что О_о ?"), а про эффект.
-И есть англоязычный термин Nyquist artefact (вот например статья Sub-Nyquist artefacts and sampling moire effects).Поэтому:
1. Я считаю, что в публицистике для описания обсуждаемый патернов термин "артефакт" подходит лучше всего
2. Я считаю, что термин алиазинг/элайсинг/aliasing вы не найдёте ни в одном из ГОСТов.REPISOT
25.08.2025 09:36Я считаю, что термин алиазинг/элайсинг/aliasing вы не найдёте ни в одном из ГОСТов.
Так это вы считаете или его в самом деле нет?
Я считаю, что в публицистике
А вот это зря. Тут надо смотреть на научные статьи, и техническую литературу, а не на публицистику. Слышали про антиалайзинговый фильтр? А про "антиартефактный"? Вбейте в гугл и увидете, насколько "нет вменяемой общеупотребимой русскоязычной терминологии ".
Flammmable Автор
25.08.2025 09:36Тут надо смотреть на научные статьи
Ну вот я вам и привёл научную статью с термином Nyquist artefact :))
-Я считаю, что термин алиазинг/элайсинг/aliasing вы не найдёте ни в одном из ГОСТов.
-Так это вы считаете или его в самом деле нет?Я считаю, что вы не найдёте термина "Элайсинг" ни в одном из ГОСТов.
REPISOT
25.08.2025 09:36Вы много чего в ГОСТах не найдете. И что?
Flammmable Автор
25.08.2025 09:36Вы много чего в ГОСТах не найдете. И что?
И то, что без ГОСТов ваше "общепринято в ЦОС" и моё "не общепринято в ЦОС" - это ваше слово против моего слова.
Ну или в лучшем случае - ваш ограниченный набор примеров использования против моего ограниченного набора примеров использования.
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Везде получаются нули. Как же тогда можно восстановить этот синус?
An_private
Интересно, хоть для кого-то после этой статьи стало что-то более понятно? Если бы я не знал - что делает дискретизация со спектрами сигналов - эта статья ввела бы меня в полное непонимание происходящего.
Вот даже на первой же анимации - неужели нельзя было хотя бы нарисовать маркер частоты дискретизации, чтобы было сразу видно как исходный спектр зеркалируется относительно маркера?
Для ликбеза еще неплохо бы пояснить - а почему, собственно, на спектре мы получаем не ровную вертикальную линию исходной частоты, а ещё и какой-то "звон" вокруг неё - для начинающего всё это выглядит полной китайской грамотой.
Ну и т.д. и т.п.
Flammmable Автор
Вы про вот этот маркер?
Конкретизируйте, что "всё" для начинающего "выглядит китайской грамотой"?
-Спекстр?
-Спектр с одним пиком?
-Спектр с одним пиком, у которого чуть волнистые края?
С интересом послушаю, что у вас свёрнуто в "и т.д. и т.п.".
An_private
Да. Вот только на анимации его нет и что там происходит - весьма непонятно.
Только с некоторым запозданием я понял источник еще одного недоумения - если используется дискретное преобразование Фурье, то каким образом на графике отображаются частоты выше частоты половины дискретизации?
Потом я обратил внимание на " алгоритм Ломба-Скаргла" и понял, что на самом деле вместо ДПФ за спектр выдаётся периодограмма Ломба-Скаргла, что в общем виде неверно.
Хотя бы. Причём на одной из анимаций в разделе "Чем больше замеров, тем лучше?" видно, что эта "волнистость" зависит от количества семплов. Но почему - никак не объясняется.
А в русском языке называется стробоскопический осциллограф.
Flammmable Автор
Ну вот )) Всё есть в статье. Всё как вы хотели )))
Опять же :) Стоит лишь читать не по диагонали.
Это, к слову не упрёк вам - вы-то вчитались :)
Да с чего бы? :)))
Есть ГОСТ 24346-80.
Там есть определение:
Спектр колебаний:
Совокупность соответствующих гармоническим составляющим значений величины, характеризующей колебания (вибрацию), в которой указанные значения располагаются в порядке возрастания частот гармонических составляющих.
Просто, понятно. Вполне совпадает с, так скажем, бытовым пониманием понятия "спектр". И делает понятия "спектр" и "периодограмма Ломба-Скаргла" синонимами.
А то, что "настоящий спектр, он от 0 до nf/2" - вот это как раз будет вполне запутывать неофитов, порождать у них ненужные вопросы и "объяснять восьмёрку через знак бесконечности на пи пополам".
Опишите словами, что лично вы видите на анимации, на которой непонятно что происходит? :)
Ну... и вы и я - не начинающие. Послушаем начинающих, выглядит ли для них это китайской грамотой :)
Потому, что сам раздел является побочным относительно повествования. Углубляться в него - распылять внимание.
Это почти как у ещё одного читателя в комментариях: "артефакт - это алиасинг".
Хотя ing-овое окончание указывает на процесс.
Здесь наоборот: Equivalent‑Time Sampling - это процесс, а вы произносите "стробоскопический осциллограф".
Вот именно по причине подобного использования лексики смежниками мне и приходится писать публицистические статьи )))))