数字调制的FPGA实现设计.docx
- 文档编号:11792152
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:32
- 大小:639.35KB
数字调制的FPGA实现设计.docx
《数字调制的FPGA实现设计.docx》由会员分享,可在线阅读,更多相关《数字调制的FPGA实现设计.docx(32页珍藏版)》请在冰豆网上搜索。
数字调制的FPGA实现设计
信息与通信工程学院专业综合设计
数字调制的FPGA实现设计
学号
姓名
班级
开题报告
成果验收
结题答辩
结题报告
最后成绩
指导教师:
XXX
所属专业:
电子信息工程
XXXX年XX月XX日
附录1:
立题论证书模板
信息研究所专业综合设计立题论证书
院(系)信息与通信工程学院题目对应专业电子信息工程
题目申报人
XXX
职称
教授
申报时间
XXXX.XX.XX
题目名称
数字调制的FPGA实现设计
题目来源
(划√号,不可多选)
在研科
研项目
生产实践
自拟题目
√
题目类型
理工类
理论研究类□工程设计类√软件开发类□
科学实验类□综合类□(划√号,不可多选)
课题
内容
用VerilogHDL语言设计实现数字调制系统,包含4种方式数字调制模块
①2-ASK
②BPSK
③QPSK
④2-FSK
在软件开发平台上调试通过,并与MATLAB仿真结果进行对比验证。
课题
要求
(含技术指标)
1.本课题应完成的工作内容
基于FPGA和VerilogHDL语言设计一个数字调制系统。
包含4种方式数字调制模块:
①2-ASK;②BPSK;③QPSK;④2-FSK
2.技术指标、预期目标
输入信号为码速率为32kbps数字信号,载波频率为1MHz。
3.成果形式
给出完整的数字同相正交锁相环FPGA实现的设计,设计结果要通过ModelSim环境及MATLAB环境的双重仿真验证。
主
要
参
考
资
料
[1]田耘,徐文波,张延伟.无线通信FPGA设计[M].北京:
电子工业出版社,2008.
[2]杜勇.数字调制解调技术的MATLAB与FPGA实现[M].北京:
电子工业出版社,2015.
[3]UweMeyer-Baese.数字信号处理的FPGA实现(第3版)[M].刘凌译.北京:
清华大学出版社,2011.
[4]AlteraIP核数据手册.IntegerArithmeticIPCoresUserGuide[M],2014.
组长对课题修改建议
立题符合培养要求,指标明确,课题要求合理。
做该课题
学生姓名
XXX
班级
电信X班
学号
XXXXXXX
做该课题
学生姓名
XXX
班级
电信X班
学号
XXXXXXX
做该课题
学生姓名
XXX
班级
电信X班
学号
XXXXXXX
做该课题
学生姓名
XXX
班级
电信X班
学号
XXXXXXX
信息与通信工程学院专业综合设计开题报告
数字调制的FPGA实现设计
学生姓名学号:
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
指导教师:
XXX
所属专业:
电子信息工程
XXX年XX月XX日
一、项目内容
用VerilogHDL语言设计实现数字调制系统,包含4种数字调制模块。
1.2ASK
2.BPSK
3.QPSK
4.2FSK
在软件开发平台上调试通过,并与MATLAB仿真结果进行对比验证。
二、项目要求(技术指标)
1.输入信号为码速率为32kbps数字信号,载波频率为1MHz。
2.给出完整的数字同相正交锁相环FPGA实现的设计,设计结果要通过ModelSim和MATLAB环境的双重仿真验证。
三、研究方案
1.2-ASK(二进制幅移键控)模块
1)MATLAB仿真
实现2-ASK信号的方法有两种:
1按照模拟调制法使用乘法器实现:
图4.1模拟调制法
2键控法使用开关电路实现,开关K的动作由S(t)决定
图4.2键控法
2)FPGA实现
利用IP核,输出2-ASK调制波形。
输入信号是01信号,通过二选一开关,当信号为零时直接输出0,当信号为1时,使信号和载波相乘,这样就可以产生2ASK调制信号
2.2-FSK(二进制频移键控)模块
1)MATLAB仿真
实现2-FSK信号的方法有两种:
①按照时域表达式实现
②采用MATLAB软件里提供的FSK信号调制函数fskmd()
第一种方法实现非连续相位FSK信号比较容易,但是无法产生连续相位的FSK信号;第二种方法只需设置几个参数就可以产生所需调制度及相位特征的FSK信号,使用起来也比较方便,故采用方法二实现。
2)FPGA实现
实现2-FSK信号的方法也有两种:
1按照时域表达式实现
2采用FPGA中的DDS核
对于第一种方法,载频信号的产生可以用DDS核,代数运算可以调用相应的IP核,但是该方法无法产生连续相位的2-FSK信号;对于第二种方法,根据DDS的工作原理,DDS具有产生连续相位的2-FSK信号,即使在突然改变输出信号频率的情况下,DDS的输出相位仍然具有相位连续的特征,相比之下采用第二种方法。
3.BPSK(双向移向键控)模块
1)MATLAB仿真
BPSK中采用初始相位0和π表示二进制数0和1BPSK时域表达式
故BPSK可以表示成一个双极性全占空矩形脉冲序列与一个正弦载波相乘。
2)FPGA实现
①利用BPSK时域表达式,根据数字信号对相应的载波进行选通。
②利用IP核,输出BPSK调制波形。
在没有信号时,输出标准正弦信号,输入信号为0或1时,通过改变查找正弦查找表的方式改变输出信号相位。
即对正弦信号进行调相(保证幅度和频率不变)
4.QPSK(四相制移相键控)模块
一个完整的四相调相(QPSK)器的方框图如图所示。
图4.3四相调相器
输入的是二进制信息序列。
有两种实现方法,第一种方法是直接调相法,先将二进制输入码元(双极性非归零码)经过串/并行变换,再分别对两路码元分别进行BPSK,再对两路BPSK进行求和,输出QPSK信号,由于这种方法有负值信号输入,所以一般用于模拟实现,如图4.4所示;第一种方法是相位选择法,先将二进制输入码元(单极性非归零码)经过串/并行变换,再由获得的双比特流进行相位选择,输出QPSK信号,如图4.5所示。
由于涉及到FPGA的实现,而FPGA是一种数字器件,只能接受正电压,因此采用相位选择法,双比特码元采用循环码制式。
图4.4直接调相法
图4.5相位选择法
1.MATLAB仿真
由以上推导可知,QPSK是两个BPSK之和,采用循环码调制;或者是四种相位载波,随输入码元的变化的调制方式。
2.FPGA实现
1)将二进制流转换成两路并行双比特码元;
2)根据双比特码元,选择不同相位的载波,得到QPSK信号。
四、组内各成员预期完成的主要工作
组长XXX:
VerilogHDL语言设计QPSK数字调制系统,并实现MATLAB仿真;系统综合实现。
组员XXX:
VerilogHDL语言设计2-FSK数字调制系统,完成MATLAB仿真。
XXX:
VerilogHDL语言设计BPSK数字调制系统,完成MATLAB仿真。
XXX:
VerilogHDL语言设计2-ASK数字调制系统,完成MATLAB仿真。
五、进度安排
2017.9.20-9.26组内成员讨论提出实现方案,完成开题报告
2017.10.1-10.20完成各自MATLAB语言编写工作。
2017.10.25-11.12完成各部分VerilogHDL。
2017.11.12-11.16综合四个数字调制部分,完成ModelSim仿真。
2017.11.20-11.26准备结题答辩。
六、参考文献
[1]田耘,徐文波,张延伟,无线通信FPGA设计[M].北京:
电子工业出版社,2008.
[2]杜勇.数字调制解调技术的MATLAB与FPGA实现[M].北京:
电子工业出版社,2015.
[3]UweMeyer-Baese.数字信号处理的FPGA实现(第3版)[M].刘凌译.北京:
清华大学出版社,2011.
[4]AlteraIP核数据手册.IntegerArithmeticIPCoresUserGuide[M],2014.
[5]樊昌信,曹丽娜.通信原理(第7版)[M].北京:
国防工业出版社,2015.
信息与通信工程学院专业综合设计结题报告
数字调制的FPGA实现设计
学生姓名学号:
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
指导教师:
XXX
所属专业:
电子信息工程
XXXX年XX月XX日
摘要
现代社会的信息化进程不断加速,极大地推动了数字通信系统的快速发展,而数字调制技术是数字通信系统其中一项关键技术,直接影响数字通信系统的性能与质量。
近年来FPGA技术快速发展,由于FPGA具备可灵活编程,可反复擦写等许多优良特性,使得FPGA在电子工程设计中应用越来越广泛。
本论文首先介绍了课题的研究背景和意义,对数字调制技术、FPGA技术进行了简单介绍,并对本论文涉及的相关技术原理进行了必要的理论研究分析,为课题设计准备好相关理论依据。
在此基础上论述了本论文四种数字调制系统的设计,并进行了软件功能仿真验证。
同时与MATLAB仿真结果进行对比分析。
最后,设计可以做到模块化,能较方便地移植用于其他基于FPGA的数字通信系统,具有可移植性好、适用性高的优点。
关键词:
2ASK;2FSK;BPSK;QPSK
ABSTRACT
Acceleratingtheinformatizationprocess,modernsocietyhasgreatlypromotedtherapiddevelopmentofdigitalcommunicationsystem,anddigitalmodulationtechnologyisoneofthekeytechnologiesofdigitalcommunicationsystems,adirectimpactontheperformanceofdigitalcommunicationsystemandquality.FPGAhasdevelopedrapidlyinrecentyears,andtheFPGAhasmanyexcellentfeaturessuchasflexibleprogrammingandrepeatability,whichmakestheFPGAmoreandmorewidelyusedinelectronicengineeringdesign.Thispaperfirstintroducestheresearchbackgroundandsignificanceofthedigitalmodulationtechnology,FPGAtechnologyhascarriedonthesimpleintroduction,andthispaperinvolvestherelatedtechnicalprincipleanalyzedthenecessarytheoreticalresearch,readytorelatedtheoreticalbasistostudydesign.Onthisbasis,thedesignoffourdigitalmodulationsystemsofthisthesisisdiscussedandthesoftwarefunctionsimulationverificationiscarriedout.Meanwhile,thesimulationresultsofMATLABarecomparedandanalyzed.Finally,thedesigncanbemodularizedandcanbeeasilytransplantedtootherFPGAbaseddigitalcommunicationsystemswithhighportabilityandhighapplicability
Keywords:
2ASK;2FSK;BPSK;QPSK
一、项目内容
用VerilogHDL语言设计实现数字调制系统,包含4种数字调制模块。
1.2ASK
2.BPSK
3.QPSK
4.2FSK
在软件开发平台上调试通过,并与MATLAB仿真结果进行对比验证。
二、项目要求(技术指标)
1.输入信号码速率为32kbps数字信号,载波频率为1MHz。
2.给出完整的数字同相正交锁相环FPGA实现的设计,设计结果要通过ModelSim和MATLAB环境的双重仿真验证。
三、成果概述
1.实现2-ASK,2-FSK,BPSK,QPSK的基于FPGA的调制,在Quartus和ModelSim联合仿真环境下可观察到已调波形,与预期相符。
其中输入信号为码速率为32kbps数字信号,载波频率为1MHz的正弦波,满足题目要求。
2.在MATLAB环境下对2-ASK,2-FSK,BPSK,QPSK四种调制方式进行波形仿真。
3.在MATLAB环境及ModelSim环境下双重仿真验证均与预期结果相同。
4.使用Quartus的硬件仿真工具SignalTapII实现在线仿真与预期结果相同。
5.用已有的FPGA开发板做出实际的输出波形与预期结果相同。
四、技术方案及实现
1.方案综合概述
1.1.2ASK调制
2ASK是利用载波的幅度变化传递数字信号信息,而其频率和初始相位保持不变,载波的幅度只有两种变化状态,对应二进制信息0和1,2ASK调制有两种实现方法:
模拟调制法和键控法。
1)乘法器实现法:
输入随机信号序列,经过基带信号形成器后,产生波形序列,乘法器用来实现频谱搬移,相乘后的信号通过乘法器滤出高频载波和低频干扰,如图4.1。
图4.6乘法器实现2ASK
2)键控法:
用一个电子开关来控制载波震荡器的输出,如图4.2。
图4.7键控法实现2ASK
键控法的实现简单,便于理解,实际编程难度小,故选择键控法作为2ASK信号调制的实现方法。
1.2.2FSK调制
频移键控是对载波频率的调制,利用不同频率的载波来传递数字信号,用数字基带信号控制载波信号的频率,即用不同频率的载波来控制两种数字电平。
接收端根据不同频率的载波解调出数字信号,完成信息传递。
有两种产生2FSK信号的方法,分别为直接调频法和频率键控法。
1)直接调频法:
采用数字基带信号直接控制载频振荡器的频率,得到不同的载波频率。
2)频率键控法:
使用两个不同频率的振荡器,数字基带信号控制选择开关,选择不同频率的高频振荡信号来实现2FSK的调制。
设计中选择直接调频法实现2FSK信号的调制,通过数字信号的0和1来控制载波的步进,实现两种不同的频率合成。
该种方法便于理解,且程序简单占用存储空间小。
1.3.BPSK调制
数字信号对载波相位的调制成为相位键控,即通过数字基带信号控制载波的相位,使得载波相位在码元跳变处发生跳变的一种调制方式。
常用同一个载波的两种相位表示数字信号,相对于ASK和FSK调制方式来说,PSK系统抗噪声能力更强,BPSK的调制过程通常采用键控法实现。
调制模型如图4.3所示。
图4.8BPSK调制模型
1.4.QPSK调制
输入的是二进制信息序列。
有两种实现方法,第一种方法是直接调相法,先将二进制输入码元(双极性非归零码)经过串/并行变换,再分别对两路码元分别进行BPSK,再对两路BPSK进行求和,输出QPSK信号,由于这种方法有负值信号输入,所以一般用于模拟实现,如图4.4所示;第一种方法是相位选择法,先将二进制输入码元(单极性非归零码)经过串/并行变换,再由获得的双比特流进行相位选择,输出QPSK信号,如图4.5所示。
由于涉及到FPGA的实现,而FPGA是一种数字器件,只能接受正电压,因此采用相位选择法,双比特码元采用循环码制式。
图4.9直接调相法
图4.10相位选择法
2.各部分具体设计及实现方案
1.
2.
2.1.2ASK模块具体设计
1.
2.
2.1.
2.1.1.MATLAB仿真
二进制幅移键控(2ASK)调制是载波相位按基带脉冲变化的一种调制方式,其信号形式一般表示为
2ASK可以表示为一个双极性全占空矩形脉冲序列与一个正弦载波相乘。
利用MATLAB自带函数随机产生0,1序列,将此序列与MATLAB自带的sin函数产生的正弦波形相乘,即可以实现2ASK信号调制。
2.1.2.FPGA实现
通过键控法实现2ASK调制。
采用ROM核和相位累加器生成正弦波。
当输入信号为0时,输出为0,当输入的数字信号为1时,控制最终输出的模拟信号为标准正弦波。
调制模型图4.6。
图4.112ASK调制模型
2.2.BPSK模块具体设计
二进制移相键控(BPSK)调制是载波相位按基带脉冲变化的一种调制方式,其信号形式一般表示为
1.
2.
2.1.
2.2.
2.2.1.MATLAB方案论证及实现
BPSK中采用初始相位0和π表示二进制数0和1,根据时域表达式可以得出结论:
BPSK可以表示为一个双极性全占空矩形脉冲序列与一个正弦载波相乘。
利用MATLAB自带函数随机产生0,1序列,将0,1序列转换为1和-1的序列,将此序列与MATLAB自带的sin函数产生的正弦波形相乘,即可以实现BPSK信号调制。
2.2.2.FPGA方案实现
同样根据BPSK的信号时域表达式,根据键控法产生BPSK调制信号的原理,基于Quartus软件的及VerilogHDL语言的BPSK信号调制可以主要分为几个模块。
1.
2.
2.1.
2.2.
2.2.1.
2.2.2.
2.2.2.1.正弦波发生模块
正弦波的产生主要是通过调用Quartus软件自带的ROM核和相位累加模块来实现相位累加器包含一个加法器和一个相位寄存器,每来一个时钟脉冲,加法器就将频率控制字与相位寄存器中的数据相加。
相位寄存器可以将加法器在上一个时钟作用后产生的新相位数据反馈到加法器的输入端,使加法器在下一个时钟的作用下继续将相位数据与频率控制字相加。
这样,相位累加器在参考时钟的作用下进行线性相位累加。
当相位累加器达到上限时,就会产生一次溢出,完成一个周期性的动作,这个周期就是信号的一个周期,相位累加器受频率控制字控制输出相位数据,用相位累加器输出的相位数据作为相位/振幅变转换电路的地址对其进行查找。
相位/振幅转换电路将相位累加器的相位信息映射成数字振幅信息,将数字振幅数据再经过D/A转换器得到相应的阶梯波,最后经低通滤波器对阶梯波进行平滑处理,即可得到由频率控制字决定的连续变化的输出波形。
为了对ROM模块内的数据进行加载,首先应建立相应的*.mif(MemoryInitialFile)文件。
它可以用C语言编写源程序,得到对应波形的数据,生成*.mif文件,再用QuartusII软件定制LPM_ROM,并加载刚才建立的mif波形文件初始化ROM。
最终根据相位累计模块与ROM模块最终生成所需要的频率为100MHz的正弦波。
将此正弦波用于BPSK调制时最终需要的载波。
2.2.2.2.BPSK调制模块
使用键控法,实现BPSK信号的调制。
当输入数字信号为0时,控制输出的正弦波为标准正弦波,当输入的数字信号为1时,控制最终输出的模拟信号为反相的正弦波。
最终实现BPSK的调制。
最终的FPGA调制原理图如图4.7所示
图4.12BPSK调制模型
BPSK调制中,正弦波发生模块通过相位累加,.mif为ROM查找表产生对应频率的载波,通过输入的0,1码元控制载波的相位发生翻转。
当码元为0时输出原载波,码元为1时输出载波的反相信号,最终结果即为BPSK的调制结果。
2.3.2FSK模块具体设计
2.3.
2.3.1.MATLAB仿真
实现2-FSK信号的方法有两种:
1按照时域表达式实现
2采用MATLAB软件里提供的FSK信号调制函数fskmd()
第一种方法实现非连续相位FSK信号比较容易,但是无法产生连续相位的FSK信号;第二种方法只需设置几个参数就可以产生所需调制度及相位特征的FSK信号,使用起来也比较方便,故采用方法二实现。
2.3.2.FPGA实现
实现2-FSK信号的方法也有两种:
1按照时域表达式实现
2采用FPGA中的IP核,用数字基带信号控制频率控制字从而控制输出信号的频率。
对于第一种方法,载频信号的产生可以用DDS核,代数运算可以调用相应的IP核,但是该方法无法产生连续相位的2-FSK信号;对于第二种方法,只需在相位累加器模块用数字基带信号控制频率控制字即可控制相应的输出信号频率,相对来说简单一些,且其相位也连续,相比之下采用第二种方法。
该方法原理框图4.8。
图4.132FSK的FPGA实现原理
在原理框图中,频率控制字与系统时钟频率、相位累加器的位数有关,它们之间关系为
其中:
为输出频率,
为系统时钟频率,N为相位累加器的位数,
为频率控制字
正弦波查找表部分由ROM核构成,将生成的mif文件加载到ROM核中,当相位累加器模块给出查找地址时,就输出对应的值,地址的增加是线性的,而mif文件中的值为正弦波形的一个周期,这样就可以输出一个正弦波形。
2.4.QPSK模块具体设计
四进制移相键控(QPSK)调制和BPSK一样,是载波相位按基带脉冲变化的一种调制方式,其信号形式一般表示为
四相调制是一种四进制的相位键控,每个码元包含两个二进制信息。
为此,在四相调制输入端,通常要对输入的二进制码序列进行分组,两个码元分成一组,这样就可能有00,01,10,11四种组合,每种组合代表一个四进制符号,然后用四种不同的载波相位去表征它们。
我们把由两个二进制码组成的码元称为双比特码元。
因此,在调制器的输入端需要有将二进制码变成双比特码元的串/并行变换电路。
为了有效降低误码率,双比特码元采用循环码编码的方式可以。
四种相位的分布有两种方式分别为方式A和方式B,方式A的星座图如图4.9所示,方式B的星座图如图4.10所示。
图4.14相位选择法方式A
图4.15相位选择法方式B
2.4.
2.4.1.MATLAB方案论证及实现
根据以上推导,实现QPSK有两种方法,分别为直接调相法和相位选择法,都需要用到串/并转,不同点在于所使用的输入码元类型不同。
直接调相法要求输入的二进制码元必须为双极性非归零码,而相位选择法则没有要求,只要能区分出不同的信号即可。
为了方便,我们在这里都统一使用双极性非归零码。
利用MATLAB自带函数随机产生0,1序列,将0,1序列转换为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 调制 FPGA 实现 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)