qpsk调制解调——基于fpga_第1页
qpsk调制解调——基于fpga_第2页
qpsk调制解调——基于fpga_第3页
qpsk调制解调——基于fpga_第4页
qpsk调制解调——基于fpga_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一 实验概述本实验包括:分频器设计、计数器设计、串行移位输出器设计、伪码发生器设计、QPSK I/Q调制器设计、QPSK I/Q解调器设计,基于选项法中频调制器设计并将其综合起来组成一个系统。二 实验仪器 计算机ALTER公司的Quartus8.0 EDA试验箱。 三 EDA及实验工具简介 EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。从应

2、用领域来看,EDA技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。 II 是公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 II 作为一种

3、可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。四 实验步骤及实验模块参数(一)设计一个分频器,要求29 分频。(二)设计计数器,计数值16。(三)设计串行移位输出器,移位级数14。 (四)设计伪码发生器,伪码产生的数据数率要8Kb/s,特征方程。 (五)设计QPSK I/Q调制器,调制载波288KHZ,基带速率576KHZ,系统时钟4068KHZ。(六)设计QPSK I/Q解调器,调制载波576KHZ,基带速率288KHZ,系统时钟4068KHZ。 (七)设计选项法中频调制,调制载波是基带载波的16倍。(八)设计中频调制对应的解调器,解调出I/Q

4、两路信号,并合成原始信号。推荐精选(九)系统综合,用模块构建整个系统,实现调制解调功能。实验项目设计要求: 利用自己前列试验项目设计结果,构建如下框图所示的调制、解调系统。完成对下述系统的构建、调试、仿真,使之达到运行正确。伪码发生器选项法中频调制QPSK I/Q调制 A D 串行移位I/Q解调 C B五 实验设计原理及实际调、测结果和分析(一) 分频器的设计1、分频器的定义分频器是指将不同频段的声音信号区分开来,分别给于放大,然后送到相应频段的器件中再进行重放。2、分频器的原理和功能本实验进行分频器的设计,主要用于实现频率划分的目的。通过将一频率带划分成几个小频率带,可实现分频。分频器的功能

5、主要是用于后续综合实验中通过分频处理提供新的频率。分频器可以分为偶数倍和奇数倍分频器。如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去,就可以设计任意的偶数倍分频。奇数倍分频:归类为一般的方法为:对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数从零开始,到(N+1)/2进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N计数,到和上升沿过(N+1)/2时,输出时钟再次翻转生成占

6、空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟相与运算,得到占空比为50%的奇数n分频时钟。 3、分频器的实现29分频器就是设计上升沿时钟分频,先定义两个计数器,开始时都赋值为0。计数器1用上升沿触发,当计数到15时,输出时钟置0,计数器清零,重新计数,重新计数到14时,输出时钟置1,依次循环;计数器2用下降沿触发,采取同样的计数与置数操作。最后两者相与运算,结果作为目标时钟,这就完成了占空比为50%的29分频。实际上做了两次占空比非推荐精选50%的分频,高电平部分是15个时钟周期,低电平为14个时钟周期,两者相与运算相当于是输出时钟在计数满14.5的时候做一次翻转处理,实现占空

7、比为50%的奇数分频。 4、仿真实现图 图(1) 5、实验的分析与说明 图中,clk_576为输入时钟,freq_div_29即为29分频后的目标时钟,clkout为上升沿触发,高电平为15个时钟,低电平为14个时钟,clkout2为下降沿触发,也是15个时钟的高电平,14个时钟的电平。由于采取的是与运算,freq_div_29=clkout&clkout2,所以需要让高电平比低电平多一个时钟,这样才能让freq_div_29高电平由clkout,clkout2的15个时钟周期通过相与运算,减去半个时钟周期,得到14.5个时钟周期;同理,让低电平多增加半个时钟周期,达到14.5个时钟周

8、期,实现占空比为50%。 clkout与clkout2同样为29分频输出,假如对目标时钟的占空比不做要求,则可以通过clkout或者clkout2两个输出作为目标时钟。 (二) 计数器的设计1、器的定义通过传动机构驱动计数元件,指示被测量累计值的器件即为计数器。2、计数器的工作原理和功能计数是一种最简单,最基本的运算。计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是由于无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。计数器是由基本的计数单元和一些

9、控制门所组成,而计数单元则由一系列具有存储信息功能的各类触发器构成。这些触发器有RS触发器、T触发器、D触发器及JK触发器等。3、计数器的实现本实验是设计16进制的计数器,本实验的具体实现方法是:(1)采用二进制计数,取计数器的初始计数值为0。 (2)采用上升沿触发,每当到达脉冲的上升沿时,产生触发信号,进行计数操作。(3)计数时先判断前一个数值的大小,若小于16时,则计数加1;若等于16,则进位输出产生一个高电平。推荐精选4、计数器的实现图形5、 实验的分析与说明 由于是进制计数器,计数器从0计数到16。,当计数值为16时,计数器置零,输出进位1,图形开始发生变化。cnt_out为进位输出,

10、mid_16为计数器。(三) 串行移位输出器的设计1、串行移位输出器的定义和功能串行移位输出器主要是实现数据的移位位的移位输出功能。在后续的综合实验中,对于解帧器,数据可由串行移位输出器输出有很重要的作用。2、串行移位输出器的实现方法首先载入一个用于移位的二进制序列;然后判断时钟的变化,当碰到上升沿时,产生触发进行序列的移位,每次移位后,后面补新输入数据。本实验实现14位的串行移位。3、 串行移位输出器图形 4、实验的分析与说明图中,clk_576为输入时钟,datin为伪码发生器的伪码输入,mid为14位移位缓存器,datout为移位输出。每一个时钟周期,将mid的值左移一位,最高位的值移到

11、datout,低13位移位到高13位,最低位输入下一位伪码发生器传送来的数据。移位输出可以设计为14个D触发器级联,最后生成模块,但是这样太繁琐,定义一个多位的缓存寄存器会减少很大代码量。(四) 伪码发生器的设计1、伪码发生器定义所谓“随机码”,就是无论这个码有多长都不会出现循环的现象,而“伪随机码”在码长达到一定程度时会从其第一位开始循环,由于出现的循环长度相当大。2、伪码发生器功能推荐精选对于一个二进制序列,指定表头和移位的方向,将原来的序列沿移位方向移一个数据位,然后从原来的数据位中取出相应位的数值进行异或操作,在将结果放到表头,得到伪码序列。在进行信号检测时有很重要的作用,因为其特性与

12、高斯白噪声非常相似。 3、伪码发生器的实现本实验要做伪码特征方程为伪码发生器。先将二进制序列移位,然后在新的序列中取出在原来序列中对应的数据位的数值,在将取出的数值进行异或运算,最后将得到的结果放到表头。nn-1n-2321 . n阶从图中可以看到,该移位寄存器是将各寄存器的输出值抽出来,在外部进行异或运算之后再将该值反馈到输入端。4、 伪码发生器的仿真图形5、实验的分析与说明在时钟的控制下,寄存器的控制信号由上一级向下一级传递。根据实验要求的特征方程,所以要定义一个10位的移位寄存器,在开始时随便将其赋值,然后将其第9位、第7位和第3以及左后一位进行异或,将所得的值作为反馈存入移位寄存器的最

13、低为作为下面的输入,然后相应的就会将最高为输出,如此循环,即可实现伪码发生器的功能,产生相应的数据。实验要求数据速率是8Kb/s,系统时钟为8KHz,并利用该时钟信号去控制移位寄存器产生实验设计中所需要的伪随机信号。(五) QPSK I/Q调制器的设计1、QPSK I/Q调制器的功能和作用 QPSK技术的性能分析。QPSK技术具有抗干扰能力强,误码性能好,频谱利用率高,等优点。I为同相分量,Q为正交分量。 正交调幅信号QAM有两个相通频率的载波,但是相位相差90度。一个信号叫I信号,另一个信号叫Q信号。从数学角度将,一个信号可以表示成正弦,另一个表示成余弦。两种被调制的载波在发射时已被混和。到

14、达目的地后,载波被分离,数据被分别提取然后和原始调制信息相混和。从传输线角度来看,I/Q信号是一种双线传输模式,能量主要集中在两线之间。与外界关系不大。以此可以抗击共模干扰。当然,双线间回路面积要小些。 推荐精选2、QPSK I/Q调制器的实现方法简单的说就是数据分为两路,分别进行载波调制,两路载波相互正交。正交信号就是两路频率相同,相位相差90度的载波,一般用sin和cos,与I,Q两路信号分别调制后一起发射,从而提高频谱利用率,但在数字调制中我们是用时钟信号近视提取,分为两路。3、 QPSK I/Q调制器的仿真实现图4、 实验的分析与说明图中,clk_576为伪码发生器的输入时钟,每个周期

15、输出一位伪码,所生成的伪码序列如波形datin所示。在每个时钟的下降沿对伪码输出波形采样,采样两次后更新iq_mo的值,采样第一次的值存入iq_mo1,第二次的值存入iq_mo0,这样就形成了I/Q两路信号。由图中可以看出,datin的信息全部转化成了I/Q两路的信息。在这个实验中,采样点的选择是关键,由于伪码的生成是选用上升沿触发,假如采样上升沿采样,会产生竞争冒险,使I/Q两路信号产生毛刺。为了减少竞争冒险,延迟半个周期进行采样,在时钟周期的下降沿进行采样,减少了大量的毛刺,提高了I/Q两路信号的准确度。(六) QPSK I/Q解调器的设计1、 QPSK I/Q解调器的功能 QPSK I/

16、Q解调器的功能是还原I/Q调制信号,以使信息准确无误的被还原出来,达到预期的效果和功能。2、QPSK I/Q解调器的的实现 QPSK I/Q解调器的的实现是QPSK I/Q调制器的逆过程,即在时钟脉冲下实现数据的提取,从而实现并串转换,还原出原始数据。由于I/Q解调模块还附带有中频解调的功能,所以需要用到的时钟为中频调制载波频率的4倍频,为了减少程序的复杂性,I/Q两路的解调直接采用基带频率的64倍频,即为36.864MHz。显然,如果由实验板的50MHz直接分频输出36.864MHz,得到的实际时钟精度不符合要求,所以需要将原来的50MHz先倍频,再进行分频,这样能提高时钟的精度。本实验采用

17、quartus ii自带的alt_pll模块,对原始时钟信号进行4倍频,即200MHz,然后再分频。具体的分频办法将在系统构建的实验里说明。最后得出的输入时钟频率占空比不固定,但经过模64的计数器分频调整后,不影响I/Q解调。利用计数器,每次循环计数到32时,根据顺序判断信号,选择输出I路或者Q路的采样值,然后继续计数,当再次计数到32时,再输出另外一路的信号,这样交替的输出,最后完成了I/Q的解调。推荐精选3、 QPSK I/Q解调器的实现功能图图(1)图(2)4、 实验的分析与说明图中的输入时钟为clk_256,,即为基带频率的64倍频。I/Q两路信号如iq_mo波形所示,解调出来的波形如

18、iq_de所示,y为6位计数器,data_out为伪码发生器生成的原始伪码波形。从图(1)可以看出,iq_mo的信号交替输出之后与iq_de的信号相符合,而iq_de信号与原始伪码波形同,只是有几个时钟周期的延时,能很好的还原出原始信号,完成了解调功能。由于采用时钟为基带频率的64倍频,相当于每经过64个时钟周期才能输出一个伪码信号,所以需要计数64次才让顺序判断信号judge2跳转一次,最后根据顺序判断信号,交替输出一次iq_mo信号。在本实验中,毛刺也是一个不容忽略的问题。在iq_de交替输出的时候,会有一个时钟的误判,造成iq_mo11与iq_mo0的交替选择延迟,使解调输出产生错误,形

19、成毛刺。这个时候就需要调整顺序判断信号judge2,使其跳转周期在iq_mo信号更新的后一个时钟周期发生翻转,再根据judge2进行判断选择输出,这样就可以避免误判与毛刺的产生。(七) 选项法中频调制1、 选项法中频调制的定义选想法中频调制即根据并联的数据类型进行选择,按照输入的双比特码元的不同,逻辑选相电路输出相应相位的载波,例如,双比特码元IQ为10时输出45度载波IQ为00时输出相位为135度的载波等。 推荐精选2、 选项法中频调制的功能 选相法中频调制能使两路信号实现qpsk调制,而QPSK技术具有抗干扰能力强,误码性能好,频谱利用率高,等优点。3、选想法中频调制的实现方法在数字电路的

20、设计中,采取(00,11,10,01)分别对应(1100,0011,1001,0110)进行调制,即在时钟脉冲作用下进行分频,并实现四路载波,而后根据双比特码元进行选择四路载波之一,达到调制。本实验采用基带的16倍频作为调制载波,每路载波的相位不同,根据I/Q信号的不同(00,11,10,01),选择输出某一路载波,这样I/Q信号的内容就以相位形式存储在载波中。 4、 选项法中频调制的实现的图形5、实验的分析与说明图中,clk_576为伪码的输出时钟;clk_16为基带频率的32倍频,通过clk_16这个时钟,产生基带频率的四相位载波,即carrier信号;mid为6位计数器;ph_out为调

21、制完成后的波形输出;iq_mo是I/Q两路信号。实验要求调制信号为基带频率的16倍频,所以载波信号为基带信号的16倍频。可以使用载波的4倍频,即基带频率的64倍频,做为基准时钟,按照相位不同输出对应(1100,0011,1001,0110)来产生相应的调制载波,但是频率越高,时钟的占空比波动越大。本实验采用的基准时钟是载波的2倍频,即基带的32倍频,然后分成两路,carrier0与carrier2采用时钟上升沿触发,赋初始值分别为0,1;carrier1与carrier3采用时钟的下降沿触发,赋初始值分别为0,1,这样就能形成基带频率16倍频的四相位载波。由于采用的基准时钟为基带频率的32倍频

22、,所以需要在计数器每隔32个时钟采样一次伪码发生器的信号。采样点选为16与48,这样相当于在伪码发生器的输入时钟下降沿进行采样,采样点没有电平跳变,避免了毛刺的产生。根据I/Q值选择载波输出,图中在计数器计数值为48时候,I/Q发生了一次跳变,所选择的载波有carrier0变为carrier2,产生了一次相位跳变,完成了信号的调制。(8) 中频解调器 1、中频解调的功能对接收到的qpsk中频调制波形进行采样,每个周期采样4个点,然后根据调制时I/Q两路信号与载波相位的关系,解调出I/Q两路信号,最后根据同步的时钟,将I/Q两路信号合成一路信号,还原成原始输出的信号。推荐精选 2、中频解调的实现

23、方法由于所用的中频频率为基带频率的16倍,解调时要选用的时钟频率为中频频率的4倍,即基带频率的64倍。对每个中频周期采样4次,在保证时钟同步的情况下,能得到1100,0011,1001,0110这四种结果,然后采取的相位I/Q对应关系(1100,0011,1001,0110)(00,11,10,01),恢复出I/Q两路信号,再根据I/Q解调器的方法将恢复出伪码发生器输出的信号,恢复后信号与原信号对比仅有延时。3、中频解调器的的实现的图形图(1)图(2) 4、实验的分析与说明图(1)中clk_256为基带频率的64倍频,作为中频解调的时钟;ph_out为输入的中频调制信号,cnt是采样计数器;j

24、udge是顺序判断信号,iq为解调出的I/Q信号;temp为采样值,x为顺序判断信号的翻转计数信号;data_out为解调后恢复的信号;datout为伪码发生器产生的信号。 clk256 占空比不固定,但是并不影响信号的采样。为减少毛刺,避开调制信号的跳变点,用时钟的下降沿采样,每个已调信号采样4个点,根据4个点的值进行判断。假如时钟同步正确,所采到的temp值就有4个(1100,0011,1001,0110),再由与I/Q的对应关系(1100,0011,1001,0110)(00,11,10,01),解调出I/Q两路信号。推荐精选 得出I/Q信号后,采用QPSK I/Q解调器的I/Q解调方法

25、,最终解调恢复出原始信号,从图(2)可以看出,data_out与datout两个信号相同,只有几个时钟的延时。 由于采用的是QPSK I/Q解调器的解调方法,所以在顺序判断信号judge的翻转点要选择正确才能避免毛刺。在采样的时候已经延时了4个时钟周期,需要在原来翻转计数点(32)加上4个时钟周期,再往后延时2个时钟周期,即计数点38处翻转,才能消除毛刺。(九)系统综合1、模块构成整个系统包括倍频模块,分频模块,伪码发生器模块,调制模块,解调模块,移位输出模块,并加入了部分实验步骤的模块,例如8kb/s的伪码发生模块,29分频器以及16进制计数器模块。 2、总体电路图 3、模块分析 pll模块

26、之后的模块,包括分频与调制解调最后到输出等模块已经介绍这里分析一下pll模块以及任意分频模块(图中的freq_any模块)。实验板多采用50MHz的晶振,要直接产生576kb/s的基带频率及其16倍频、64倍频,很难保证分频的精度。这时候提高分频的输入时钟就是关键的一步。本实验先将50MHz的晶振时钟4倍频,得到200MHz的输出时钟,然后根据如下算法得出各个模块所需要的时钟。 参照频率合成的方法,假定基准频率为200Mhz,计数器为32位计数器,K为频率控制字推荐精选我们规定,对Cnt进行对半50%拆分,具体如下:当的时候,即低电平;当的时候,fo=1,即高电平。通过这个方式得出步进值K,可

27、以算出基带频率的64倍频,但是占空比不是50%。 4、系统仿真波形图图(1)图(2) 5、实验的分析与说明 clkin为50MHz输入时钟,clk为晶振时钟4倍频后200MHz输出;clk_256,clk_16,clk_576为36.864MHz,18.432MHz,576kHz。ph_out为中频调制输出,iq_mo为伪码序列的I/Q调制,iq则为从已调制的中频信号初步解调出的I/Q两路信号。iq_de为直接的I/Q解调输出,data_out原始伪码信号序列,dat_out为中频解调输出。对分频步骤而言,先产生基带的64倍频,并以此为基准,然后进行2分频,4分频,然后是64分频,最终得到的基带频率,约为576.37kHz,但无法精确的576kHz的时钟。如果想要得到更精确的时钟,需要继续倍频,而对于所采用的ep2c8c208器件而言,只能倍频到250MHz,精度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论