利用GSM模块通过GPRS在GMSK调制方式下与IP网通信

随着当代通信技术的飞速发展,2G已经基本上淘汰,3G和4G也已经渗透入我们的生活,5G也开始由实验室走出,但是今天我要说的是第二代通信技术GSM与服务器通信。

GSM 全称为全球移动通信系统(Global System for Mobile Communications),俗称全球通。它起初是欧洲为工作于900 MHz 波段的通信系统所制定的标准,之后由于模拟通信系统的扩充能力有限,基于增加业务容量的需求而发展了该项技术,取得了全球性的成功。目前 GSM 已经成为当今最广泛认可的无线通信标准。GSM 系统包括 GSM-900(900MHz)、GSM-1800(1800MHz)及GSM-1900(1900MHz)等几个频段,而且这些频段只有 GSM 系统使用。同时 GSM 系统还采用了时分多址(TDMA)以及频分多址(FDMA)相结合的多址方式来提高频率的利用率。

1982 年北欧国家向 CEPT(欧洲邮电行政大会)提交了关于制定 900 MHz 频段公共欧洲电信业务规范的建议书,同时建立一个移动特别小组(Group Special Mobile),简称“GSM”。1986 年在巴黎,该小组对欧洲各国及公司提出的 8 个建议系统进行了现场试验。1987 年 GSM成员国就数字系统采用 TDMA、规则脉冲激励线性预测编码作为语音编码方式和使用高斯滤波最小频移键控(GMSK)调制方式达成一致意见。同年欧洲 17 个国家的运营商和管理者签署了谅解备忘录,同时成立了 MOU 组织,致力于 GSM 标准的发展。1990 年 MOU 组织完成了 GSM900 的规范,同时一共产生了大约 130 项的全面建议书,该建议书经过分组成为一套 12 个系列。1991 年在欧洲开通第一个 GSM 系统,同时 MOU 组织为该系统设计和注册了市场商标,将 GSM 更名为“全球移动通信系统”。从此移动通信进入第二代(即数字移动通信系统)。同年,移动特别小组还完成了制定 1 800 MHz 频段的公共欧洲电信业务的规范,名为 DCS1800 系统。该系统与 GSM900 具有相同的基本功能特性,因而该规范只占 GSM 建议的很小一部分,仅将 GSM900 和 DCS1800 之间的差别加以描述,两者绝大部分是通用的,故两系统通称为 GSM 系统。1992 年大多数欧洲 GSM 运营商开始商业运行。1994 年 GSM 进入我国。我国于 1995 年加入 MOU 组织。截至 2008 年,我国 GSM 用户总计超过 5 亿户,其中中国联通用户超过 1 亿,中国移动用户超过 4 亿。但是2015年,全球诸多GSM网络运营商,已经将2017年确定为关闭GSM网络的年份。之所以关闭GSM等2G网络,是将无线电频率资源腾出,用于建设4G以及未来的5G网络。

GSM都已经要被淘汰了,那为什么我还要说GSM呢?因为我手上有一个GSM模块,并且成功与远程服务器成功通信。其中GSM的系统结构如下图所示:

图一

而我设计的系统信号传递方向为MS→BTS→BSC→MSC然后利用GPRS让数据进入IP网然后服务器可以接收。GPRS的系统如下图所示:

图二

GPRS 网络是在 GSM 网络基础之上,新增两个节点——SGSN 和 GGSN 而形成的移动分组数据网络。因此,GPRS 的基本功能是在移动终端与计算机通信网络的路由器之间提供分组传递业务。GPRS 网络分成两个部分:无线接入和核心网络。无线接入部分在移动台与基站子系统(BSS)之间传递数据;核心网络在 BSS 和标准数据通信网络边缘路由器之间中继传递数据。

一个需要使用 GPRS 业务的移动台,首先需要通过一个信令过程,使自己附着到 GPRS网络。移动台从应用得到一个 IP 分组,然后,它请求分配信道。系统预留好时隙以后,给出应答。数据在预留的时隙内发送给 BTS,如果 BTS 正确地接收到完整的大块数据,应给出肯定应答。BTS 从空中链路协议拆掉封装,将数据发送给 SGSN。SGSN 将数据封装成传送协议,并且发送给 GGSN。GGSN 拆掉封装,检验分组的地址和协议,从而,能够选择出正确的路由。因此,分组能够通过 PSPDN 和路由器,到达接收方的本地局域网,最后传送给用户。具体过程如图三所示。

而GPRS采用的是GMSK的调制方式,所谓GMSK(Gaussian Filtered Minimum Shift Keying)是在MSK(最小频移键控)调制器之前插入高斯低通预调制滤波器这样一种调制方式,其原理如图四所示:

就移动通信而言,其所占用的带宽较宽,此外为了满足其功率谱在相邻频道取值低于主瓣峰值

60dB以上的要求,而GMSK调制方式由于具有较小的带外辐射特点,能够满足移动通信环境下对邻道干扰的的严格要求。

其高斯滤波器的传输函数为:

其中,a是与滤波器3dB带宽Bb有关的一个系数;其3dB带宽Bb定义为:

可见,改变a的时候,Bb也随之改变。


根据传输函数可求出滤波器的冲激响应为:

当输入脉冲为宽度等于Tb的矩形脉冲时,不同BbTb条件下的滤波器输出响应g(t)的波形如图六所示,由图可见,g(t)的波形随BbTb的减小而越来越宽,同时幅度越来越小,当BbTb≈0.25时,输入宽度为Tb的脉冲被展宽为3Tb的输出脉冲,相邻脉冲将产生重叠;即一个宽度等于Tb的输入脉冲,其输出将影响前后各一个码元的响应;同样它也受到前后两个相邻码元的影响。由此可以看出输入原始数据再通过高斯滤波器之后,已经不可避免地引入了“码间串扰”。

有意引入可控制的码间串扰,以压缩信号的频谱,解调判决时利用前后码元的相关性依然可以准确进行解调判决,这就是所谓的部分响应技术。GMSK就是利用了部分响应技术,它是一个记忆系统,通过引入可控的码间干扰来达到平滑相位路径的目的。而MSK为全响应系统,或称为零记忆系统。

GMSK可以用MSK调制器相同的正交调制方式来产生,只要在调制前先对原始数据信号用高斯型滤波器进行过滤即可;此外在原始信号进行高斯型滤波器进行滤波之后,直接对压控振荡器进行调频也能够生成GMSK信号,但是这种方法要求VOC的频率稳定度高,频偏准确性很好,这增加了制作难度,下面介绍一种实用的GMSK产生的方法,叫波形存储正交调制法。

图六

GMSK的表达式为:

其系统框图如图七所示

图七

在图八中横坐标为归一化频率(
f - f c ) Ts ,纵坐标为谱密度,参变量Bb
Ts 为高斯低通滤波器的归一化3 dB带宽Bb 与码元长度Ts的乘积。从图中可以看出,随着Bb Ts的减小,功率谱衰减明显加快。在GSM
系统中,要求在( f -f c ) = 1. 5时功率谱密度低于60 dB,从图上可以看出,Bb Ts= 0. 3时GMSK的功率谱即可满足GSM的要求。需要指出的是,
GM SK信号的频谱特性的改善是通过降低误码率性能换来的。前置滤波器的带宽越窄, 输出功率谱就越紧凑, 误码率性能就变得越差。

通过计算机模拟得到GMSK信号功率谱密度如图九所示,纵轴是以分贝表示的归一化功率谱密度!横轴是归一化频率(f-fc)Tb,参变量是预调制滤波器的归一化3dB带宽BbTb。从图中可以看到随着BbTb的减小,已调波频谱的主瓣宽度越窄,高频滚降越快,即功率谱衰减明显加快,这是我们希望得到的。但是BbTb不能选的太小,在GSM通信系统中,要求在(f-fc)Tb=1.5时,功率谱密度低于60dB,从图九我们可以得到当BbTb时,GSMK信号的功率谱即可满足GSM系统的要求。一般=0.2-0.3间即可。

从理论上讲,能把已调信号的全部功率都包括在内的带宽应是无限大。在工程上,要计

算已调信号的占用带宽,必须限定落入此带宽内的信号功率占信号总功率的比例。在规定接收机所需要接收的已调波总功率的百分比情况下,定义接收机解调前其矩形带通滤波器所需的归一化带宽BiTb为已调波占用的带宽。当BbTb取不同值时,GMSK信号号对应不同功率百分比时的占用带宽如图九所示。

图九

邻道干扰是指在两个信道频率间隔△f一定的情况下,落在邻道中的带外辐射功率与信

号总功率的比值。通过计算机模拟得到的相邻信道干扰如图十所示。图中纵轴是邻道干

扰的分贝数,横轴是归一化的信道间隔△fTb,参变量是BbTb。由图可见,当BbTb一定,即已调波总功率一定时,信道间隔△fTb越大,则邻道干扰就越小;反之则大。在信道间隔△fTb一定时,BbTb越小,则邻道干扰越小。

说完了调制,我们现在来说说解调。GMSK信号的解调可以用与MSK一样的正交解调电路。在相干解调中,最重要的是相干载波的提取,这在移动通信环境中是比较困难的,因此,通常采用差分解调和鉴频器解调等非相干方式解调。下面就介绍一比特延迟差分检测和二比特延迟差分检测的原理。

1.一比特延迟差分检测

一比特延迟差分检测器的原理如图十一所示,为了简便起见,不计输入噪声与干扰。设中频滤波器输出信号为

式中R(t)为时变包络;wc为中频载波角频率;θ(t)为附加相位函数。


                   图中乘法器的输出为:


                   经过LPF之后输出为:


                   当wcTb=2kπ(k为整数)时


式中R(t)和R(t-Tb)是信号的包络,永远是正。因而Y(t)的极性取决于相位差信息     △ θ(Tb);当输入“+1”时,附加相位函数θ(t)增大,即相位差信息△ θ(Tb)为正;当输入“-1”时,θ(t)减小,即相位差信息△ θ(Tb)为负,因此可以令判决门限为0,判决规则如下:

通过上述判决规则可以恢复出原来的数据。

2.二比特延迟差分检测

二比特延迟差分检测系统图如图12


乘法器输出为:

经过LPF后的输出信号为:


式中


当2wcTb=2kπ(k为整数)时

式中第一项为偶函数,在△ θ(Tb)不超过±π/2的范围时,它不会为负,它实际上反映的是直流分量的大小,对判决不起关键作用,但需要把判决门限增加一相应的直流分量γo,式中第二项为:

才是判决依据,为了恢复出原始数据,令其中的sin[θ(t)- θ(t-Tb)]对应于原始数据ak经差分编码后的ck,而sin[θ(t)- θ(t-Tb)]对应于ck-1,两者相乘等效于两者的模二加ck⊕ck-1,再根据差分编码规则ck=ak⊕ck-1,可得到ak
= ck⊕ck-1,即为解调输出。


由此可见,检测器只需设置一个判决门限γ,令判决规则为:

而在相应的发端,需对ak进行差分编码,如图13所示:

GMSK信号在衰落信道中传输时,检测的误码率和其他调制方式一样,与信噪比,多普勒频移等多种因素有关,当采用理想最大似然准则时,在大信噪比条件下,GMSK信号的误码率为


式中,no是在加性高斯白噪声的单边功率谱密度;erfc[]是互补误差函数,dmin是在t1~t2的时间间隔内,在希尔伯特观察空间中,信号与空号信号之间的距离d的最小值。其中d的定义为

式中U1(t)和U2(t)分别是相应于传号与空号传输时的等效低通复包络。

由于存在着码间干扰,所以GMSK信号的误码性能要比MSK信号差;且其误码率是BbTb的函数,因为高斯脉冲成形会影响码间干扰。如果要保证和MSK一样的误比特率,只有增加GMSK每比特内的能量信噪比,显然所需增加的每比特内能量信噪比的数量表示了符号间干扰的程度;或表示了由于符号间干扰所引起的误比特性能恶化的程度。所需增加的数量越大,说明性能恶化程度越大,反之越小。因此,恶化量与BbTb有关。而蜂窝移动无线系统取BbTb=0.25即可。

说完了GPRS的调制与解调,下面我们就可以将信号发送出去了。我的无线模块如图14所示:

条件限制,我只能使用以上的GSM模块,通过SIM卡以及通过AT指令让模块利用UDP协议发送数据到

139.129.33.103的指定端口,然后服务器通过运行的程序即可实现接收。效果图如下:

如图可以看出程序自动识别出来源地址为

221.192.180.243,通过查询可知该地址为河北石家庄联通。

以上,我完成了一个从GSM模块通过GMSK调制利用GPRS实现了与IP网的通信。

时间: 2024-07-30 13:49:39

利用GSM模块通过GPRS在GMSK调制方式下与IP网通信的相关文章

GSM模块_STM32实现GPRS与服务器数据传输经验总结

硬件环境 MCU:STM32F103RET6 (调试器:J-Link) GSM模块:Ai-Thinker_A6 (安信可)(还需要配一个串口打印工具,当初选这个模块纯粹是因为价格是最便宜的) ------------------------------------------------------------------------- 软件环境 Keil4 ---------------------------------------------------------------------

GSM模块_GPRS数据传输机制和原理

通信专业术语 BSS--基站子系统,通过无线接口与移动台直接联系,负责在一定区域内和移动台通信.(GSM) BTS--基站收发台,可以看作一复杂的无线调制器,BSS的主要部分,每个分配有若干信道.(GSM) RBS--Radio Base Station,无线基站:RBS是基站内所有设备的总称,在GSM规范中对应的主要部分是BTS,它由BSC来控制,用来提供移动台与系统的无线接口,它是CME20系统中的无线设备部分,主要由无线收发信机构成. BSC--基站控制器,其功能是作为无线电设备与MSC的

如何使用Arduino和SIM900A GPRS / GSM模块将数据发送到Web服务器

今天我们在这里介绍一个非常有趣的项目,我们将使用Arduino开发板和GPRS将数据发送到SparkFun服务器.这是一个基于IoT的项目,我们将使用GSM模块SIM900A将一些数据发送到互联网上的Web服务器. 在这个项目中,我们将使用4x4数字键盘输入一些文本,并使用Arduino和GPRS将其发送到SparkFun网站,从那里您可以通过互联网在任何地方看到这些数据.在这里,我们还连接??了一个16x2液晶显示器,以便在本地查看数据.这种数据发送技术在物联网项目中非常有用,您可以在世界上任

通信算法之十四:GMSK调制与解调仿真链路,DSP软件无线电实现

一. GMSK调制信号产生,软件无线电DSP实现流程 二. GMSK解调,一比特差分解调,DSP实现流程 三. 基于软件无线电的架构思路,已经DSP实现和优化,符合工程项目 四.参考文献 <GSM通信系统GMSK的DSP实现> <GMSK调制解调及其TMS320C6xxxDSP实现> 五.如需要工程项目,GMSK调制与解调的,matlab仿真链路代码,及DSP之C语言程序,请联系QQ:1279682290

GMSK调制仿真

GMSK 调制的的原理非常简单. 就是MSK调制前进行Gauss滤波. 在实现中有这样的方法,首先产生高斯系数,对称的上升陂和下降陂系数.输入一个符号,进行上采样,经过高斯滤波器,滤波器的输出做有符号的累加. 累加的输出与上限值和下限值比较,即大于PI的值减去2PI或者小于-PI的要加上2PI.把结果送到CORDIC中产生正弦和余弦波形,即GMSK波形. 实际在modelsim 中实现滤波器的时候,用加法替代了乘法运算.设置一个数据长度和系数长度等长的数据寄存器或者说RAM. 输入一个符号,如果

利用perl模块发邮件

vim sendmail.pl #!/usr/bin/perl -w use MIME::Lite; sub perl_sendmail {         my $mail_to=shift;         #my $mail_to="$_[0]";         my $from=shift;         #my $from = "$_[1]";         my $subject=shift;         #my $subject = &quo

[Python] 利用commands模块执行Linux shell命令

用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数: 1. commands.getoutput('shell command') 执行shell命令,返回结果(string类型) >>> commands.getoutput('pwd') '/home/oracle' 2. commands.getstatus('file') 该函数

nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录

geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module.ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址.geo指令语法: geo [$address] $variable { ... }默认值: -配置段: http定义从指定的变量获取客户端的IP地址.默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得.例

后端Nodejs利用node-xlsx模块读取excel

后端Nodejs(利用node-xlsx模块) /** * Created by zh on 16-9-14. */ var xlsx = require("node-xlsx"); var list = xlsx.parse("/home/zh/桌面/API_BTN_DS2_zh_excel_v2.xlsx"); console.log(list[2]['name']); for(var rowid in list[2]['data']){ row=list[2]