《通信原理GMSK实验报告9934.pdf》由会员分享,可在线阅读,更多相关《通信原理GMSK实验报告9934.pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、邮电大学 通信原理实验 实验报告 实验名称:高斯最小移频键控(GMSK)调制器实验 学院:信息与通信工程学院 班级:2010211123 XX:X 伟强 学号:10210958 教师:韩老师 1/26 目录 一、实验目的.2 二、实验内容.2 三、实验原理.2 1、GMSK 调制器工作原理及相位路径的计算.2 2、数字信号处理方法实现 GMSK 调制器.4 四、实验步骤.5 五、系统设计.6 1、总体设计.6 2、软件部分.6 3、硬件部分.16 六、拓展部分.20 七、故障与解决方法.22 1、软件部分.22 2、硬件部分.24 八、心得体会.25 2/26 一、实验目的 1、通过利用数字基
2、带处理方法来实现高斯最小移频键控(GMSK)调制器算法的基带硬件实验,对通信系统硬件实现有新的认识及新的思路。2、掌握 MAX+plusII 及可编程器件的应用。3、学会 C 语言或 Matlab 软件进行 GMSK 相位路径及仿真眼图的编程。4、正确使用测试仪表。5、理论联系实际,培养科学实验态度,提高实际动手能力。二、实验内容 1、了解 GMSK 调制器工作原理,推导 GMSK 信号相位路径的计算公式,掌握 GMSK 调制器数字化实现的原理。2、掌握 GMSK 调制器数字化、实现地址逻辑的工作原理,用可编程逻辑器件实现地址逻辑的设计,并仿真各点波形,分析检验其时序逻辑关系。3、了解 GMS
3、K 相位路径的编程流程图,并用计算机编出相位路径(t)的余弦及正弦表。4、为了检验所编码表的正确性,可进一步利用计算机软件检验从上述码表得出的 GMSK基带波形的眼图与理论计算是否一致,若两者一致,说明所编码表正确,可将它写入EPROM 中,并将 EPROM 片子插在 GMSK 调制器硬件实验板上。5、在通信实验板上,正确使用测试仪表观看 GMSK 基带信号眼图。(1)用示波器观看 GMSK 基带信号眼图;(2)用逻辑分析仪观看地址逻辑电路各点波形及其时序关系;(3)用频谱仪观看 GMSK 调制器基带波形的功率谱。6、按上述要求写出实验报告。三、实验原理 1、GMSK 调制器工作原理及相位路径
4、的计算 MSK 调制可以看成调制指数 h=0.5 的 2FSK 调制器,为了满足移动通信对发送信号功率谱的带外辐射要求,在 MSK 调制前加入高斯滤波器,因而 GMSK 具有恒包络,连续相位的特点,其旁瓣衰减比 MSK 更快,频谱利用率更高。产生 GSMK 信号的原理图如下。GMSK 信号为()=+()=()()相位路径为()=2()=3/26 其中,g(t)为 BT=0.3 高斯滤波器矩形脉冲响应,调制指数 h=0.5,bn为双极性不归零码序列的第 n 个码元,bn为+1 或-1。高斯低通滤波器的传输函数为)exp()(22fafH 式中,a是与高斯滤波器的 3dB 带宽bB有关的一个常数。
5、由 3dB 带宽定义有 21)(2bBH 即 1222)2exp(bBa 所以 5887.02ln21baB 由此可见,改变bBa,将随之改变。滤波器的冲激响应为 2exp)(taath 由式看出,)(th不是时限的,但它随2t按指数规律迅速下降,所以可近似认为它的宽度是有限的。由于它的非时限性,相邻脉冲会产生重叠。如果输入为双极性不归零矩形脉冲序列)(ts:nnbnanTtbats1),()(式中,其他,0201)(bbTtTtb 其中,bT为码元间隔。高斯预调制滤波器的输出为 nbnnTtgathtstx)()()()(式中,高斯滤波器矩形脉冲响应为()=()()=122(2)2(+2)其
6、中()=12(22)当取不同值时,高斯滤波器的矩形脉冲响应g(t)如下图所示。4/26 经计算,BTb=0.3 的高斯滤波器的()的积分面积为 1/2,且满足以下条件()122.52.5 ()0|2.5 所以,对于BT=0.3的高斯滤波器,取g(t)的截短长度为5T来计算GMSK信号的相位(t),就可达到足够精度。由于 g(t)在 5T 时间区间呢的积分面积为 1/2,所以 BT=0.3 的 GMSK 相位路径计算大为化简。在 (+1)期间,BT=0.3 的 GMSK 的相位为()(2)+2=22)+2 L=3=(取模 4)具体计算如下。在 (+1)时()=()+()()=(2)+2(2)+2
7、=2()=(2)+2=2 2、数字信号处理方法实现 GMSK 调制器 在算得()后,即可算出cos()及()值。在工程上,首先将cos()及()离散化,制成表,固化在 ROM 中。由随机数据形成 ROM 表的地址,根据地址取出 ROM中相应的基带信号离散值,然后利用 D/A 将其数模变换成模拟基带信号cos()和(),再由正交调制器将基带频谱搬移至载频上。本实验的电路原理如图所示。5/26 在上图中,虚框内表示地址逻辑,功能是取出所需要的采样量化点。ROM 表中存放的是 1024个点的余弦值和正弦值。DAC 是模数转换,即将 1024 个数据进行量化,可以通过计算机绘图 plot 函数实现。由
8、于存在着采样造成的副主瓣,影响了功率谱特性,因此必须在 D/A 后加低通滤波器来抑制高频分量,减少副主瓣对功率谱的影响。选用在上图中,虚框内表示地址逻辑,功能是取出所需要的采样量化点。ROM 表中存放的是 1024 个点的余弦值和正弦值。DAC 是模数转换,即将 1024 个数据进行量化,又计算机绘图程序实现。LPF 是低通滤波器,可抑制高频分量,减少副主瓣对功率谱的影响。选用 3dB 带宽为 330kHz 的 6 阶贝塞尔低通滤波器,数模变换后的基带信号经低通滤波器后的功率谱满足 GSM05.05 建议的要求。四、实验步骤 1、仔细推导()、()的计算公式。2、编写 GMSK 高斯滤波器的矩
9、形脉冲响应()子程序,并绘制()的函数。3、编写计算()的程序。4、编写计算cos()及()的程序,并设计余弦及正弦 ROM 表。5、将余弦和正弦码表中的每个样值的 10bit 码字,按照地址逻辑进行存放,并用 matlab 程序实现。6、得到 ROM 存储的基本波形表,利用信号源产生的伪随机序列 a 经预编码后得到 ,经过地址逻辑运算由 ROM 中顺序取出cos()及()的离散值,然后利用计算机绘图程序(功能相当于数模变换 DAC),得到基带波形的输出,观察仿真眼图。7、把得到的正余弦表进行数字量化,写入 BIN 文件,下载到硬件系统中,通过示波器观察实际硬件实现的 GMSK 信号眼图。6/
10、26 五、系统设计 1、总体设计 2、软件部分 系统软件流程图如下图所示。7/26 开始设计g(t)相位路径(t)8bit抽样得到cos(t)和sin(t)写入正余弦表由地址逻辑取出离散值仿真眼图的绘制量化写入BIN文件下载至系统,示波器观察眼图波形 (1)()函数的产生 思路:了解到 Matlab 内置有 erfc 函数,可以通过erfc(x)的表达式,得到Q(t)的表达似式,从而根据设定的时间等参数得到()的表达式,然后在2.5T,2.5T内用 linspace 取 1000个点作图可以得到()的图像。具体编程实现如下(gt_m.m):代码:function gt=gt_m(t)%计算g(
11、t)clc;clear;T=1/270833;B=0.3/T;a=1/B*sqrt(log(2)/2);t=linspace(-2.5*T,2.5*T,1000);gt=1/(2*T)*1/2*(erfc(pi/a*(t-T/2)-erfc(pi/a*(t+T/2);plot(t,gt);title(BT=0.3时,高斯滤波器矩形脉冲响应g(t);xlabel(t(限定在5TX围内);ylabel(g(t);8/26 end 可以得到图像如下图所示:(2)相位路径()与()及()的码表的产生 思路:首先由于每一个相位路径是由 5 个码元所组成的,先要编写四个象限的表,将所有情况全部罗列出来。然
12、后根据相位路径产生的公式,借助 matlab 中的积分 quad 函数,计算相位路径(),最后得到cos()及(),分别用一个 1*1024 的矩阵来表示。具体编程实现如下(p.m)。流程图如下所示:9/26 开始输入抽样点数(抽8个比特),量化电平数Q=10,BT=0.3,状态组合数b32,L4GMSK预调制滤波器的矩型脉冲响应g(t)子程序生成b32码表状态数n=0,1,.31象限计数器L=0,1,2,3(0)t=T/8 i=0,1,2,3,4,5,6,7i=i+1(t)计算cos(t)和sin(t)结束 代码:clc;clear;T=1/270833;10/26 B=0.3/T;a=sq
13、rt(log(2)/2)/B;t=linspace(-2.5*T,2.5*T,1024);g=(t)(0.5*erfc(pi*(t-T/2)/a)-0.5*erfc(pi*(t+T/2)/a)/(2*T);%g(t)b=zeros(32,5);for n=0:31%将n转化为二进制 m=n;for j=4:-1:1 if floor(m/2j)=1 b(n+1,5-j)=1,m=m-2j,end;end;b(n+1,5)=m;for i=1:5 if b(n+1,i)=0 b(n+1,i)=-1;end;end;end;pa=;for n=0:31 for L=0:3 fai=0;for j=
14、-2:2 fai=fai+pi*b(n+1,j+3)*quad(g,-2.5*T,-j*T-T/2);end fai=fai+L*pi/2;for i=0:7 delta=0;for j=-2:2 delta=delta+pi*b(n+1,j+3)*quad(g,-j*T-T/2,i*T/8-j*T-T/2);end pb=fai+delta;pa=pa,pb;end end end%plot(t,pa)s=sin(pa);%正弦表 c=cos(pa);%余弦表 save(sin.mat,s);save(cos.mat,c);(3)眼图的绘制 思路:得到ROM存储的基本波形表后,利用信号源产生
15、的伪随机序列a经预编码后得到,经过地址逻辑运算由ROM中顺序取出cos()及()的离散值,然后利用计11/26 算机绘图程序(功能相当于数模变换DAC),得到基带波形的输出,观察仿真眼图。流程图如下:开始设置取样点数(每比特8个抽样点),每样值量化电平数Q=10产生232-1 m序列伪随机序列起始地址为0000000000先取四位随机码作为初始值TIMES=1000M=0取下一位信息码形成7位地址逻辑(含2位象限数及5位信息随机码)I=0,1,2,3,4,5,6,7取ROM中的值转换为实际值将此值转化为屏幕上一点清屏结束 说明:A、开辟空间存入ROM表以及伪随机序列。B、根据所用的 ROM 表
16、确定采样频率=8(=270.833),即一个码元时间内12/26 有 8 个抽样值,每样值的量化电平是 10,并设初始相位是 0,即起始地址是 0000000000。C、确定读取信号的数目为 10*TIMES,即每十个码元时间的波形显示于同一屏幕。共显示TIMES 次。D、由 bk-2,bk-1,bk,bk+1,bk+25 个码元及象限 L 形成地址逻辑获得 ROM 表中的 7 位地址;E、再取三位地址码,顺序取出 i=0,1,2,3,4,5,6,7 个抽样量化值,由 10 位地址逻辑找到 ROM中基带波形的位置,将其转换成实际值,存入一个数据文件用于眼图仿真,共有 10*TIMES*n个值(
17、n=8);F、根据产生眼图的原理,将每次扫描结果叠加而成,删除程序中清屏幕命令,即可看到眼图;代码:close all;%仿真眼图 p;%将ROM表导入 m=223-1;%伪随机序列个数 TIMS=500;%显示次数 k=5;t=1:80;bcos=zeros(1,80);bsin=zeros(1,80);seq=round(rand(1,m);%产生伪随机序列 an=0,seq(1:4);%初始4位随机码 figure(1);for i=1:TIMS for j=0:9 an=an(2:5),seq(k);%取下一位信息码 n=an(1)*16+an(2)*8+an(3)*4+an(4)*2
18、+an(5);if(k=5)L=0;else seq(k-5)=2*seq(k-5)-1;L=L+seq(k-5);end;k=k+1;L=mod(L,4);num=n*32+L*8;for n=0:7 bcos(j*8+n+1)=c(num+n+1)+1;%取ROM中的余弦值 bsin(j*8+n+1)=s(num+n+1)+1;%取ROM中的正弦值 end;end;plot(t,bcos);hold on;title(cos眼图);13/26 end;眼图仿真波形图:(4)量化并生出 BIN 文件 思路:为了将眼图在示波器上显示,首先将正余弦表进行 10bit 单极性量化,量化 X 围14
19、/26 为 0-1023。由于选用的芯片 ROM 为 8K。根据硬件逻辑地址,量化后的正余弦高两位、低八位分别放在不同的芯片里,所以需要三个 BIN 文件。两个 BIN 文件写入 cos 和 sin 的低八位,一个 BIN 文件写入 cos 和 sin 的高两位,sin 在前,cos 在后。另外,由于硬件电路图是用了A12A3 的信号,所以 A2、A1、A0 是没有用的,在写入 BIN 文件前需要在每两个量化结果之间插入 7 个 0 作为低位,即对每一个 BIN 文件进行扩容,否则会出现眼图无法正常显示的现象。代码:cosbin=zeros(10,1024);sinbin=zeros(10,1
20、024);p;%将ROM表导入 c1=(c+1)*511.5;%值为0-1023 c2=(s+1)*511.5;for i=1:1024 m=c1(i);for j=9:-1:1 if floor(m/2j)=1 cosbin(10-j,i)=1;m=m-2j;end;%量化为10bit end;cosbin(10,i)=floor(m);end;for i=1:1024 m=c2(i);for j=9:-1:1 if floor(m/2j)sinbin(10-j,i)=1;m=m-2j;end;end;sinbin(10,i)=floor(m);end;coslow=zeros(1,1024
21、);sinlow=zeros(1,1024);cossin=zeros(1,1024);for i=1:1024%生成3片ROM coslow(i)=cosbin(3,i)*27+cosbin(4,i)*26+cosbin(5,i)*25+cosbin(6,i)*24+cosbin(7,i)*23+cosbin(8,i)*22+cosbin(9,i)*2+cosbin(10,i);sinlow(i)=sinbin(3,i)*27+sinbin(4,i)*26+sinbin(5,i)*25+sinbin(6,i)*24+sinbin(7,i)*23+sinbin(8,i)*22+sinbin(9
22、,i)*2+sinbin(10,i);cossin(i)=sinbin(1,i)*27+sinbin(2,i)*26+cosbin(1,i)*2+cosbin(2,i);end;coslowbin=zeros(1,1024*8);sinlowbin=zeros(1,1024*8);cossinbin=zeros(1,1024*8);for i=1:1024%由1K向8K扩容 coslowbin(i*8-7)=coslow(i);15/26 sinlowbin(i*8-7)=sinlow(i);cossinbin(i*8-7)=cossin(i);end;fidcos=fopen(cosbin.
23、bin,w);fwrite(fidcos,coslowbin);fidsin=fopen(sinbin.bin,w);fwrite(fidsin,sinlowbin);fidcossin=fopen(cossin.bin,w);fwrite(fidcossin,cossinbin);fclose(all);产生的 BIN 文件如下图所示:cos 和 sin 的高两位合成的 BIN 文件 cos 低八位的 BIN 文件 16/26 sin 低八位的 BIN 文件 3、硬件部分 硬件我们采用的是 GMSK 调制器通信系统实验箱,紫外线擦除器,40MHz 双踪同步示波器,双 16V(1.5A)直流稳
24、压电源,28 管脚 ROM 编程器。由实验原理分析可知,地址逻辑可由伪随机序列an经预编码后得到bn,再经地址逻辑运算形成。电路设计可分为时钟分频、伪随机序列的产生、地址逻辑的生成 3 部分。其中时钟分频和伪随机序列产生可由 VHDL 语言实现,地址逻辑的生成可由硬件之间的连线实现。下面利用 Quartus 软件环境完成硬件仿真。(1)地址逻辑框图 利用 Quartus 软件得到的地址逻辑电路图如下图。其中 clockmgdf 器件是时钟脉冲发生器以及伪随机序列发生器;DATA 为伪随机输出信号,17/26 A5、A4、A3 为 8 个采样值的逻辑地址码,分别为,2,4,=270.833kHz
25、为码元速率;A6、A7 为两位象限逻辑地址码,对应 L 从 0 到 3;A8、A9、A10、A11、A12 为 5 为信息地址码。其中 clockmgdf 时钟脉冲发生器的 VHDL 代码为:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clockmgdf is port(CLK:in std_logic;A3:out std_logic;A4:out std_logic;A5:out std_logic;DATA:out std_logic );end;architecture
26、a of clockmgdf is signal adr:std_logic_vector(2 downto 0);signal m:std_logic_vector(22 downto 0):=(others=0);signal n:integer range 0 to 7;begin process(CLK)begin if(CLKevent and CLK=1)then if n=7 then n=0;if m=0 then m(0)=1;else m=m(21 downto 0)&(m(0)xor m(22);end if;else n=n+1;end if;adr=adr+1;end
27、 if;end process;A3=adr(0);A4=adr(1);A5=adr(2);DATA=m(0);18/26 end;伪随机序列发生器 addrlogic 的 VHDL 代码为:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity addrlogic is port(DATA:in std_logic;A5:in std_logic;A6:out std_logic;A7:out std_logic;A8:out std_logic;A9:out std_logic;A10:
28、out std_logic;A11:out std_logic;A12:out std_logic );end;architecture a of addrlogic is signal DataTemp:std_logic_vector(4 downto 0):=00000;signal L:std_logic_vector(1 downto 0):=00;begin process(A5)begin if(A5event and A5=0)then if(DataTemp(4)=0)then L=L-1;else L=L+1;end if;DataTemp=DataTemp(3 downt
29、o 0)&DATA;end if;end process;A6=L(0);A7=L(1);A8=DataTemp(0);A9=DataTemp(1);A10=DataTemp(2);A11=DataTemp(3);A12=DataTemp(4);end;19/26 (2)输出波形 计算机仿真逻辑的输出波形为:(3)器件编程 将文件下载到 GMSK 通信系统实验箱通信实验板,用逻辑分析仪或存储示波器观测地址逻辑波形。其中管脚分配如下:地 址线 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 管 脚号 46 68 67 65 64 63 61 60 49 48 (4)硬件调试步骤
30、 A、用编程器将量化后的码表的二进制 bin 数据文件下载到 ROM 中,在将下载成功的芯片插在 GMSK 通信实验板上,注意芯片的位置和方向;B、将 GMSK 通信实验板上的 JTAG 接口与计算机相连;C、将双路稳压电源调整为16V;D、接通电源,用示波器观察余弦cos()经过低通滤波器 LPF 后的输出波形,与 Matlab 软件仿真的眼图比较。20/26(5)示波器输出眼图 六、拓展部分(1)眼图的功率谱密度 思路:仿真功率谱密度与仿真眼图类似,都是使用伪随机序列提供地址逻辑,最后生成的值运用编写的 t2f 函数进行傅立叶变换,再平方,运用对数刻度将其 plot 即可仿真功率谱密度。代
31、码:p;fs=2.166664*106;%采样速率(Hz)m=27;%采样点数 21/26 T=(m-4)/270833;%时域X围(时域点数)df=1/T;f=-fs/2+df:df:fs/2;%频域X围(频域点数)bn=round(rand(1,m);tmp=0,bn(1:4);%b(k-2)至b(k+2)数据暂存器 k=5;bcos=;for i=1:m-4%bn取值X围为1至m tmp=tmp(2:5),bn(k);n=tmp(1)*16+tmp(2)*8+tmp(3)*4+tmp(4)*2+tmp(5);%对应数列中位置的高5位 if k=5 L=0;else bn(k-5)=2*b
32、n(k-5)-1;%预编码 L=L+bn(k-5);end;L=mod(L,4);%L取模4 k=k+1;num=n*32+L*8;%对应数列中的实际地址 bcos(i*8-7:i*8)=c(num+1:num+8);%8位采样点 end;S=t2f(bcos,fs);Eg=abs(S).2;plot(f,10*log10(Eg);xlabel(f(Hz);ylabel(dB/Hz);title(GMSK功率谱密度图);其中关于t2f的傅立叶变化的t2f.m如下:%傅里叶正变换 function S=t2f(s,fs)%s代表输入信号,S代表s的频谱,fs是采样频率 N=length(s);%
33、样点总数 T=1/fs*N;%观察时间 f=-N/2:(N/2-1)/T;%频率采样点 tmp1=fft(s)/fs;tmp2=N*ifft(s)/fs;S(1:N/2)=tmp2(N/2+1:-1:2);S(N/2+1:N)=tmp1(1:N/2);S=S.*exp(j*pi*f*T);end 生成的功率谱仿真图如下图所示(由于产生的是随机序列,每次生成的功率谱密度都不相同):22/26 七、故障与解决方法 1、软件部分 问题 1、生成的眼图如下图所示:23/26 解决方法:经检查,在计算()的时候对于码表的遍历,for 循环出现了问题。按照课本上,应该是先对 L 进行遍历,再对进行遍历,结
34、果就出现了上图的眼图。最后考虑了逻辑,应该先对进行遍历,再对 L 进行遍历。结果就产生了正确的眼图。书本上的流程图出现了错误。问题 2、积分函数的选取 解决方法:matlab 含有很多的积分函数,由于本题的函数是带有变量的。经过查找资料,我选用了 quad 函数可以对函数的积分。Quad 函数我使用了变限积分的形式,将积分的下限转换到 quad 函数中,如quad(g,-2.5*T,-j*T-T/2)。问题 3、生成的眼图如下图所示:24/26 解决方法:在生成眼图的时候,由于一开始是生成 4 位随机码,后来不断取下一位信息码。而在我的代码中将取得的下一位信息码的 5 位码却没有再赋给原来变量
35、,导致循环无法进行下去。五位码一直为相同的初始值,所以导致了上图的出现。经过更改变量后出现了正确的眼图。问题 4、眼图生成的 M 序列出现问题 解决方法:经过网上查找资料,我找到了 idinput 函数,这可以生成 m 序列。可是当我输入至 matlab 中,matlab 输出非常缓慢,达不到实验要求。后来我换成了 rand 函数进行输出。问题 5、最后硬件示波器显示的波形不正确 解决方法:在生出 BIN 文件的时候,cos 和 sin 的高 2 位写的顺序出现了错误,应该是sin 写在高两位,cos 写在低两位。而我由于出现相反,导致最后出现的波形出现错误。生出 BIN 文件时,由于硬件逻辑
36、地址是 A12 到 A3,A2、A1、A0 是接地的,所以量化之后每个数之后要添加 7 个 0,即扩容,才能与硬件逻辑地址相对应。2、硬件部分 本实验的硬件实验不是很多,而且由于硬件设备出现故障,出现的问题也很有限。主要集中在烧写 BIN 文件出现的问题。问题 1、EPROM 无法进行查空 原因:EPROM是紫外线擦除式,每次擦写需要通过紫外线进行大概30分钟的擦除过程,每次可能由于没有成功的擦除干净,使得芯片查空失败。问题 2、EPROM 无法烧写 原因:据老师介绍,很多 EPROM 由于错误的操作不能进行正常的烧写。所以需要进行更换。25/26 八、心得体会 本次实验是通信原理 GMSK
37、调制器实验,我想谈谈自己对这个实验的想法和体会。综合起来,这次实验花费的时间一开始比较少,后来花了比较长的时间。在第一节课的时候,老师给我们布置了看书的任务,当时我也没怎么上心。上个学期的通信原理老师只上到了 MSK,而且由于不是考试 X 围,没怎么仔细学习过。在一次实验课,看了关于 GMSK 的内容也没怎么看懂。等到之后我们期中考完以后,我才开始正式的投入到实验中去。首先,我翻开了通信原理书重新回顾了 MSK 和 GMSK 的产生原理,自己亲自推导了一遍相位路径()的表达式,发现当初第一节课不懂的原因是自己没有亲自推导一遍,其中关于 5个码元和 L 的式子不好理解。经过自己的亲自推导后,这些
38、式子的含义我也能够理解。还有关于()截短为 5T 的用处、相位路径的象限 L、整数和非整数部分分开计算这一系列的问题。接下来就开始了软件的正式编写。关于()的编写比较简单,一开始还打算自己编写(),后来查找资料发现 Matlab 内部有erfc 函数,我就直接使用进行编写,过程顺利。()的编写中出现了一些问题,一开始就是码表如何的编写,因为是 32*5 的矩阵,直接赋值不实际,所以采用了对每一位的比较的方法。按照书上给的流程图,出现了一些问题(如上面问题所述),后来更改了 for 循环,最后生成的是 1*1024 的 cos 和 sin 矩阵。关于眼图的绘制,其中的流程图的原理一开始没有理解,
39、导致进度一直停滞不前。后来去请教了周围的同学,原来自己还没有完全理解眼图绘制的原理,所以无法进行编写。后来按照流程图我成功进行了眼图的绘制。最后我将正余弦表量化,量化与前面的码表生成 XX 小异。量化后要生成硬件的 BIN 文件。一开始不太懂为什么要这么写,后来研究了关于实验硬件设备后发现芯片是 8K 的,只能允许 8 位的烧写。所以要将正余弦表分成 3 个 BIN 文件。还有必须对芯片进行由 1K 至 8K 的扩容。硬件方面由于实验设备的损坏,我们无法进行正常的硬件设备的实验。我们也只能下载一下进行验证。经过本次实验发现我发现这样的验收效率太低,希望老师能够换其他的形式进行验收。本次实验是一次通信原理 GMSK 的大实验,我从一开始的一窍不通到现在的对 GMSK 的原理以及如何产生都十分的清楚,自己还是有很强的自豪感。这次实验主要学习到了如何将一个系统一步一步地进行实现,以及仿真的重要性。没有了 Matlab 强大的仿真能力,我们无法一直保证正确的输出。这次实验我学到了很多,也回顾了很多有用的知识。这次实验也要谢谢韩老师的悉心指导,每次实验帮我们解答问题,最后验收晚上我们调程序也在陪着我们,和我们聊聊未来的打算。非常感谢这次实验,这次实验使我学到了很多很多。