通信原理实验报告
“GMSK 调制器”系统实验
指导老师 韩玉芬
学生姓名
班级学号
联系电话
电子邮件
报告日期 2010 年 5 月 20 日
信息与通信工程学院实验中心创新实验室
“GMSK 调制器”系统实验
“GMSK 调制器”系统实验
摘要
本次实验主要通过数字基带处理方法来实现 GMSK 调制器的算法,目的
在 于 使 学 生 对 硬 件 实 现 有 一 新 的 认 识 及 新 的 思 路 , 同 时 进 一 步 掌 握
MAX+PLUS2 及可编程逻辑器件的应用,学会用 MATLAB 软件进行相位路径,
仿真眼图,量化编码的编程,学会正确进行 ROM 芯片的擦写,并且使学生进一
步理论联系实际,并培养学生科学谨慎的实验态度及提高实际动手能力。
本次实验内容主要包括 GMSK 相位路径的计算,GMSK 眼图的仿真以验
证相位计算的正确性,正余弦表的量化及 bin 文件的生成,以及用 VHDL 硬件
语言所描述的基于 EPM7128 的地址逻辑.
通过该实验,可以得出结论:GMSK 调制器输出的恒包络连续相位调制信
号的相位路径更为平滑,功率谱旁瓣衰减更快。对恒包络的已调信号我们就
可以使用功率效率高的非线性放大器,相位连续使已调信号功率谱主瓣窄且
带外衰减快,降低对临道的干扰,因此 GMSK 频谱利用率较高。
Abstract
In this experiment,we use digital baseband processing method to fulfill
the arithmetic of GMSK ‘s modulator. The main purpose is to give the
students a new knowledge of hardware , to make the students master
MAX+PLUS2 and the application of programmable logic device(PLD ) ,to
programe about
phase path , eyechart simulation , quantification and
coding
with the help of MATLAB,to erase and write the ROM chip
correctly ,to make the students put the theory into pratice ,to cultivate the
scientific and cautious attitude and also to improve capability of the
performance.
The experiment is consist of the calculation of the phase path ,the
simulation of the eyechart ,the quantification of the sin and cos function ,the
creation of the bin files and address logic with the hardware description
language VHDL .
We can draw the conclusion from the experiment:The signal output by
the GMSK modulator has a constant envelop and continuous phase path. Its
phase path gets smoother, with faster fading in its side- lobes of power
spectrum. For the modulated signal with constant envelop, we may use the
non-linear amplifier due to its high-efficiency power. Continuous phase
guarantees the modulated signal a more narrow main-lobe and fast fading
outside the band, which, also decreases the interference to the neighbor band.
Thus,the GMSK power spectrum gains high efficiency.
关键词(Key Words):GMSK,调制(Modulation),眼图(Eye Figure),仿真(simulation)
第 页 共 16 页
“GMSK 调制器”系统实验
1.方案论证
此次实验思路清晰,即是算出相位(t)后,将 cos()和 sin()离散化,
制成表并固化在 ROM 中。由随机数据{bn}形成 ROM 表的地址,根据地址取出 ROM
中相应的基带信号离散值,再利用 MATLAB 编程得到基带波形的输出,即可观察
到仿真眼图。将高低位编程分别下载到 EPROM 上,可在示波器上观察到相同眼图。
1. 1 方案实现步骤
1) 算出 Gauss 滤波器矩形脉冲相应 g(t);
2) 利用对 g(t)的积分、求和函数算出相位(t);
3) 设计出 f(t)的余弦和正弦表,固化在 ROM 中;
4) 对 ROM 表中的每一个样值进行 10bit 量化,按照地址逻辑存放数据文件;
5) 由{bn}取出 sin 和 cos 的离散值,利用计算机绘图程序得到基带波形输出;
6) 对 EPROM 进行编程下载,在示波器上观察眼图。
2.系统设计
2.1 总体设计
2.1-1 原理模块框图
时钟
f=170MHz
计数器
l=0,1,2,3,4,5,6,7
象限计数器
L=∑bn
3 位
2 位
2kb
5 位
1kb
kb
1kb
2kb
五位移存量
{bn}
2.1-2 模块工作原理说明
R
O
M
余
弦
表
R
O
M
正
弦
表
D
A
C
D
A
C
L
P
F
L
P
F
cos
cosw(t)
sinw(t)
sin
G
M
S
K
虚框内表示地址逻辑,功能是取出所需要的采样量化点。ROM 表中存放的是
1024 个点的余弦值和正弦值。DAC 是模数转换,即将 1024 个数据进行量化,又
计算机绘图程序实现。LPF 是低通滤波器,可抑制高频分量,减少副主瓣对功率
谱的影响。
第 页 共 16 页
“GMSK 调制器”系统实验
2.2 各模块设计及参数计算
地址逻辑模块实现如下:
上面箭头表示时钟输入,下面箭头表示随机序列{an}经预编码后形成的
{bn},对它进行五位移存,通过 L 一个四象限计数器,再经一个模为 8 的计数器。
故一共抽出 2 的 10 次方即 1024 个点。在 Matlab 中用三个嵌套的 for 循环实现。
正、余弦表表示将 1024 个点取 cos 和 sin 值,写入该表。可建立一个 1*1024
的矩阵来显示。
仿真时,只需取出 1024 个点的正、余弦值量化后,写入正、余弦表,再将
其根据芯片的地址进行扩容,即可进行仿真、下载。
2.3 软件系统设计
Gauss 滤波器矩形脉冲相应 g(t)用函数 erfc 实现;
(t)用对 g(t)的积分和求和函数实现
(t)= (kT)+ △(t)
(kT)=pi*
kT
k
2
bn
2
kn
(
n
(
tg
)2
T
nT
T
)2/
dt
+L*pi/2
△(t)= pi*
t
k
2
bn
2
kn
kT
(
tg
nT
T
)2/
dt
为积分方便,可改变积分限;
画眼图时,将 plot(t, )改为 plot(t,cos)即可;
正、余弦表可以是 1*1024 的矩阵,将(t)的 1024 个点的正、余弦值抽样
量化后写入;
在下载前,还需要根据芯片容量对其进行扩容,分为高低位,扩展后分别是
1*8192 的矩阵。
第 页 共 16 页
“GMSK 调制器”系统实验
2.3-1 系统软件流程图
设计 g(t)
设计(t)
抽样 sin(t), cos (t)
对抽样值量化
写入正、余弦表
进行扩容
下载芯片
绘制眼图
具体编程时,我们分了三个模块:g(t), f(t)和抽样量化。程序更加简洁,修
改比较方便。每一模块几乎独立完成自己的功能,从数据结构的观点看,程序有
很好的封装性。
2.3-2 各模块子程序流程图及设计说明
余弦表与正弦表的设计流程
开始
输入抽样点数(抽 8 个比特),量化电平数 Q=10,BT=0.3,状态组合数 b[32],L[4]
GMSK 预调制滤波器的矩型脉冲
响应 g(t)子程序
第 页 共 16 页
“GMSK 调制器”系统实验
象限计数器 L=0,1,2,3
状态数 n=0,1,…,31
f(0)=pi*
2
j
2
)(
nbj
(
j
0
(
tg
)2
T
jT
T
)2/
dt
+L*pi/2
t=T/8
i=0,1,2,3,4,5,6,7
i=i+1
△f(t)= pi*
2
j
2
)(
nbj
t
0
(
tg
jT
T
)2/
dt
计算 cosf(k)和 sinf(k)
结束
程序说明:
1) 编写 GMSK 预调制滤波器的矩型脉冲响应 g(t)子程序;
2) 计算(t);
3) 计算 cos(t)和 sin(t);
4) ROM 表中的每一个样值进行 10b 量化,按照地址逻辑存放数据文件。
第 页 共 16 页
“GMSK 调制器”系统实验
眼图设计流程
开始
设置取样点数(每比特 8 个抽样点),每样值量化电平数 Q=10
产生 232-1 m 系列伪随机序列
起始地址为 0000000000
先取四位随机码作为初始值
M=0,times
取下一位信息码
形成 7 位地址逻辑(含 2 位象限数及 5 位信息随机码)
i=0,1,2,3,4,5,6,7
取 ROM 中的值
转换成实际值
将此值转化为屏幕上一点
清屏幕
结束
程序说明:
1) 开辟空间存入 ROM 表及伪随机序列;
第 页 共 16 页
“GMSK 调制器”系统实验
2) 根据所用的 ROM 表确定抽样频率 fs=8fb(fb=270.833KHz),即一个码元时间内
有 8 个抽样值,每样值的量化电平是 10,并设初始相位是 0,即起始地址是
0000000000;
3) 确定读取信号的数目为 10*times;
4) 由 bk-2,bk-1,bk,bk+1,bk+25 个码元及象限 L 形成地址逻辑获得 ROM 表中的 7 位地
址;
5) 再取三位地址码,顺序取出 i=0,1,2,3,4,5,6,7 个抽样量化值,由 10 位地址逻
辑找到 ROM 中基带波形的位置,将其转换成实际值,存入一个数据文件用
于功率谱仿真,共有 1*times*n 个值(n=8);
6) 根据产生眼图的原理,将每次扫描结果叠加而成,删除程序中清屏幕命令,
即可看到眼图;
7) 改变 ROM 表,相应改变每比特抽样个数 n 及量化电平。
3.系统调试
3.1 软件调试
g(t)的实现
T=3.6923*10^(-6);
N=256;
B=0.3/T;
a=1/B*sqrt(log(2)/2);
t=[-5*T:T/N:5*T];
g=(erfc(pi*(t-T/2)/a)-erfc(pi*(t+T/2)/a))/(4*T);
plot(t,g)
xlabel('时间 t/s')
ylabel('g(t)')
text(0.6*10^(-5),8*10^(4)','BT=0.3')
g(t)图像如下
第 页 共 16 页