




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息与通信工程学院北京邮电大学通信原理实验实验报告实验名称:高斯最小移频键控(GMSK)调制器实验学院: 信息与通信工程学院 班级: 2010211123 姓名: 刘伟强 学号: 10210958 教师: 韩老师 目录一、实验目的2二、实验内容2三、实验原理21、 GMSK调制器工作原理及相位路径的计算22、数字信号处理方法实现GMSK调制器5四、实验步骤5五、系统设计61、总体设计62、软件部分63、硬件部分16六、拓展部分20七、故障与解决方法221、软件部分222、硬件部分24八、心得体会25一、 实验目的1、 通过利用数字基带处理方法来实现高斯最小移频键控(GMSK)调制器算法的基带硬件实验,对通信系统硬件实现有新的认识及新的思路。2、 掌握MAX+plusII 及可编程器件的应用。3、 学会C语言或Matlab软件进行GMSK相位路径及仿真眼图的编程。4、 正确使用测试仪表。5、 理论联系实际,培养科学实验态度,提高实际动手能力。二、 实验内容1、 了解GMSK调制器工作原理,推导GMSK信号相位路径的计算公式,掌握GMSK调制器数字化实现的原理。2、 掌握GMSK调制器数字化、实现地址逻辑的工作原理,用可编程逻辑器件实现地址逻辑的设计,并仿真各点波形,分析检验其时序逻辑关系。3、 了解GMSK相位路径的编程流程图,并用计算机编出相位路径(t)的余弦及正弦表。4、 为了检验所编码表的正确性,可进一步利用计算机软件检验从上述码表得出的GMSK基带波形的眼图与理论计算是否一致,若两者一致,说明所编码表正确,可将它写入EPROM中,并将EPROM片子插在GMSK调制器硬件实验板上。5、 在通信实验板上,正确使用测试仪表观看GMSK基带信号眼图。(1)用示波器观看GMSK基带信号眼图;(2)用逻辑分析仪观看地址逻辑电路各点波形及其时序关系;(3)用频谱仪观看GMSK调制器基带波形的功率谱。6、 按上述要求写出实验报告。三、 实验原理1、 GMSK调制器工作原理及相位路径的计算MSK调制可以看成调制指数h=0.5的2FSK调制器,为了满足移动通信对发送信号功率谱的带外辐射要求,在MSK调制前加入高斯滤波器,因而GMSK具有恒包络,连续相位的特点,其旁瓣衰减比MSK更快,频谱利用率更高。产生GSMK信号的原理图如下。GMSK信号为st=cosct+t=costcosct-sintsinct相位路径为t=2h-tn=-bng(-nT)d其中,g(t)为BT=0.3高斯滤波器矩形脉冲响应,调制指数h=0.5,bn为双极性不归零码序列的第n个码元,bn为+1或-1。高斯低通滤波器的传输函数为 式中,是与高斯滤波器的3dB带宽有关的一个常数。由3dB带宽定义有 即 所以 由此可见,改变将随之改变。滤波器的冲激响应为由式看出,不是时限的,但它随按指数规律迅速下降,所以可近似认为它的宽度是有限的。由于它的非时限性,相邻脉冲会产生重叠。如果输入为双极性不归零矩形脉冲序列: 式中, 其中,为码元间隔。高斯预调制滤波器的输出为式中,高斯滤波器矩形脉冲响应为gt=xt*ht=12TQ2at-T2-Q2at+T2其中Qt=12texp-x22dx当BTb取不同值时,高斯滤波器的矩形脉冲响应g(t)如下图所示。经计算,BTb=0.3的高斯滤波器的g(t)的积分面积为1/2,且满足以下条件-2.5T2.5Tgd12 gt0 t2.5Tb所以,对于BT=0.3的高斯滤波器,取g(t)的截短长度为5T来计算GMSK信号的相位(t),就可达到足够精度。由于g(t)在5T时间区间呢的积分面积为1/2,所以BT=0.3的GMSK相位路径计算大为化简。在kTtk+1T期间,BT=0.3的GMSK的相位为t=k-2k+2bnn-2Ttg-nT-T2d+L2L=n=-k-3bn (取模4)具体计算如下。在kTtk+1T时t=kT+tkT=k-2k+2bnn-2TkTg-nT-T2d+L2t= =k-2k+2bnkTtg-nT-T2d2、数字信号处理方法实现GMSK调制器在算得t后,即可算出cost及sint值。在工程上,首先将cost及sint离散化,制成表,固化在ROM中。由随机数据bn形成ROM表的地址,根据地址取出ROM中相应的基带信号离散值,然后利用D/A将其数模变换成模拟基带信号cost和sint,再由正交调制器将基带频谱搬移至载频上。本实验的电路原理如图所示。在上图中,虚框内表示地址逻辑,功能是取出所需要的采样量化点。ROM表中存放的是1024个点的余弦值和正弦值。DAC是模数转换,即将1024个数据进行量化,可以通过计算机绘图plot函数实现。由于存在着采样造成的副主瓣,影响了功率谱特性,因此必须在D/A后加低通滤波器来抑制高频分量,减少副主瓣对功率谱的影响。选用在上图中,虚框内表示地址逻辑,功能是取出所需要的采样量化点。ROM表中存放的是1024个点的余弦值和正弦值。DAC是模数转换,即将1024个数据进行量化,又计算机绘图程序实现。LPF是低通滤波器,可抑制高频分量,减少副主瓣对功率谱的影响。选用3dB带宽为330kHz的6阶贝塞尔低通滤波器,数模变换后的基带信号经低通滤波器后的功率谱满足GSM05.05建议的要求。四、 实验步骤1、 仔细推导gt、t的计算公式。2、 编写GMSK高斯滤波器的矩形脉冲响应gt子程序,并绘制gt的函数。3、 编写计算t的程序。4、 编写计算cost及sint的程序,并设计余弦及正弦ROM表。5、 将余弦和正弦码表中的每个样值的10bit码字,按照地址逻辑进行存放, 并用matlab程序实现。6、 得到ROM存储的基本波形表,利用信号源产生的伪随机序列an经预编码后得到bn,经过地址逻辑运算由ROM中顺序取出cost及sint的离散值,然后利用计算机绘图程序(功能相当于数模变换DAC),得到基带波形的输出,观察仿真眼图。7、 把得到的正余弦表进行数字量化,写入BIN文件,下载到硬件系统中,通过示波器观察实际硬件实现的GMSK信号眼图。五、 系统设计1、总体设计2、软件部分系统软件流程图如下图所示。(1)gt函数的产生思路:了解到Matlab内置有erfc函数,可以通过erfc(x)的表达式,得到Q(t)的表达似式,从而根据设定的时间等参数得到gt的表达式,然后在-2.5T,2.5T内用linspace取1000个点作图可以得到gt的图像。具体编程实现如下(gt_m.m):代码:function gt = gt_m( t )%计算g(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(限定在5T范围内);ylabel(g(t);end可以得到图像如下图所示:(2)相位路径t与cost及sint的码表的产生思路:首先由于每一个相位路径是由5个码元所组成的,先要编写四个象限的bn表,将所有情况全部罗列出来。然后根据相位路径产生的公式,借助matlab中的积分quad函数,计算相位路径t,最后得到cost及sint,分别用一个1*1024的矩阵来表示。具体编程实现如下(p.m)。流程图如下所示:代码:clc;clear;T=1/270833;B=0.3/T;a=sqrt(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=-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 endend%plot(t,pa)s=sin(pa); %正弦表c=cos(pa); %余弦表save(sin.mat,s);save(cos.mat,c);(3)眼图的绘制思路:得到ROM存储的基本波形表后,利用信号源产生的伪随机序列an经预编码后得到bn,经过地址逻辑运算由ROM中顺序取出cost及sint的离散值,然后利用计算机绘图程序(功能相当于数模变换DAC),得到基带波形的输出,观察仿真眼图。流程图如下:说明:A、 开辟空间存入ROM表以及伪随机序列。B、根据所用的ROM表确定采样频率fs=8fb(fb=270.833KHz), 即一个码元时间内有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个值(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+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眼图);end;眼图仿真波形图:(4)量化并生出BIN文件思路:为了将眼图在示波器上显示,首先将正余弦表进行10bit单极性量化,量化范围为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,1024);p; %将ROM表导入c1=(c+1)*511.5; %值为0-1023c2=(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);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,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); sinlowbin(i*8-7)=sinlow(i); cossinbin(i*8-7)=cossin(i);end;fidcos = fopen(cosbin.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文件sin低八位的BIN文件3、硬件部分硬件我们采用的是GMSK调制器通信系统实验箱,紫外线擦除器,40MHz双踪同步示波器,双16V(1.5A)直流稳压电源,28管脚ROM编程器。由实验原理分析可知,地址逻辑可由伪随机序列an经预编码后得到bn,再经地址逻辑运算形成。电路设计可分为时钟分频、伪随机序列的产生、地址逻辑的生成3部分。其中时钟分频和伪随机序列产生可由VHDL语言实现,地址逻辑的生成可由硬件之间的连线实现。下面利用Quartus软件环境完成硬件仿真。(1)地址逻辑框图利用Quartus软件得到的地址逻辑电路图如下图。其中clockmgdf器件是时钟脉冲发生器以及伪随机序列发生器;DATA为伪随机输出信号,A5、A4、A3为8个采样值的逻辑地址码,分别为fb,2fb,4fb,fb=270.833kHz为码元速率;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 isport(CLK:in std_logic;A3:out std_logic;A4:out std_logic;A5:out std_logic;DATA:out std_logic);end;architecture a of clockmgdf issignal adr:std_logic_vector(2 downto 0);signal m:std_logic_vector(22 downto 0):= (others= 0);signal n:integer range 0 to 7;beginprocess(CLK)beginif (CLKevent and CLK=1) thenif n = 7 thenn = 0;if m = 0 then m(0) = 1;elsem = m(21 downto 0) & (m(0) xor m(22);end if;elsen = n + 1;end if;adr = adr + 1;end if;end process;A3 = adr(0);A4 = adr(1);A5 = adr(2);DATA = m(0);end;伪随机序列发生器addrlogic的VHDL代码为:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity addrlogic isport(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:out std_logic;A11:out std_logic;A12:out std_logic);end;architecture a of addrlogic issignal DataTemp:std_logic_vector(4 downto 0):=00000;signal L:std_logic_vector(1 downto 0):=00;beginprocess(A5)beginif (A5event and A5=0) thenif(DataTemp(4)=0) thenL=L-1;elseL=L+1;end if;DataTemp = DataTemp(3 downto 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;(2)输出波形计算机仿真逻辑的输出波形为:(3)器件编程将文件下载到GMSK通信系统实验箱通信实验板,用逻辑分析仪或存储示波器观测地址逻辑波形。其中管脚分配如下:地址线A12A11A10A9A8A7A6A5A4A3管脚号46686765646361604948(4)硬件调试步骤A、用编程器将量化后的码表的二进制bin数据文件下载到ROM中,在将下载成功的芯片插在GMSK通信实验板上,注意芯片的位置和方向;B、将GMSK通信实验板上的JTAG接口与计算机相连;C、将双路稳压电源调整为16V;D、接通电源,用示波器观察余弦cost经过低通滤波器LPF后的输出波形,与Matlab软件仿真的眼图比较。(5)示波器输出眼图六、 拓展部分(1) 眼图的功率谱密度思路:仿真功率谱密度与仿真眼图类似,都是使用伪随机序列提供地址逻辑,最后生成的值运用编写的t2f函数进行傅立叶变换,再平方,运用对数刻度将其plot即可仿真功率谱密度。代码:p;fs=2.166664*106; %采样速率(Hz)m=27; %采样点数T=(m-4)/270833; %时域范围(时域点数)df=1/T;f=-fs/2+df:df:fs/2; %频域范围(频域点数) 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取值范围为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*bn(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); %样点总数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生成的功率谱仿真图如下图所示(由于产生的是随机序列,每次生成的功率谱密度都不相同):七、 故障与解决方法1、软件部分问题1、生成的眼图如下图所示:解决方法:经检查,在计算t的时候对于码表的遍历,for循环出现了问题。按照课本上,应该是先对L进行遍历,再对bn进行遍历,结果就出现了上图的眼图。最后考虑了逻辑,应该先对bn进行遍历,再对L进行遍历。结果就产生了正确的眼图。书本上的流程图出现了错误。问题2、积分函数的选取解决方法:matlab含有很多的积分函数,由于本题的函数是带有变量的。经过查找资料,我选用了quad函数可以对函数的积分。Quad函数我使用了变限积分的形式,将积分的下限转换到quad函数中,如quad(g,-2.5*T,-j*T-T/2)。问题3、生成的眼图如下图所示:解决方法:在生成眼图的时候,由于一开始是生成4位随机码,后来不断取下一位信息码。而在我的代码中将取得的下一位信息码的5位码却没有再赋给原来变量,导致循环无法进行下去。五位码一直为相同的初始值,所以导致了上图的出现。经过更改变量后出现了正确的眼图。问题4、眼图生成的M序列出现问题解决方法:经过网上查找资料,我找到了idinput函数,这可以生成m序列。可是当我输入至matlab中,matlab输出非常缓慢,达不到实验要求。后来我换成了rand函数进行输出。问题5、最后硬件示波器显示的波形不正确解决方法:在生出BIN文件的时候,cos和sin的高2位写的顺序出现了错误,应该是sin写在高两位,cos写在低两位。而我由于出现相反,导致最后出现的波形出现错误。生出BIN文件时,由于硬件逻辑地址是A12到A3,A2、A1、A0是接地的,所以量化之后每个数之后要添加7个0,即扩容,才能与硬件逻辑地址相对应。2、硬件部分本实验的硬件实验不是很多,而且由于硬件设备出现故障,出现的问题也很有限。主要集中在烧写BIN文件出现的问题。问题1、EPROM无法进行查空原因:EPROM是紫外线擦除式,每次擦写需要通过紫外线进行大概30分钟的擦除过程,每次可能由于没有成功的擦除干净,使得芯片查空失败。问题2、EPROM无法烧写原因:据老师介绍,很多EPROM由于错误的操作不能进行正常的烧写。所以需要进行更换。八、 心得体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度浙江省护师类之主管护师自我检测试卷A卷附答案
- 慢性胰腺炎病人护理查房
- 夏季防晒培训课件
- 中班幼儿安全出口与健康教育
- Unit 5 Whens your birthday?单元试卷(含答案)
- 幼儿园小班社会教案《看朋友》
- 泵类设备培训
- 园林师考试题及答案
- 怎样制作平移旋转课件
- 昆明签证面试题及答案
- 酒店用火用电安全管理制度
- 模具机加工管理制度
- 区畜牧局十五五总结及十五五规划
- DB31/T 1096-2018医院日间手术管理规范
- DB32-T 5119-2025 锂离子电池工厂生产安全技术规范
- 中医诊所挂证医生合同6篇
- 细胞生物学(全套1047张课件)
- 架空乘人装置专项设计(一采区运输下山)
- 六年级下册“快乐读书吧”练习题试题及答案
- ★教导型组织-行动管理模式(三)
- 朗文英语2B英语复习资料
评论
0/150
提交评论