ГоловнаСтаттіТеорія Інформації та Кодування

Ємність Каналу: Обмеження для Швидкості Wi-Fi

Чому C = B·log2(1+SNR) нагороджує більший пропускач значно більше, ніж збільшення потужності, і що насправді обіцяє теорема про кодування в умовах шуму.

mysimulator teamОновлено — червень 2026≈ 8 хв читання▶ Відкрити симуляцію

Обмеження на пропускну здатність будь-якого каналу зв’язку

Кожен реальний канал зв’язку – від Wi-Fi радіоканалу до телефонного кабелю з мідним дротом або оптичного волокна – має фізичне обмеження щодо того, скільки інформації він може надійно передати, незалежно від того, наскільки складною є схема модуляції, яка використовується зверху. Клод Шеннон довів у 1948 році, що це межа є одним числом – пропускною здатністю каналу C, і обґрунтував її спільно з Ральфом Гартеллі, чия раніше розроблена на основі ширини смуги мовлення логіка стала основою для цього результату, тому результат носить їхні імена.

C  =  B * log2( 1 + SNR )

C   = channel capacity, in bits per second
B   = bandwidth, in hertz
SNR = signal-to-noise power ratio (a plain ratio, not decibels, inside this formula)
жива демонстрація · пов'язана симуляція● LIVE

Що насправді говорить формула

Ширина смуги B визначає, скільки незалежних символів на секунду канал може фізично передати – швидкість Найквіста (Nyquist rate) стверджує, що канал з шириною смуги B підтримує щонайбільше 2B незалежних вибірок на секунду без перешкод між символами. Термін log2(1 + SNR) перетворює ці необроблені вибірки в біти: це буквально є ентропією кількості розрізнених рівнів амплітуди, які дозволяє вмістити у кожну вибірку, враховуючи шум. Високий коефіцієнт SNR означає, що приймач може надійно розрізняти багато різних рівнів сигналу на символ, тому кожен символ несе більше біт; низький коефіцієнт SNR стискає кількість розрізнюваних рівнів до одного, і ємність до нуля.

Два обмеження роблять форму кривої інтуїтивно зрозумілими. Зі збільшенням SNR без обмежень, ємність зростає лише логарифмічно – подвоєння потужності передачі майже не впливає на швидкість даних, оскільки log2(1+SNR) вирівнюється. Зі збільшенням ширини смуги без обмеження, а потужність залишається фіксованою, ємність також не прямує до нескінченності – вона насичується певним кінцевим значенням, оскільки розподіл фіксованої потужності на все більшу ширину смуги пропорційно розводить SNR у кожному зрізі, і ці два ефекти скасовуються в фіксовану асимптоту (приблизно 1.44 * P / N0 біт/сек, де N0 – спектральна щільність потужності шуму – фундаментальний компроміс між шириною смуги та потужністю Шеннона-Гертеля).

Розрахунки та результати, тому формула перестає бути абстрактною

Коефіцієнт шуму на 20 дБ = відношення 100 (дБ → відношення: відношення = 10^(дБ/10)) Коефіцієнт шуму на 30 дБ = відношення 1000 Коефіцієнт шуму на 40 дБ = відношення 10000 B = 20 МГц (типовий канал Wi-Fi 2.4 ГГц), коефіцієнт шуму = 30 дБ (відношення 1000): C = 20,000,000 * log2(1 + 1000) = 20,000,000 * log2(1001) ≈ 20,000,000 * 9.97 ≈ 199 Мбіт/с (ідеальне верхнє значення – реальна пропускна здатність 802.11 нижча через накладки протоколів, маржа кодування та неточне оцінювання каналу) Це саме тому, що подвоєння потужності передачі Wi-Fi майже не впливає на показники тесту швидкості, а перехід від каналу 20 МГц до 40 МГц або 80 МГц (подвоєння або учетверення B безпосередньо, що виходить за межі логарифма) має значно більший, приблизно пропорційний вплив на верхнє значення. Інженери, які прагнуть збільшити пропускну здатність, шукають більше смуги частот, перш ніж шукати більше потужності, оскільки ці змінні займають різні позиції у формулі.

SNR of 20 dB  =  ratio of 100   (dB → ratio: ratio = 10^(dB/10))
SNR of 30 dB  =  ratio of 1000
SNR of 40 dB  =  ratio of 10000

B = 20 MHz (typical 2.4 GHz wifi channel), SNR = 30 dB (ratio 1000):
C = 20,000,000 * log2(1 + 1000)
  = 20,000,000 * log2(1001)
  ≈ 20,000,000 * 9.97
  ≈ 199 Mbit/s          (an idealized ceiling — real 802.11 throughput is lower
                          due to protocol overhead, coding rate margins, and
                          imperfect channel estimation)

Що обіцяє теорема та що вона навмисно не робить

Теорія кодування з шумом є найточнішою частиною результатів Шеннона і тією, яку люди найчастіше неправильно інтерпретують. Вона стверджує: для будь-якої швидкості передачі R, яка строго нижче ємності C, існує певний кодування, що дозволяє передавати з швидкістю R з ймовірністю помилок, яка може бути зроблена набагато близькою до нуля – не точно нулю, але наближено, використовуючи все довші та довші кодові слова. І навпаки, для будь-якої швидкості R, що перевищує C, жодне кодування не зможе забезпечити надійну комунікацію – ймовірність помилок буде віддалена від нуля незалежно від того, наскільки розумним є код. Ключовим моментом доказу Шеннона є те, що це доказ існування: він встановлює, що хороший код існує (за допомогою аргументу випадкового кодування, усередненого по ансамблю кодів), не будуючи його, і для цього потрібну були приблизно шістдесят років – від 1948 року до появи Turbo-кодів у 1993 році та відновлення LDPC-кодів у 1990-х роках - 2000-х роках, завершуючись відкриттям кодування полярними кодами Аріканом у 2008 році.

Що знаходиться між необробленою інформацією та повідомленням, якому можна довіряти

В. вимірює місткість необробленої інформації, але для реального каналу потрібні корекційні коди, щоб надійно підходити до цього ліміту, а не просто швидко досягати його. Це компроміс між швидкістю та надмірністю: код, який додає більше інформації про парність на кожен біт даних (низький коефіцієнт кодування), може виправляти більше помилок, але пропорційно зменшує фактичний обсяг даних, що передається за біт, відсуваючи досяжну ефективну швидкість нижче В. Сучасні коди – Turbo, LDPC, поляризаційні – цінуються саме тому, що вони знаходяться на межі 1/10 дБ від ліміту Шеннона при практичних довжинах блоків та складності декодування, що пояснює, чому 4G, 5G, супутникові зв’язки та режими високої порядку Wi-Fi використовують одну з цих трьох груп замість простіших блокових і конволюційних кодів 1970-х – 90-х років.

Практичні системи також повинні враховувати SNR, який не є постійним – затухання, перешкоди та відстань впливають на нього, тому існують адаптивна модуляція та кодування: Wi-Fi або мобільний радіостан безперервно оцінює поточний SNR та перемикається між схемами модуляції (BPSK, QPSK, 16-QAM, до 1024-QAM на сучасному Wi-Fi) та коефіцієнтами кодування, щоб завжди знаходитися трохи нижче поточного ліміту ємності, обмінюючи пікову швидкість на надійність, коли умови змінюються з другої в другу секунду.

Часті запитання

Why does doubling transmit power not double my internet speed?

Це тому, що SNR знаходиться всередині логарифма у формулі Шеннона-Гертей: C = B*log2(1+SNR). Подвоєння потужності сигналу приблизно подвоює відношення SNR, але логарифм 2 від подвоєного числа додає лише приблизно один додатковий біт на символ, а не подвоює швидкість передачі даних. Капа росте дуже повільно, коли SNR вже достатньо високий, тому ширина смуги зазвичай є більш ефективним інструментом.

Does Shannon's theorem guarantee zero errors are possible below capacity?

Воно гарантує, що ймовірність помилок може бути зроблена довільно близькою до нуля, наближаючись до неї при використанні все довше та довші кодових слів. Але воно також гарантує те саме в протилежному напрямку: вище за межі ємності жоден код, незалежно від його складності або довжини, не може знизити ймовірність помилок до нуля.

Why did it take decades to build codes that approach the Shannon limit?

Доказ Шеннона 1948 року є аргументом про існування випадкових кодів — він показує, що деякий код з відповідними властивостями повинен існувати в середньому по великій кількості можливих кодів, але він не дає конструкції та практичного алгоритму декодування. Турбокоди (1993), коди LDPC (відкриті повторно у 1990-х роках після їхнього походження в 1960-х роках) і коди Поля (2008) були проривами, які нарешті об'єднали продуктивність, близьку до ємності, з алгоритмами декодування, достатньо швидкими для запуску на реальному обладнанні.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Channel Capacity і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Channel Capacity

Що ви знайшли?

Додати кроки відтворення (опційно)