从零开始USRP+GNURADIO系列(信号调制总结2)
1.深入了解gnuradio各式的调制解调类型
1.FSK、GFSK
fsk例子参照https://wiki.gnuradio.org/index.php/Simulation_example:_FSK
第一行随机生成bit数据流,
第二行进行VCO的FSK调制,vco Sensitivity = (2 * math.pi * (full-scale frequency)/ 1) = 15708 .
第三行FSK的滤波,解调。
GFSK
可以参考这篇博客
https://blog.csdn.net/OpenSourceSDR/article/details/104380209
其中gmsk的sensivity
BT:Gaussian filter bandwidth * symbol time (float)
另外补充一个思路很好的fm调制方式,按照数学公式搭建的方式。
2.MSK、GMSK
2FSK的改进,解决2fsk相位不连续,占用频带宽和功率谱旁瓣衰减慢等。
msk包络恒定、相位连续、频差最小并且严格正交的2fsk信号。
非相干接收时(w1 - w2)Tb = 2m*pi或者f1-f0=m/Tb时,满足正交性。
相干接收时f1-f0=m/2Tb,满足正交性。
MSK的第K个码元表示为
ak=正负1,所以ak=1和ak=-1的码元计算下来信号会相差1/2Tb,调制指数等于0.5.
正交性:
通过这样的操作可以保证相位的连续性。
并且任一Tb内,若ak=+1,则相位增加pi/2,ak=-1,则相位减少pi/2。
MSK的调制方式
GMSK较MSK多加了高斯滤波器,功率谱密度比MSK更加集中,旁瓣进一步降低,但是会增加ISI。在gnuradio中只给出了GMSK的调制解调模块。
如图为GMSK mod 的基本调制解调,当然解调也可以使用GMSK demod。
GMSK mod通过设置波特率和高斯低通滤波器的BTb就行。
3.BPSK、QPSK、QAM
PSK都可以通过如下的constellation modulation来生成,参数如下
Constellation
determines the modulation type, provide a Constellation Object here.
Samples per Symbol
samples per baud >= 2 (int)
Differential Encoding
whether to use differential encoding (boolean)
Excess BW
Root-raised cosine (RRC) filter excess bandwidth (float)
Verbose
Print information about modulator? (boolean)
Log
Log modulation data to files? (boolean)
Constellation rect Object 和Constellation Object都用于只是星座调制的形状,下面用Constellation rect Object举例,参数:
symbol map 和costellation points决定了星座图的形状
ratational symmetry我理解的是经过多少次选装一个周期,bpsk=2,8psk=8,16qam=4。
Real Sectors
Number of sectors the real axis is split in to.
Imaginary Sectors
Number of sectors the imag axis is split in to.
Width Real Sectors
Width of each real sector to calculate decision boundaries.
Width Imaginary Sectors
Width of each imag sector to calculate decision boundaries.
Soft Bits Precision
The number of bits of precision used when generating the LUT.
Soft Decisions LUT
The soft decision LUT as a vector of tuples (vectors in C++) of soft decisions. Each element of the LUT is a vector of k-bit floats (where there are k bits/sample in the constellation).
16qam例子
至此Boulogeorgos例程更新至章节5了,具体的细节请看原gr。