zoukankan      html  css  js  c++  java
  • GMSK调制仿真

    GMSK 调制的的原理非常简单。

    就是MSK调制前进行Gauss滤波。

    在实现中有这样的方法,首先产生高斯系数,对称的上升陂和下降陂系数。输入一个符号,进行上采样,经过高斯滤波器,滤波器的输出做有符号的累加。

    累加的输出与上限值和下限值比较,即大于PI的值减去2PI或者小于-PI的要加上2PI。把结果送到CORDIC中产生正弦和余弦波形,即GMSK波形。

    实际在modelsim 中实现滤波器的时候,用加法替代了乘法运算。设置一个数据长度和系数长度等长的数据寄存器或者说RAM。

    输入一个符号,如果为1,则把这个RAM第一个值1,其他的值填0,如果为0,则把这个RAM第一个值-1,其他的值填0,

    然后在时钟周期下,这个1(或者-1)一个时钟移动一次,这样这个寄存器中就是这样的值。

    第1时刻:

    ·1--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--........

    第2时刻:

    ·0--1--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--........

    第3时刻:

    0--0--1--0--0--0--0--0--0--0--0--0--0--0--0--0--0--........

    第4时刻:

    ·0--0--0--1--0--0--0--0--0--0--0--0--0--0--0--0--0--........

    第5时刻:

    0--0--0--0--1--0--0--0--0--0--0--0--0--0--0--0--0--........

    把不为0的寄存器对应的系数值做N个数的累加,N个周期后就输出一个波形,这个波形就是GMSK调制的相位。把相位输入到CORDIC,得到对应的正弦和余弦波形。

  • 相关阅读:
    Python RabbitMQ
    对于一些概念的澄清
    Python没有执行__init__
    python中的gil是什么?
    linux命令行快捷键
    关于异步:再次思考和澄清
    greenlet代码解读
    关于协程
    设计模式-重复重复的设计模式
    组合模式-虚有其表的模式
  • 原文地址:https://www.cnblogs.com/touchblue/p/4852806.html
Copyright © 2011-2022 走看看