早在 1924 年,AT&T 工程师 Henry Nyquist 就意识到,即使是完美的信道也具有有限的传输容量。他推导出了一个方程,表示有限带宽无噪声信道的最大数据速率。 1948 年,Claude Shannon 进一步推进了 Nyquist 的工作,并将其扩展到受随机(即热力学)噪声影响的通道的情况(Shannon,1948)。这篇论文是所有信息论中最重要的论文。
数据速率控制数据传输的速度。数据通信中一个非常重要的考虑因素是我们可以多快地通过通道发送数据(以每秒比特数为单位)。数据速率取决于 3 个因素:
- 可用带宽
- 数字信号的电平数
- 频道质量——噪音水平
开发了两个理论公式来计算数据速率:一个是 Nyquist 用于无噪声信道,另一个是 Shannon 用于有噪声信道。
1. 无噪声通道:奈奎斯特比特率 –
对于无噪声信道,奈奎斯特比特率公式定义了理论最大比特率
Nyquist证明,如果任意信号已经通过带宽的低通滤波器,则可以通过每秒仅进行 2*Bandwidth(精确)采样来完全重建滤波后的信号。以每秒 2*Bandwidth 倍的速度对线路进行采样是没有意义的,因为这种采样可以恢复的高频分量已经被过滤掉了。如果信号由 L 个离散电平组成,则奈奎斯特定理指出:
BitRate = 2 * Bandwidth * log2(L) bits/sec
在上面的等式中,带宽是信道的带宽,L 是用于表示数据的信号电平数,BitRate 是每秒比特率。
带宽是一个固定的数量,所以它不能改变。因此,数据速率与信号电平的数量成正比。
注 –增加信号电平可能会降低系统的可靠性。
例子:
输入 1 :考虑一个带宽为 3000 Hz 的无噪声信道,传输具有两个信号电平的信号。最大比特率可以是多少?
输出 1:比特率 = 2 * 3000 * log 2 (2) = 6000bps
Input2 :我们需要通过带宽为 20 kHz 的无噪声信道发送 265 kbps。我们需要多少信号电平?
输出2:265000 = 2 * 20000 * log 2 (L)
日志2 (L) = 6.625
L = 2 6.625 = 98.7 级
The amount of thermal noise present is measured by the ratio of the signal power to the noise power, called the SNR (Signal-to-Noise Ratio).
2. 嘈杂频道:香农容量 –
实际上,我们不可能有一个无噪音的频道;频道总是嘈杂。香农容量用于确定噪声信道的理论最高数据速率:
Capacity = bandwidth * log2(1 + SNR) bits/sec
在上面的等式中,带宽是信道的带宽,SNR 是信噪比,容量是每秒比特数的信道容量。
带宽是一个固定的数量,所以它不能改变。因此,信道容量与信号功率成正比,因为 SNR =(信号功率)/(噪声功率)。
信噪比 (S/N) 通常以分贝 (dB) 表示,公式如下:
10 * log10(S/N)
因此,例如 1000 的信噪比通常表示为:
10 * log10(1000) = 30 dB.
This tells us the best capacities that real channels can have. For example, ADSL (Asymmetric Digital Subscriber Line), which provides Internet access over normal telephonic lines, uses a bandwidth of around 1 MHz. the SNR depends strongly on the distance of the home from the telephone exchange, and an SNR of around 40 dB for short lines of 1 to 2km is very good. with these characteristics, the channel can never transmit much more than 13Mbps, no matter how many or how few signals level are used and no matter how often or how infrequently samples are taken.
Examples:
Input1 : A telephone line normally has a bandwidth of 3000 Hz (300 to 3300 Hz) assigned for data communication. The SNR is usually 3162. What will be the capacity for this channel?
Output1 : C = 3000 * log2(1 + SNR) = 3000 * 11.62 = 34860 bps
Input2 : The SNR is often given in decibels. Assume that SNR(dB) is 36 and the channel bandwidth is 2 MHz. Calculate the theoretical channel capacity.
Output2 : SNR(dB) = 10 * log10(SNR)
SNR = 10(SNR(dB)/10)
SNR = 103.6 = 3981
Hence, C = 2 * 106 * log2(3982) = 24 MHz
参考:
FOROUZAN 的《计算机网络:自上而下的方法》一书