qpsk调制解调基于fpga.docx

上传人:b****1 文档编号:15126697 上传时间:2023-07-01 格式:DOCX 页数:17 大小:250.31KB
下载 相关 举报
qpsk调制解调基于fpga.docx_第1页
第1页 / 共17页
qpsk调制解调基于fpga.docx_第2页
第2页 / 共17页
qpsk调制解调基于fpga.docx_第3页
第3页 / 共17页
qpsk调制解调基于fpga.docx_第4页
第4页 / 共17页
qpsk调制解调基于fpga.docx_第5页
第5页 / 共17页
qpsk调制解调基于fpga.docx_第6页
第6页 / 共17页
qpsk调制解调基于fpga.docx_第7页
第7页 / 共17页
qpsk调制解调基于fpga.docx_第8页
第8页 / 共17页
qpsk调制解调基于fpga.docx_第9页
第9页 / 共17页
qpsk调制解调基于fpga.docx_第10页
第10页 / 共17页
qpsk调制解调基于fpga.docx_第11页
第11页 / 共17页
qpsk调制解调基于fpga.docx_第12页
第12页 / 共17页
qpsk调制解调基于fpga.docx_第13页
第13页 / 共17页
qpsk调制解调基于fpga.docx_第14页
第14页 / 共17页
qpsk调制解调基于fpga.docx_第15页
第15页 / 共17页
qpsk调制解调基于fpga.docx_第16页
第16页 / 共17页
qpsk调制解调基于fpga.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

qpsk调制解调基于fpga.docx

《qpsk调制解调基于fpga.docx》由会员分享,可在线阅读,更多相关《qpsk调制解调基于fpga.docx(17页珍藏版)》请在冰点文库上搜索。

qpsk调制解调基于fpga.docx

qpsk调制解调基于fpga

一实验概述

本实验包括:

分频器设计、计数器设计、串行移位输出器设计、伪码发生器设计、QPSKI/Q调制器设计、QPSKI/Q解调器设计,基于选项法中频调制器设计并将其综合起来组成一个系统。

二实验仪器

计算机ALTER公司的Quartus8.0EDA试验箱。

三EDA及实验工具简介

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

从应用领域来看,EDA技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。

II是

公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

II作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

四实验步骤及实验模块参数

(一)设计一个分频器,要求29分频。

(二)设计计数器,计数值16。

(三)设计串行移位输出器,移位级数14。

(四)设计伪码发生器,伪码产生的数据数率要8Kb/s,特征方程

(五)设计QPSKI/Q调制器,调制载波288KHZ,基带速率576KHZ,系统时

钟4068KHZ。

(六)设计QPSKI/Q解调器,调制载波576KHZ,基带速率288KHZ,系统时钟4068KHZ。

(七)设计选项法中频调制,调制载波是基带载波的16倍。

(八)设计中频调制对应的解调器,解调出I/Q两路信号,并合成原始信号。

(九)系统综合,用模块构建整个系统,实现调制解调功能。

实验项目设计要求:

利用自己前列试验项目设计结果,构建如下框图所示的调制、解调系统。

完成对下述系统的构建、调试、仿真,使之达到运行正确。

AD

C

B

五实验设计原理及实际调、测结果和分析

(一)分频器的设计

1、分频器的定义

分频器是指将不同频段的声音信号区分开来,分别给于放大,然后送到相应频段的器件中再进行重放。

2、分频器的原理和功能

本实验进行分频器的设计,主要用于实现频率划分的目的。

通过将一频率带划分成几个小频率带,可实现分频。

分频器的功能主要是用于后续综合实验过分频处理提供新的频率。

分频器可以分为偶数倍和奇数倍分频器。

①如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。

以此循环下去,就可以设计任意的偶数倍分频。

②奇数倍分频:

归类为一般的方法为:

对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数从零开始,到(N+1)/2进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。

再者同时进行下降沿触发的模N计数,到和上升沿过(N+1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。

两个占空比非50%的n分频时钟相与运算,得到占空比为50%的奇数n分频时钟。

3、分频器的实现

29分频器就是设计上升沿时钟分频,先定义两个计数器,开始时都赋值为0。

计数器1用上升沿触发,当计数到15时,输出时钟置0,计数器清零,重新计数,重新计数到14时,输出时钟置1,依次循环;计数器2用下降沿触发,采取同样的计数与置数操作。

最后两者相与运算,结果作为目标时钟,这就完成了占空比为50%的29分频。

实际上做了两次占空比非50%的分频,高电平部分是15个时钟周期,低电平为14个时钟周期,两者相与运算相当于是输出时钟在计数满14.5的时候做一次翻转处理,实现占空比为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个时钟周期,实现占空比为50%。

clkout与clkout2同样为29分频输出,假如对目标时钟的占空比不做要求,则可以通过clkout或者clkout2两个输出作为目标时钟。

(二)计数器的设计

1、器的定义

通过传动机构驱动计数元件,指示被测量累计值的器件即为计数器。

2、计数器的工作原理和功能

计数是一种最简单,最基本的运算。

计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。

但是由于无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。

计数器是由基本的计数单元和一些控制门所组成,而计数单元则由一系列具有存储信息功能的各类触发器构成。

这些触发器有RS触发器、T触发器、D触发器及JK触发器等。

3、计数器的实现

本实验是设计16进制的计数器,本实验的具体实现方法是:

(1)采用二进制计数,取计数器的初始计数值为0。

(2)采用上升沿触发,每当到达脉冲的上升沿时,产生触发信号,进行计数操作。

(3)计数时先判断前一个数值的大小,若小于16时,则计数加1;若等于16,则进位输出产生一个高电平。

4、计数器的实现图形

5、实验的分析与说明

由于是进制计数器,计数器从0计数到16。

,当计数值为16时,计数器置零,输出进位1,图形开始发生变化。

cnt_out为进位输出,mid_16为计数器。

(三)串行移位输出器的设计

1、串行移位输出器的定义和功能

串行移位输出器主要是实现数据的移位位的移位输出功能。

在后续的综合实验中,对于解帧器,数据可由串行移位输出器输出有很重要的作用。

2、串行移位输出器的实现方法

首先载入一个用于移位的二进制序列;然后判断时钟的变化,当碰到上升沿时,产生触发进行序列的移位,每次移位后,后面补新输入数据。

本实验实现14位的串行移位。

3、串行移位输出器图形

4、实验的分析与说明

图中,clk_576为输入时钟,datin为伪码发生器的伪码输入,mid为14位移位缓存器,datout为移位输出。

每一个时钟周期,将mid的值左移一位,最高位的值移到datout,低13位移位到高13位,最低位输入下一位伪码发生器传送来的数据。

移位输出可以设计为14个D触发器级联,最后生成模块,但是这样太繁琐,定义一个多位的缓存寄存器会减少很大代码量。

(四)伪码发生器的设计

1、伪码发生器定义

所谓“随机码”,就是无论这个码有多长都不会出现循环的现象,而“伪随机码”在码长达到一定程度时会从其第一位开始循环,由于出现的循环长度相当大。

2、伪码发生器功能

对于一个二进制序列,指定表头和移位的方向,将原来的序列沿移位方向移一个数据位,然后从原来的数据位中取出相应位的数值进行异或操作,在将结果放到表头,得到伪码序列。

在进行信号检测时有很重要的作用,因为其特性与高斯白噪声非常相似。

3、伪码发生器的实现

本实验要做伪码特征方程为伪码发生器。

先将二进制序列移位,然后在新的序列中取出在原来序列中对应的数据位的数值,在将取出的数值进行异或运算,最后将得到的结果放到表头。

从图中可以看到,该移位寄存器是将各寄存器的输出值抽出来,在外部进行异或运算之后再将该值反馈到输入端。

4、伪码发生器的仿真图形

5、实验的分析与说明

在时钟的控制下,寄存器的控制信号由上一级向下一级传递。

根据实验要求的特征方程

,所以要定义一个10位的移位寄存器,在开始时随便将其赋值,然后将其第9位、第7位和第3以及左后一位进行异或,将所得的值作为反馈存入移位寄存器的最低为作为下面的输入,然后相应的就会将最高为输出,如此循环,即可实现伪码发生器的功能,产生相应的数据。

实验要求数据速率是8Kb/s,系统时钟为8KHz,并利用该时钟信号去控制移位寄存器产生实验设计中所需要的伪随机信号。

(五)QPSKI/Q调制器的设计

1、QPSKI/Q调制器的功能和作用

QPSK技术的性能分析。

QPSK技术具有抗干扰能力强,误码性能好,频谱利用率高,等优点。

I为同相分量,Q为正交分量。

正交调幅信号QAM有两个相通频率的载波,但是相位相差90度。

一个信号叫I信号,另一个信号叫Q信号。

从数学角度将,一个信号可以表示成正弦,另一个表示成余弦。

两种被调制的载波在发射时已被混和。

到达目的地后,载波被分离,数据被分别提取然后和原始调制信息相混和。

从传输线角度来看,I/Q信号是一种双线传输模式,能量主要集中在两线之间。

与外界关系不大。

以此可以抗击共模干扰。

当然,双线间回路面积要小些。

2、QPSKI/Q调制器的实现方法

简单的说就是数据分为两路,分别进行载波调制,两路载波相互正交。

正交信号就是两路频率相同,相位相差90度的载波,一般用sin和cos,与I,Q两路信号分别调制后一起发射,从而提高频谱利用率,但在数字调制中我们是用时钟信号近视提取,分为两路。

3、QPSKI/Q调制器的仿真实现图

4、实验的分析与说明

图中,clk_576为伪码发生器的输入时钟,每个周期输出一位伪码,所生成的伪码序列如波形datin所示。

在每个时钟的下降沿对伪码输出波形采样,采样两次后更新iq_mo的值,采样第一次的值存入iq_mo[1],第二次的值存入iq_mo[0],这样就形成了I/Q两路信号。

由图中可以看出,datin的信息全部转化成了I/Q两路的信息。

在这个实验中,采样点的选择是关键,由于伪码的生成是选用上升沿触发,假如采样上升沿采样,会产生竞争冒险,使I/Q两路信号产生毛刺。

为了减少竞争冒险,延迟半个周期进行采样,在时钟周期的下降沿进行采样,减少了大量的毛刺,提高了I/Q两路信号的准确度。

(六)QPSKI/Q解调器的设计

1、QPSKI/Q解调器的功能

QPSKI/Q解调器的功能是还原I/Q调制信号,以使信息准确无误的被还原出来,达到预期的效果和功能。

2、QPSKI/Q解调器的的实现

QPSKI/Q解调器的的实现是QPSKI/Q调制器的逆过程,即在时钟脉冲下实现数据的提取,从而实现并串转换,还原出原始数据。

由于I/Q解调模块还附带有中频解调的功能,所以需要用到的时钟为中频调制载波频率的4倍频,为了减少程序的复杂性,I/Q两路的解调直接采用基带频率的64倍频,即为36.864MHz。

显然,如果由实验板的50MHz直接分频输出36.864MHz,得到的实际时钟精度不符合要求,所以需要将原来的50MHz先倍频,再进行分频,这样能提高时钟的精度。

本实验采用quartusii自带的alt_pll模块,对原始时钟信号进行4倍频,即200MHz,然后再分频。

具体的分频办法将在系统构建的实验里说明。

最后得出的输入时钟频率占空比不固定,但经过模64的计数器分频调整后,不影响I/Q解调。

利用计数器,每次循环计数到32时,根据顺序判断信号,选择输出I路或者Q路的采样值,然后继续计数,当再次计数到32时,再输出另外一路的信号,这样交替的输出,最后完成了I/Q的解调。

3、QPSKI/Q解调器的实现功能图

(1)

(2)

4、实验的分析与说明

图中的输入时钟为clk_256,,即为基带频率的64倍频。

I/Q两路信号如iq_mo波形所示,解调出来的波形如iq_de所示,y为6位计数器,data_out为伪码发生器生成的原始伪码波形。

从图

(1)可以看出,iq_mo的信号交替输出之后与iq_de的信号相符合,而iq_de信号与原始伪码波形同,只是有几个时钟周期的延时,能很好的还原出原始信号,完成了解调功能。

由于采用时钟为基带频率的64倍频,相当于每经过64个时钟周期才能输出一个伪码信号,所以需要计数64次才让顺序判断信号judge2跳转一次,最后根据顺序判断信号,交替输出一次iq_mo信号。

在本实验中,毛刺也是一个不容忽略的问题。

在iq_de交替输出的时候,会有一个时钟的误判,造成iq_mo1[1]与iq_mo[0]的交替选择延迟,使解调输出产生错误,形成毛刺。

这个时候就需要调整顺序判断信号judge2,使其跳转周期在iq_mo信号更新的后一个时钟周期发生翻转,再根据judge2进行判断选择输出,这样就可以避免误判与毛刺的产生。

(七)选项法中频调制

1、选项法中频调制的定义

选想法中频调制即根据并联的数据类型进行选择,按照输入的双比特码元的不同,逻辑选相电路输出相应相位的载波,例如,双比特码元IQ为10时输出45度载波IQ为00时输出相位为135度的载波等。

2、选项法中频调制的功能

选相法中频调制能使两路信号实现qpsk调制,而QPSK技术具有抗干扰能力强,误码性能好,频谱利用率高,等优点。

3、选想法中频调制的实现方法

在数字电路的设计中,采取(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为调制完成后的波形输出;iq_mo是I/Q两路信号。

实验要求调制信号为基带频率的16倍频,所以载波信号为基带信号的16倍频。

可以使用载波的4倍频,即基带频率的64倍频,做为基准时钟,按照相位不同输出对应(1100,0011,1001,0110)来产生相应的调制载波,但是频率越高,时钟的占空比波动越大。

本实验采用的基准时钟是载波的2倍频,即基带的32倍频,然后分成两路,carrier[0]与carrier[2]采用时钟上升沿触发,赋初始值分别为0,1;carrier[1]与carrier[3]采用时钟的下降沿触发,赋初始值分别为0,1,这样就能形成基带频率16倍频的四相位载波。

由于采用的基准时钟为基带频率的32倍频,所以需要在计数器每隔32个时钟采样一次伪码发生器的信号。

采样点选为16与48,这样相当于在伪码发生器的输入时钟下降沿进行采样,采样点没有电平跳变,避免了毛刺的产生。

根据I/Q值选择载波输出,图中在计数器计数值为48时候,I/Q发生了一次跳变,所选择的载波有carrier[0]变为carrier[2],产生了一次相位跳变,完成了信号的调制。

(8)中频解调器

1、中频解调的功能

对接收到的qpsk中频调制波形进行采样,每个周期采样4个点,然后根据调制时I/Q两路信号与载波相位的关系,解调出I/Q两路信号,最后根据同步的时钟,将I/Q两路信号合成一路信号,还原成原始输出的信号。

2、中频解调的实现方法

由于所用的中频频率为基带频率的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是采样计数器;judge是顺序判断信号,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信号后,采用QPSKI/Q解调器的I/Q解调方法,最终解调恢复出原始信号,从图

(2)可以看出,data_out与datout两个信号相同,只有几个时钟的延时。

由于采用的是QPSKI/Q解调器的解调方法,所以在顺序判断信号judge的翻转点要选择正确才能避免毛刺。

在采样的时候已经延时了4个时钟周期,需要在原来翻转计数点(32)加上4个时钟周期,再往后延时2个时钟周期,即计数点38处翻转,才能消除毛刺。

(九)系统综合

1、模块构成

整个系统包括倍频模块,分频模块,伪码发生器模块,调制模块,解调模块,移位输出模块,并加入了部分实验步骤的模块,例如8kb/s的伪码发生模块,29分频器以及16进制计数器模块。

2、总体电路图

3、模块分析

pll模块之后的模块,包括分频与调制解调最后到输出等模块已经介绍这里分析一下pll模块以及任意分频模块(图中的freq_any模块)。

实验板多采用50MHz的晶振,要直接产生576kb/s的基带频率及其16倍频、64倍频,很难保证分频的精度。

这时候提高分频的输入时钟就是关键的一步。

本实验先将50MHz的晶振时钟4倍频,得到200MHz的输出时钟,然后根据如下算法得出各个模块所需要的时钟。

参照频率合成的方法,假定基准频率为200Mhz,计数器为32位计数器,

,K为频率控制字

我们规定,对Cnt进行对半50%拆分,具体如下:

的时候,

,即低电平;

的时候,fo=1,即高电平。

通过这个方式得出步进值K,可以算出基带频率的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,精度提升有限。

由图中可以看出,直接I/Q解调与中频解调输出,与原序列都仅仅有延迟差别而已,所以该调制解调系统工作正常,从实验结果来看,系统实现了预期的目的。

六技术分析及总结

本次实验是基于FPGA实现的,使用verilog语言编写这7个模块并使用quartus仿真软件来对其仿真。

从实验结果来看均实现了预期的目的,达到了实验的目的,符合各项技术指标。

本次实验过程中碰到了许多问题和难点,一方面quartus平台的限制以及对modelsim平台的不熟悉,另一方面在实验参数的选取与实现方面,都给我带来了许多障碍。

考虑到quartusii在高精度仿真下的不稳定性,本实验采用quartusii与modelsim联合仿真,取得了很好的效果,但是quartusii平台直接调用modelsim却比较复杂,包括路径设置复杂,alter仿真库的的载入比较繁琐,无法直接支持alt_pll文件的编译等等一系列问题,都严重影响了实验的进度。

在参数选取方面,如何选择时钟,如何提高精度,都是要考虑的问题,选择不好不仅会造成资源浪费,还会影响系统功能的实现。

而实验过程中,竞争冒险带来的毛刺也是比较棘手的问题,通过查找资料,知道适当的延时可以在一定程度上消除毛刺。

在中频调制部分,利用D触发器工作原理,可以让载波生成部分所需要的输入时钟减少一半,提高精度也减少资源的浪费,而解调部分采样时钟的占空比可以不固定,但是一定要每个周期采样够4个点。

本实验的最难的一点是如何通过分频实现精度较高的时钟,假如基准时钟与目标时钟相差很远,那么精度就会更高,或者基准频率与目标频率成倍数关系,那么就可以直接通过奇数或偶数分频直接实现。

对于本实验所需的576kb/s的基带频率,它与基准频率并不是倍数关系,需要通过先倍频后分频的步骤提高精度。

如果能继续提高器件的倍频上限,就能使基带频率更加接近实验所要求的频率,因而精度更高。

通过本次实验使我对VHDL语言有了更加具体深刻的体会,让我对它有了进一步的认识,也使我对quartusii,modelsim这两个开发平台有进一步的了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2