EssayAI
Блог
Блог
Математика и алгоритмы

Пропускная способность канала: формула Шеннона-Хартли

11 июня 2026Время чтения: 8 минут
#пропускная способность канала#формула шеннона#теория информации#отношение сигнал шум#полоса пропускания
Пропускная способность канала: формула Шеннона-Хартли

Пропускная способность канала связи - это максимальная скорость, с которой по нему можно передавать информацию так, чтобы приёмник восстановил её без ошибок. Понятие ввёл Клод Шеннон в 1948 году, и с тех пор формула, которая связывает эту скорость с полосой пропускания и уровнем шума, остаётся центральной в теории информации, курсах по сетям и цифровой связи. Разберём, откуда берётся формула Шеннона-Хартли, что в ней означает каждая буква, чем она отличается от более простой формулы Найквиста и как посчитать пропускную способность конкретного канала - телефонной линии, радиоканала или оптоволокна. Чтобы сразу увидеть, как полоса и уровень шума меняют предельную скорость, покрути калькулятор ниже - а дальше разберём формулу шаг за шагом.

Что такое пропускная способность канала

Любой канал связи - телефонный провод, радиоэфир, оптоволокно - искажает сигнал шумом: тепловыми флуктуациями, наводками, помехами от других передатчиков. Чем сильнее шум относительно полезного сигнала, тем чаще приёмник путает переданные символы. Пропускная способность канала CC - это теоретический потолок скорости передачи данных (в битах в секунду), при котором ошибку всё ещё можно сделать сколь угодно малой за счёт правильного кодирования. Превысить CC нельзя ни при какой хитрости кодирования: выше этого предела ошибки неизбежны, сколько бы избыточности вы ни добавляли. Ниже предела, наоборот, теорема Шеннона гарантирует существование кода, дающего надёжную передачу - вопрос только в сложности такого кода.

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

Формула Шеннона-Хартли

Основная формула пропускной способности канала с шумом выглядит так:

C=Blog2 ⁣(1+SN),C = B \cdot \log_2\!\left(1 + \frac{S}{N}\right),

где BB - полоса пропускания канала в герцах, а S/NS/N - отношение мощности полезного сигнала к мощности шума (безразмерное число, не в децибелах). Результат CC получается в битах в секунду. Смысл формулы: чем шире полоса, тем больше независимых отсчётов сигнала можно передать в секунду, а чем выше S/NS/N, тем больше различимых уровней сигнала помещается в каждый отсчёт без риска перепутать их с шумом. Логарифм появляется потому, что число различимых уровней амплитуды растёт с корнем из S/NS/N, а количество битов на уровень - это логарифм числа уровней.

На практике отношение сигнал/шум чаще задают в децибелах: SNRдБ=10log10(S/N)\text{SNR}_{\text{дБ}} = 10 \log_{10}(S/N), поэтому перед подстановкой в формулу его нужно перевести в линейный вид:

SN=10SNRдБ/10.\frac{S}{N} = 10^{\text{SNR}_{\text{дБ}}/10}.

На графике C/B от SNR в дБ маркер идёт по оси вправо равными шагами по 10 дБ (SNR умножается на 10 каждый раз), а высота кривой при этом растёт почти на одинаковую величину - прирост пропускной способности на каждый порядок мощности одинаков, потому что зависимость логарифмическая

Эта логарифмическая зависимость - ключевое наблюдение формулы: увеличение мощности сигнала в 10 раз не увеличивает пропускную способность в 10 раз, оно лишь добавляет постоянную прибавку Blog2103,32BB \log_2 10 \approx 3{,}32\,B бит/с. Отсюда правило «закон убывающей отдачи мощности»: наращивать S/NS/N становится всё менее выгодно, а расширять полосу BB - по-прежнему пропорционально выгодно.

Как по-разному влияют полоса и отношение сигнал/шум

Полоса BB входит в формулу множителем: если удвоить полосу при неизменном S/NS/N, пропускная способность тоже ровно удваивается - зависимость линейная. Отношение сигнал/шум входит под логарифмом: даже стократное увеличение S/NS/N (то есть плюс 20 дБ) прибавляет лишь Blog21006,64BB \log_2 100 \approx 6{,}64\,B бит/с. Из-за этой асимметрии инженеры чаще расширяют полосу (переходят на более широкий диапазон частот, используют больше несущих), чем гонятся за мощностью передатчика: рост от полосы предсказуем и не имеет диминишинг-эффекта.

Область достижимых скоростей передачи данных: ниже кривой C = B log2(1 + S/N) лежит зона, где надёжная передача возможна при правильном кодировании, выше - зона, где ошибки неизбежны при любом коде; фигурная скобка показывает запас Δ между рабочей скоростью R и пределом C при одной и той же полосе
Область достижимых скоростей передачи данных: ниже кривой C = B log2(1 + S/N) лежит зона, где надёжная передача возможна при правильном кодировании, выше - зона, где ошибки неизбежны при любом коде; фигурная скобка показывает запас Δ между рабочей скоростью R и пределом C при одной и той же полосе

На графике область под кривой C(S/N)C(S/N) - это все пары «скорость передачи - отношение сигнал/шум», для которых существует код с произвольно малой вероятностью ошибки. Область над кривой недостижима в принципе. Разница между реальной рабочей скоростью RR канала и пределом CC при том же BB и S/NS/N - это тот самый «запас до предела Шеннона», на который ориентируются, выбирая более сложное помехоустойчивое кодирование.

Формула Найквиста и предел Шеннона

До Шеннона Гарри Найквист вывел более простую формулу - для идеального канала без шума с конечным числом уровней сигнала MM:

C=2Blog2M.C = 2B \log_2 M.

Она отвечает на другой вопрос: сколько бит переносит каждый импульс, если приёмник умеет безошибочно различать ровно MM уровней амплитуды. Формула Найквиста не учитывает шум вовсе - она просто ограничивает скорость передачи символов (2B2B символов в секунду, по теореме отсчётов) и число различимых состояний на символ. Формула Шеннона-Хартли обобщает эту идею: вместо произвольного MM она берёт число уровней, которое можно надёжно различить именно при данном отношении сигнал/шум, - оно растёт как 1+S/N\sqrt{1 + S/N}. Поэтому в реальных задачах, где шум присутствует всегда, используют именно формулу Шеннона, а формулу Найквиста - как учебную идеализацию или частный случай при очень большом S/NS/N.

Пример расчёта пропускной способности телефонного канала

Классическая задача: аналоговая телефонная линия имеет полосу пропускания B=3100B = 3100 Гц (стандартный диапазон 300-3400 Гц) и отношение сигнал/шум SNRдБ=30\text{SNR}_{\text{дБ}} = 30 дБ. Нужно найти предельную пропускную способность.

Сначала переводим SNR из децибел в линейный вид:

SN=1030/10=103=1000.\frac{S}{N} = 10^{30/10} = 10^3 = 1000.

Теперь подставляем в формулу Шеннона-Хартли:

C=3100log2(1+1000)=3100log2(1001)31009,96730900 бит/с.C = 3100 \cdot \log_2(1 + 1000) = 3100 \cdot \log_2(1001) \approx 3100 \cdot 9{,}967 \approx 30\,900 \ \text{бит/с}.

Получаем около 30,9 кбит/с - это и есть теоретический предел, к которому вплотную подходили модемы последнего поколения на коммутируемых линиях (33,6 и 56 кбит/с работали за счёт более благоприятных условий на отдельных участках линии и асимметрии направлений). Если увеличить полосу вдвое, до 6200 Гц, при том же SNR пропускная способность тоже ровно удвоится - около 61,8 кбит/с. А если вместо этого удвоить SNR (плюс 3 дБ примерно на кратное увеличение мощности), прирост окажется значительно скромнее, что и демонстрирует логарифмический характер зависимости от мощности сигнала.

Где применяется формула на практике

Формула Шеннона-Хартли - не абстракция, а рабочий инструмент проектирования связи. По ней оценивают верхнюю границу скорости Wi-Fi при заданной полосе канала и уровне помех, сравнивают потенциал разных стандартов сотовой связи (LTE, 5G) при одинаковой полосе, но разном SNR, и объясняют, почему оптоволокно с огромной полосой (гигагерцы) и высоким SNR даёт пропускную способность на порядки выше, чем медный провод. В спутниковой связи формула используется, чтобы понять, сколько данных можно передать при заданной мощности передатчика и уровне шума приёмника - там расширить полосу часто дешевле, чем нарастить мощность сигнала.

Частые ошибки

  • Подстановка SNR в децибелах напрямую в формулу. Формула Шеннона-Хартли требует линейное отношение мощностей S/NS/N, а не значение в дБ. Забыли перевести через 10SNRдБ/1010^{\text{SNR}_{\text{дБ}}/10} - получите заниженный или бессмысленный результат.
  • Путаница формулы Шеннона с формулой Найквиста. Формула Найквиста C=2Blog2MC = 2B\log_2 M не учитывает шум и годится только для идеального безошибочного канала с известным числом уровней MM. Использовать её для реального зашумлённого канала - грубая ошибка.
  • Ожидание, что удвоение мощности сигнала удвоит скорость. Из-за логарифма рост S/NS/N даёт убывающую отдачу, тогда как рост полосы BB - пропорциональную. Спутать эти два эффекта - частая логическая ошибка в задачах на оптимизацию канала.
  • Смешивание единиц измерения. BB подставляется в герцах, а не в килогерцах или мегагерцах без пересчёта - иначе ответ окажется больше или меньше в тысячу раз.
  • Путать пропускную способность с реальной скоростью протокола. CC - теоретический предел; реальная скорость всегда ниже из-за служебных данных, неидеального кодирования и запаса на ошибки.

FAQ

Что означает S/N в формуле Шеннона-Хартли? Это отношение мощности полезного сигнала к мощности шума в линейном (не логарифмическом) виде. Если дано значение в децибелах, его нужно сначала перевести по формуле S/N=10SNRдБ/10S/N = 10^{\text{SNR}_{\text{дБ}}/10}.

Может ли реальная скорость передачи превысить пропускную способность канала? Нет. Пропускная способность CC - это доказанный теоретический предел: при скорости выше CC безошибочная передача невозможна ни при каком кодировании, сколько бы избыточности вы ни закладывали.

Почему увеличение полосы выгоднее увеличения мощности сигнала? Потому что полоса BB входит в формулу линейным множителем, а отношение сигнал/шум - под логарифмом. Удвоение полосы удваивает пропускную способность, а удвоение SNR добавляет лишь фиксированную небольшую прибавку.

Коротко

Пропускная способность канала связи задаётся формулой Шеннона-Хартли C=Blog2(1+S/N)C = B \log_2(1 + S/N), где BB - полоса пропускания в герцах, а S/NS/N - отношение сигнал/шум в линейном виде. Полоса влияет на скорость линейно, а отношение сигнал/шум - логарифмически, поэтому расширение полосы почти всегда выгоднее наращивания мощности сигнала. Формула Найквиста C=2Blog2MC = 2B\log_2 M - её частный случай без шума, применимый только к идеализированным каналам. Зная BB и SNR, можно быстро оценить теоретический предел скорости для любого реального канала - от телефонной линии до Wi-Fi и оптоволокна.

Доверьте текст нейросети EssayAI

Открыть EssayAI

Бесплатно, на русском языке и без VPN

Читайте также

Формула Шеннона: количество информации в битах

Формула Шеннона: количество информации в битах

Формула Шеннона простыми словами: как измерить количество информации в битах, чем I = log2 N отличается от энтропии источника, как считать редкие события и где студенты ошибаются в задачах.

11 июня 20268 минут
Количество информации в сообщении о событии: формула

Количество информации в сообщении о событии: формула

Как посчитать количество информации в сообщении о событии по формуле Шеннона и Хартли: переход от вероятности к битам, разбор примера и частых ошибок в задачах.

11 июня 20267 минут
Полное сопротивление последовательной RLC-цепи: Q и резонанс

Полное сопротивление последовательной RLC-цепи: Q и резонанс

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

11 июня 20268 минут
Атрибуты сущности в ER-модели: пять типов и примеры

Атрибуты сущности в ER-модели: пять типов и примеры

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

7 июля 20269 минут
Циркуляция векторного поля по контуру: формула и смысл

Циркуляция векторного поля по контуру: формула и смысл

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

7 июля 20267 минут
Динамическое программирование: основы и идея мемоизации

Динамическое программирование: основы и идея мемоизации

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

7 июля 20267 минут