0%

模拟数据到数字数据的转换
数字数据到数字信号的转换

模拟数据到数字数据的转换

数字信号是优于模拟信号的模拟信号的。可有时候只有模拟信号,诸如麦克风或照相机产生的信号。现在的趋势是把模拟信号转换成数字信号,存在两种方案:脉冲码调制(pluse code modulation, PCM),Delta 调制(delta modulation, DM)。

Read more »

为什么理想状态下数字信号的带宽是无穷大的呢?

模拟数据与数字数据

数据可以是模拟的也可以是数字的。模拟数据(analog data)指的是连续状态的信息,而数字数据(digital data)指的是离散状态的信息。模拟数据采用连续值,数字数据采用离散值。例如一个模拟时钟有时针、分针和秒针,他们以连续的方式给出时间信息,针的移动是连续的;报告小时和分钟的数字时钟会突然从 08:05 变成 08:06,他们以离散方式给出信息。

Read more »

这文章与操作说明(man page)并不相同。假设你对 TCP/IP 网络了解得非常少。对于ifconfig的参数调用,操作说明已经写得很详细了,这里仅仅说下ifconfig的无参数调用的输出。
阅读它并不需要什么特别的知识,这点的确非常像操作说明。

ifconfig 是什么

ifconfig是类 UNIX 系统的系统管理工具,用于诊断和配置网络接口。尽管一些人声称它已经被iproute2所取代(ip命令),但它仍然在被广泛地使用。

Read more »

物理层与传输介质交互,将各网络构建在一起,那么物理上如何将数据从网络中的一个节点传送到下一个节点呢?

物理层的一个主要任务是为数据链路层提供服务。数据链路层中的数据由组成帧的 0 和 1 组成,这些帧准备从传输介质从一个节点传送到另一个节点。0 和 1 组成的数据流,首先要转换成另一种实体,即信号,信号元素承载数据单元。物理层提供的服务之一就是生成表示比特流的信号。数字到数字转换技术将数字数据转换为数字信号。基带传输就是通过通道发送数字信号。可傅里叶变换告诉我们,直流信号的带宽是无穷大的,而且一次谐波携带了大多数的能量,因此基带传输需要一个无穷大带宽(信号包含的频率范围)的低通通道。这种通道仅仅是理想的状况,近似的一个例子是 LAN——一种专用通道(介质的整个带宽用于一条单通道)。使用调制把数字信号转换成模拟信号,不仅搬移了频谱,而且允许我们使用带通通道,这种通道比低通通道更可用,这涉及到了数字到模拟的转换。对数字数据来说,数据不仅仅有数字数据,而且有模拟数据,这就涉及到模拟到数字转换技术,它将模拟数据转换为数字数据。调制也用于模拟信号,这一方面的例子就是无线电——政府为每一个无线电台分配基带带宽,每个电台生成的模拟信号都是低通通道,都在同一频率范围内;为了能够收听不同电台,需要将低通通道平移,使每一个信号对应不同的频率范围。

频率是人类最宝贵的资源。除了利用有限的频率更快地传输数据之外,数字通信的一个目标是使用较少的信号元素承载更多的数据元素,使用电话网进行数据传输就是这样的一个例子。同时,奈圭斯特比特率公式定义了理论上(无噪声通道)的最大比特率,香农容量定理则给出了噪声通道理论上的最高速度。

Read more »

数据通过网络可以从一个地方传送到另一个地方,这是数据通信的基本概念。但是,数据通信的大致过程又是怎样的呢?

数据通信系统的五个组件

一个数据通信(data communication)系统的组成是这样的:

Read more »

恩,我发现我还是在这里写了不少东西的。虽然才使用半年有余,已然留下了不少东西。

DigitalOcean 的优惠券到期了,几个月前在 V 站看到 carina 提供免费 Docker 容器的消息,当初跟风注册了一把,也没用过:当测试机延迟太大,其他用途呢,好像也没啥用,倒是有不少 v 友因部署了某种服务而被销号。现在这可派上了用场。

当初使用 Hexo,还是因为看到了这个,主题拉取过来便使用了,也没做什么调整,都是默认的设置。后续遇到了不少问题:比如使用 LaTex 公式,代码高亮等。这次迁移,便完善、添加了一些功能:

Read more »

C 与汇编的嵌套

Say hello to x86_64 Assembly 的第七篇咯,这里会看一下怎么在 C 中使用汇编。
事实上有三种方法:

  • 在 C 中调用汇编(Call assembly routines from C code)
  • 在汇编中调用 C(Call c routines from assembly code)
  • 在 C 中使用内嵌汇编(Use inline assembly in C code)
Read more »

Say hello to x86_64 Assembly 系列的第六篇。这里会看一看 AT&T 汇编语法。先前我们使用的都是 nasm 汇编工具,但也有其他不同语法的汇编工具,比如 fasmyasm。接下的的部分我们会看到 gas(GNU 汇编工具)及其与 nasm 语法的不同之处。GCC 使用 GNU 汇编工具。因此若查看下列代码的汇编输出:

1
2
3
4
5
6
#include <unistd.h>

int main(void){
write(1, "Hello World\n", 15);
return 0;
}

会看到这样的输出:

Read more »