GMSK通信收发系统设计.doc

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 GMSK通信收发系统的设计 6.1 GMSK系统功能和要求 作为软件无线电系统中重要组成部分的调制解调技术一直是通信领域的热点课题。最小高斯频移键控(GMSK)是一种典型的连续相位调制方式。GMSK信号具有优良的功率谱特性(功率谱旁瓣快衰减特性),在对信号频带严格限制的各种数字通信领域中得到广泛的应用,又由于其包络恒定,在具有限幅特性的C类放大器构成的非线性信道中体现出比QPSK相位调制更多的优势,因而在无线通信领域得到了广泛应用,如GMS系统、GPRS系统、无线局域网、航空数据链、卫星通信等。目前,GMSK信号已经成为地面蜂窝移动通信系统的一种标准。 本系统的功能即是基于GMSK调制,实现GMSK数字基带系统的通信收发与实现。 发射机部分:实现数据的采样、插值、高斯限带低通滤波、MSK正交调制、数字上变频等功能。 接收机部分:实现数字下变频、MSK正交解调、低通滤波、抽取、位同步抽样判决等功能。 系统主要参数:原码传输速率为500KHz,系统采样率为5MHz,系统主时钟品,上下变频的本地振荡频率为1.25MHz,系统主时钟频率为50MHz。 6.2系统设计方案 6.2.1 系统总体架构 1、发射机部分: 原始码元信号首先经过双极性编码,然后对其进行采样,经过插值提高数据采样率,通过高斯低通滤波器对原始信号进行带宽限制处理,然后对限带信号进行MSK基带调制,生成相互正交的I、Q两路基带信号,I、Q两路信号再分别与在载波、相乘,最终再通过加法器,使两路信号相加,得到最终的GMSK调制信号,通过DA送到天线部分。发射机结构框图如图1。 图1 GMSK发射机结构 2、接收机部分 经过AD采样过后的GMSK信号首先分别和数字载波、相乘,再通过低通滤波器,得到I、Q两路信号,对I、Q信号通过MSK解调,得到基带信号,通过CIC抽取滤波器后,降低基带信号的采样率,最后对解调后的基带信号做位同步、抽样判决,最后解码恢复出原始码元。接收机结构框图如图2所示。 图2 GMSK接收机结构 6.2.2 数字低通滤波器的设计 GMSK调制解调通信系统中,MSK调制前需要加一个预调制滤波器,对信号带宽进行限制,抑制信号高频分量、带外辐射功率,同时防止过大的瞬时频偏,而高斯低通滤波器就是一种满足限带特性的预调制滤波器。同时,数字下变频、MSK正交解调后,需要进行低通滤波处理,滤除高频分量,因此,数字低通滤波器的设计在GMSK通信系统中就显得非常重要。 本系统中,我们选择高斯低通滤波器的 BT=0.5,以达到限制源码带宽和减小基带波形码间串扰的平衡,B为高斯滤波器的3dB带宽,T为码元间隔,由于源码速率为500K,所以T=1/500K,B=250KHz。 传统滤波器采用乘累加式结构,当滤波器阶数过高时,会占用大量硬件乘法器和块RAM资源,运算速率比较慢。而FPGA中自身的查找表结构和丰富的触发器资源,令我们可以采用分布式算法实现FIR低通滤波,提高运算速度,实现高速信号处理。 设是滤波器系数,是n时刻的第k个采样输入数据,y(n)为n时刻的系统响应。 (1) 式(1)中,可以写成下式(2)的形式: (2) (2)式中,B为数据格式的字长,为变量的二进制位,只有”0”和”1”两种状态,将(2)代入(1)中: (3) 括号里的每一乘积项代表着输入变量的某一位与常量的二进制“与”操作,加号代表着算术和操作,指数因子对括号中的和加权。如果事先构造一查找表,该表存储着括号中所有的可能值,就可以通过所有输入变量相对应位的组合向量(x(N)b,x(N-1)b,…x(1)b)对该表进行寻址,该查找表称为分布式查找表DALUT。DALUT的构造规则如下: FPGA中实现分布式算法的硬件结构如图3所示: 图3 FPGA实现分布式算法的硬件结构 例1、实现一3阶分布式FIR滤波器,C0=-2,C1=3,C2=1。 module da(clk, x_in, y); input clk; input [3:0] x_in; output [6:0] y; //因为数据最高位移动3位,所以y为输入数据位数+3位=7 reg [6:0] y; reg [2:0] x0, x1, x2, x3; //x0为输入3个数据的第0位:x20,x10,x00 //x1为输入3个数据的第1位:x21,x11,x01 //x2为输入3个数据的第2位:x22,x12,x02 //x3

文档评论(0)

花开半季 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档