1
zmj1316 2017-09-24 12:31:35 +08:00
你这就类似于一个定死的哈夫曼编码
|
2
churchmice 2017-09-24 12:40:14 +08:00 via Android
所以我发送一个 10000,双方时钟得跳 1000 下对吧?这效率得有多低下啊?
|
3
zgray 2017-09-24 12:43:43 +08:00 via iPhone
时序库
|
4
totalfee OP @zmj1316 哈夫曼编码不是一种简单的压缩算法么,我这个通信方式不会传输数据本身,不用压缩。
平常的通信你看网卡信号灯都在不停再闪,那是有二进制数据不断流过了数据线。 我这种通信方式,只需要发送“开始”和“结束”两个信号,中途网线断了都不影响。 |
5
LxExExl 2017-09-24 12:52:38 +08:00
1. 如果开始 /结束两个信号能保证 CAP,为啥不直接发需要的信息?
2. 我要发个 Hello World, 计数器怎么编码,怎么保证 A 和 B 的计数器是同步的呢? 建议楼主了解一下 CAP 和分布式的相关概念 |
6
aheadlead 2017-09-24 12:55:15 +08:00 1
|
7
nousername2030 2017-09-24 12:57:55 +08:00 via Android
查了下一台铯原子钟几十万......
|
8
totalfee OP @churchmice 是的,同步跳动是关键。 至于效率我们就不讨论了,这个留给专家解决。
|
9
totalfee OP @LxExExl 通信的本质是简单的,其他复杂的东西都是为了解决某个问题而衍生的。
至于你问我编码的问题,我给你举个容易理解的例子吧: “今天我在这个帖子里面第一次回复了你,算作发了“开始”指令。 再过几天,也可能是好几年,具体好久取决于我要传给你的信息量,我会第二次在这个帖子里面回复你,算作发了“停止”命令。 到时候你计算下这两个回复时间经过的分钟数(用分钟是因为我们选择的计数器精度有限),转换为二进制,再转 ASCII,就知道我给你表达的意思了。” |
10
LxExExl 2017-09-24 13:11:53 +08:00
你发的"开始"我没收到怎么办?
|
11
kifile 2017-09-24 13:19:34 +08:00
和摩斯电码有异曲同工之妙
|
13
sujin190 2017-09-24 13:26:57 +08:00 1
跪了,现在的计算机通信本来就是这么设计的,而且经过无数人改进,还是应该多去读点书
|
14
vmebeh 2017-09-24 13:31:05 +08:00
温湿度传感器 DHT11 就是这样的
datasheet: http://www.micropik.com/PDF/dht11.pdf 中文版: https://cdn-shop.adafruit.com/datasheets/DHT11-chinese.pdf 用的时候也就是需要按说明书写驱动了 没学过通信,感觉大部分通信方式的底层都差不多吧,约定电压区间为 0 或 1,按特定频率和规则发送和接收 |
15
totalfee OP @nousername2030 是啊,所以这个通信方式目前没有实用价值。
但是可以作为某些领域传输特殊信息,比如传输情报,监控只看到发了两个信号,没人会怀疑你在和外界通信。 |
17
ryd994 2017-09-24 14:31:33 +08:00
1.怎么保证同步
2.怎么保证延时(丢包等效于无限延迟) 做到这两点你可以重写 NTP 3.考虑相对论了么 做到这点你可以重写 GPS 传输情报人家早就用数字电台跳频了,信号强度比背景噪声更低 @vmebeh 这不一样,之前的 50us 是同步信号,可以假设同步信号之后,双方时钟没有大的变化 |
18
crazyneo 2017-09-24 15:39:19 +08:00
这不就是 ntp 协议的简化+昂贵版么-。-
|
19
zhujinliang 2017-09-24 18:37:25 +08:00
就是相当于
用 01 表示 0 用 001 表示 1 用 0001 表示 2 ... 这样呗。。。 有没有考虑过 带宽 问题? |
20
hst001 2017-09-24 18:49:33 +08:00
原子弹的原理大家都知道了
|
22
deanguqiang 2017-09-24 21:17:54 +08:00 via iPhone
从通信角度看: 如果计时器精度是 1ms,可以认为信道的带宽是 1kHz,也就是其实建立了一个 1kbps 的通信通道而已,没啥神秘的
|
23
loading 2017-09-24 21:28:34 +08:00
听说过所有东西都在 pi 这个数里面吗?
只要告诉计算机开始位置和结束位置就可了。(然后开始位置就长度爆表,加上算不出来,233 ) |
24
akira 2017-09-24 21:45:03 +08:00
如何保证停止计数的同时性才是最大的难点
|
25
houbaron 2017-09-24 22:13:56 +08:00 via Android
协议三要素:语法 语义 同步。前两个都可以人为定下,最后一个不好弄。
|
26
CEBBCAT 2017-09-24 23:12:28 +08:00
我想起了那个排序:睡排序
|
27
zhs227 2017-09-24 23:29:59 +08:00
我以为,现有的通信系统或多或少都利用了时间的。只是除了时间的维度以外,在同时之外同时加了频域,码域来区分。如果只用时间维度的话,会是一个效率相当低下的系统。如果这个系统的信息交换容量得到了突破,那么其它通信方式一样会产生突破。
|
28
huweic 2017-09-24 23:34:45 +08:00 via Android
想了一下,还挺有意思的
|
29
also24 2017-09-25 00:10:04 +08:00
@deanguqiang #22
并没有 1kbps,1bit 是可以表示两种状态的,楼主的只能表示一种 所以实际 1 秒只能表示 1000 种状态,差不多相当于不到 10bit 的信息量,也就是带宽在 10bps 以下 |
30
also24 2017-09-25 00:16:45 +08:00
建议楼主可以看一下以下关键词:
波特率,比特率,曼彻斯特编码,4B/5B 编码 |
31
lonccc 2017-09-25 08:24:15 +08:00 via Android
假设时钟频率和 cpu 频率一样 3ghz,一个字节 8bit,0-255,取平均值 128,那一秒钟可以传 3g/128byte=22MB。楼主你知道你浪费了多少带宽吗
|
32
mengyaoss77 2017-09-25 09:20:31 +08:00
传输的信息取决于 开始到结束这么一段时间的时长啊。 时间不一样传输的信息就不一样。
也就是说,我上面这句话,改一个标点符号,那么传输所耗的时间就不同 。感觉血亏 |
33
deanguqiang 2017-09-25 09:34:59 +08:00 via iPhone
@also24 任何一个 cycle 可以发或者不发停止,所以从信道角度一个 cycle 就是一个 bit,楼主只是做了一个信源编码而已,这个信源编码把任何数据都编码成 10000000...1 这样的码流。这不是压缩,而是对带宽的浪费。
|
34
amu 2017-09-25 09:53:06 +08:00
香农 通信的数学理论
|
35
Panic 2017-09-25 11:01:08 +08:00
在工程派这种想法屁用也没有
|
36
also24 2017-09-25 12:35:27 +08:00
@deanguqiang #33
我们对一个 bit 的定义可能略有区别,我所说的 1bit 其实是 “现有体系下 1bit 所能携带的信息量” 。 anyway,1000....00001 这个部分我们是一致的,不过实际两边的 1 是无效的,相当于发了 000....0000 |
37
Shouly 2017-09-25 20:13:25 +08:00
量子通信
|
38
huclengyue 2017-09-26 15:45:28 +08:00
有一个疑问。。。A 先发送一个“开始计数”信号 你这个信号是通过什么传递的。
|