gmsk调制解调

用GNURADIO来测试实现GMSK调制解调

主要过程:

file source是文件输入,可以手动输入1110000数据,也可以换用random source ;另外调制之前加上加扰,解调之后进行解扰


file source -> pack to unpack -> scrambler ->unpack  to pack ->packet encoder ->gmsk  mod ->gmsk demod -> packet decoder -> pack to unpack ->descrambler -> unpack to pack -> file sink


其中要注意的是gmsk解调和调制模块的参数 sample/symbol  ,要一致,具体数值根据字面上的含义可得  采样率/字符速率;

同样,packet encoder 和packet decoder 的sample/symbol 参数也要一致。

pack to unpack 模块主要作用,感觉就是一个数据输出格式的问题,将byte转成bit来处理,毕竟加扰是一位一位处理的。unpack to pack 就是反过来的。

packet encoder 和packet decoder 这两个模块很魔幻,必须配对的感觉,不然就解不出来了。如果调制没有encoder,那解调也不要加decoder ,对于用硬件接收到的gmsk信号。

如果你输入的文件只是一小串字符,比如”hello world"之类的,发现输出文件为空,那就要注意file source 模块的repeat有没有设置,若没有就要设置一下。gnuradio默认数据长度为512可以成包(我是这么理解的),如果输入数据过短,packet decoder是解不出来的。

对于实际信号,我找到了一份参考:

http://www.2cto.com/Article/201412/357131.html

你可能感兴趣的:(笔记)