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,得到对应的正弦和余弦波形。

  • 相关阅读:
    mysql安装
    Python中的 _init__和 _new__的区别
    MySQL系列
    彻底解决编码问题
    人生三问之前后端分离是什么鬼?
    什么是内存泄漏?什么是内存溢出?
    目录
    虚拟环境的使用
    如何为Redis中list中的项设置过期时间
    Redis分布式锁的python实现
  • 原文地址:https://www.cnblogs.com/touchblue/p/4852806.html
Copyright © 2011-2022 走看看