一种新型的通信方式:计数器同步通信 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
totalfee
V2EX    奇思妙想

一种新型的通信方式:计数器同步通信

  •  
  •   totalfee 2017-09-24 12:16:31 +08:00 5885 次点击
    这是一个创建于 2949 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先想象一条数轴:
    0_________________+∞

    计算机上的任何信息,都是二进制存储,都可以用一个自然数来表示,对应于数轴中某一个点。

    通信的本质,就是把一个自然数从一个空间传递到另外一个空间。

    因此我们可以在 A、B 两地分别放置一个同步计数器,当 A 给 B 传递某条信息时,A 先发送一个“开始计数”信号,A、B 两地的计数器便会同步开始计数:0、1、2、3...... 直到达到指定的自然数,A 再发送“停止计数”信号,此时 B 计数器显示的数字即为 A 传递的信息。

    目前难题:
    1. 计数器震荡频率提升。
    2. 计数器位宽提升。
    2. 计数器同步困难。
    38 条回复    2017-09-26 15:45:28 +08:00
    zmj1316
        1
    zmj1316  
       2017-09-24 12:31:35 +08:00
    你这就类似于一个定死的哈夫曼编码
    churchmice
        2
    churchmice  
       2017-09-24 12:40:14 +08:00 via Android
    所以我发送一个 10000,双方时钟得跳 1000 下对吧?这效率得有多低下啊?
    zgray
        3
    zgray  
       2017-09-24 12:43:43 +08:00 via iPhone
    时序库
    totalfee
        4
    totalfee  
    OP
       2017-09-24 12:45:03 +08:00
    @zmj1316 哈夫曼编码不是一种简单的压缩算法么,我这个通信方式不会传输数据本身,不用压缩。
    平常的通信你看网卡信号灯都在不停再闪,那是有二进制数据不断流过了数据线。
    我这种通信方式,只需要发送“开始”和“结束”两个信号,中途网线断了都不影响。
    LxExExl
        5
    LxExExl  
       2017-09-24 12:52:38 +08:00
    1. 如果开始 /结束两个信号能保证 CAP,为啥不直接发需要的信息?
    2. 我要发个 Hello World, 计数器怎么编码,怎么保证 A 和 B 的计数器是同步的呢?

    建议楼主了解一下 CAP 和分布式的相关概念
    aheadlead
        6
    aheadlead  
       2017-09-24 12:55:15 +08:00   1
    原谅我 我笑了一会 这有点像这个
    https://zh.wikipedia.org/wiki/布戈德堡械

    如果说我这个计数器最大的计数能力是 1 的话
    有没有觉得逐渐的又回到现在的通讯方式了
    nousername2030
        7
    nousername2030  
       2017-09-24 12:57:55 +08:00 via Android
    查了下一台铯原子钟几十万......
    totalfee
        8
    totalfee  
    OP
       2017-09-24 12:59:18 +08:00
    @churchmice 是的,同步跳动是关键。 至于效率我们就不讨论了,这个留给专家解决。
    totalfee
        9
    totalfee  
    OP
       2017-09-24 13:09:19 +08:00
    @LxExExl 通信的本质是简单的,其他复杂的东西都是为了解决某个问题而衍生的。

    至于你问我编码的问题,我给你举个容易理解的例子吧:
    “今天我在这个帖子里面第一次回复了你,算作发了“开始”指令。
    再过几天,也可能是好几年,具体好久取决于我要传给你的信息量,我会第二次在这个帖子里面回复你,算作发了“停止”命令。
    到时候你计算下这两个回复时间经过的分钟数(用分钟是因为我们选择的计数器精度有限),转换为二进制,再转 ASCII,就知道我给你表达的意思了。”
    LxExExl
        10
    LxExExl  
       2017-09-24 13:11:53 +08:00
    你发的"开始"我没收到怎么办?
    kifile
        11
    kifile  
       2017-09-24 13:19:34 +08:00
    和摩斯电码有异曲同工之妙
    totalfee
        12
    totalfee  
    OP
       2017-09-24 13:23:59 +08:00
    @zgray 强,一眼看穿本质。


    @aheadlead 是的,可以认为现有通信方式是 位宽为 1 的计数器。
    sujin190
        13
    sujin190  
       2017-09-24 13:26:57 +08:00   1
    跪了,现在的计算机通信本来就是这么设计的,而且经过无数人改进,还是应该多去读点书
    vmebeh
        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,按特定频率和规则发送和接收
    totalfee
        15
    totalfee  
    OP
       2017-09-24 13:31:40 +08:00
    @nousername2030 是啊,所以这个通信方式目前没有实用价值。
    但是可以作为某些领域传输特殊信息,比如传输情报,监控只看到发了两个信号,没人会怀疑你在和外界通信。
    totalfee
        16
    totalfee  
    OP
       2017-09-24 13:33:27 +08:00
    @sujin190 我说我 97 年就开始学电子通信了你信不?
    ryd994
        17
    ryd994  
       2017-09-24 14:31:33 +08:00
    1.怎么保证同步
    2.怎么保证延时(丢包等效于无限延迟)
    做到这两点你可以重写 NTP
    3.考虑相对论了么
    做到这点你可以重写 GPS

    传输情报人家早就用数字电台跳频了,信号强度比背景噪声更低


    @vmebeh 这不一样,之前的 50us 是同步信号,可以假设同步信号之后,双方时钟没有大的变化
    crazyneo
        18
    crazyneo  
       2017-09-24 15:39:19 +08:00
    这不就是 ntp 协议的简化+昂贵版么-。-
    zhujinliang
        19
    zhujinliang  
       2017-09-24 18:37:25 +08:00
    就是相当于
    用 01 表示 0
    用 001 表示 1
    用 0001 表示 2
    ...
    这样呗。。。
    有没有考虑过 带宽 问题?
    hst001
        20
    hst001  
       2017-09-24 18:49:33 +08:00
    原子弹的原理大家都知道了
    geelaw
        21
    geelaw  
       2017-09-24 20:59:12 +08:00 via iPhone
    @totalfee 不要以为传输方式是可以保密的
    deanguqiang
        22
    deanguqiang  
       2017-09-24 21:17:54 +08:00 via iPhone
    从通信角度看: 如果计时器精度是 1ms,可以认为信道的带宽是 1kHz,也就是其实建立了一个 1kbps 的通信通道而已,没啥神秘的
    loading
        23
    loading  
       2017-09-24 21:28:34 +08:00
    听说过所有东西都在 pi 这个数里面吗?
    只要告诉计算机开始位置和结束位置就可了。(然后开始位置就长度爆表,加上算不出来,233 )
    akira
        24
    akira  
       2017-09-24 21:45:03 +08:00
    如何保证停止计数的同时性才是最大的难点
    houbaron
        25
    houbaron  
       2017-09-24 22:13:56 +08:00 via Android
    协议三要素:语法 语义 同步。前两个都可以人为定下,最后一个不好弄。
    CEBBCAT
        26
    CEBBCAT  
       2017-09-24 23:12:28 +08:00
    我想起了那个排序:睡排序
    zhs227
        27
    zhs227  
       2017-09-24 23:29:59 +08:00
    我以为,现有的通信系统或多或少都利用了时间的。只是除了时间的维度以外,在同时之外同时加了频域,码域来区分。如果只用时间维度的话,会是一个效率相当低下的系统。如果这个系统的信息交换容量得到了突破,那么其它通信方式一样会产生突破。
    huweic
        28
    huweic  
       2017-09-24 23:34:45 +08:00 via Android
    想了一下,还挺有意思的
    also24
        29
    also24  
       2017-09-25 00:10:04 +08:00
    @deanguqiang #22
    并没有 1kbps,1bit 是可以表示两种状态的,楼主的只能表示一种

    所以实际 1 秒只能表示 1000 种状态,差不多相当于不到 10bit 的信息量,也就是带宽在 10bps 以下
    also24
        30
    also24  
       2017-09-25 00:16:45 +08:00
    建议楼主可以看一下以下关键词:
    波特率,比特率,曼彻斯特编码,4B/5B 编码
    lonccc
        31
    lonccc  
       2017-09-25 08:24:15 +08:00 via Android
    假设时钟频率和 cpu 频率一样 3ghz,一个字节 8bit,0-255,取平均值 128,那一秒钟可以传 3g/128byte=22MB。楼主你知道你浪费了多少带宽吗
    mengyaoss77
        32
    mengyaoss77  
       2017-09-25 09:20:31 +08:00
    传输的信息取决于 开始到结束这么一段时间的时长啊。 时间不一样传输的信息就不一样。
    也就是说,我上面这句话,改一个标点符号,那么传输所耗的时间就不同 。感觉血亏
    deanguqiang
        33
    deanguqiang  
       2017-09-25 09:34:59 +08:00 via iPhone
    @also24 任何一个 cycle 可以发或者不发停止,所以从信道角度一个 cycle 就是一个 bit,楼主只是做了一个信源编码而已,这个信源编码把任何数据都编码成 10000000...1 这样的码流。这不是压缩,而是对带宽的浪费。
    amu
        34
    amu  
       2017-09-25 09:53:06 +08:00
    香农 通信的数学理论
    Panic
        35
    Panic  
       2017-09-25 11:01:08 +08:00
    在工程派这种想法屁用也没有
    also24
        36
    also24  
       2017-09-25 12:35:27 +08:00
    @deanguqiang #33
    我们对一个 bit 的定义可能略有区别,我所说的 1bit 其实是 “现有体系下 1bit 所能携带的信息量” 。

    anyway,1000....00001 这个部分我们是一致的,不过实际两边的 1 是无效的,相当于发了 000....0000
    Shouly
        37
    Shouly  
       2017-09-25 20:13:25 +08:00
    量子通信
    huclengyue
        38
    huclengyue  
       2017-09-26 15:45:28 +08:00
    有一个疑问。。。A 先发送一个“开始计数”信号 你这个信号是通过什么传递的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1126 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 23:03 PVG 07:03 LAX 16:03 JFK 19:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86