基于VHDL语言的ASKPSKFSK的EDA实训报告要点.docx
《基于VHDL语言的ASKPSKFSK的EDA实训报告要点.docx》由会员分享,可在线阅读,更多相关《基于VHDL语言的ASKPSKFSK的EDA实训报告要点.docx(13页珍藏版)》请在冰点文库上搜索。
![基于VHDL语言的ASKPSKFSK的EDA实训报告要点.docx](https://file1.bingdoc.com/fileroot1/2023-5/18/3bf8b682-d443-4688-ab72-fc8c1f1cf9ff/3bf8b682-d443-4688-ab72-fc8c1f1cf9ff1.gif)
基于VHDL语言的ASKPSKFSK的EDA实训报告要点
数字电路EDA设计报告
题目2FSK2ASK2PSK的信号发生器
学院桂林理工大学
专业通信技术
组员姓名唐敏罗薰雨冯雪莲
学号19、43、01
指导教师韦燕朱敦忠
二〇一三年七月
2FSK2ASK2PSK信号产生器的设计
一、实验目的
(1)熟悉QUARTUS的基本使用。
(2)学会在硬件上实现软件的功能。
(3)学习VHDL基本单元电路的综合设计应用。
二、实验内容
设计并调试好2FSK2ASK2PSK信号产生器,并用EDA实验开发系统。
1.FSK信号
1.1FSK信号产生原理
数字频率调制又称频移键控(FSK),二进制频移键控记作2FSK。
数字频移键控是用载波的频率来传送数字消息,即用所传送的数字消息控制载波的频率。
2FSK信号便是符号“1”对应于载频
,而符号“0”对应于载频
(与
不同的另一载频)的已调波形,而且
与
之间的改变是瞬间完成的。
从原理上讲,数字调频可用模拟调频法来实现,也可用键控法来实现。
模拟调频法是利用一个矩形脉冲序列对一个载波进行调频,是频移键控通信方式早期采用的实现方法。
2FSK键控法则是利用受矩形脉冲序列控制的开关电路对两个不同的独立频率源进行选通。
键控法的特点是转换速度快、波形好、稳定度高且易于实现,故应用广泛。
2FSK信号的产生方法如图1所示。
图中
为代表信息的二进制矩形脉冲序列,
即使2FSK信号[2]。
图12FSK信号产生方法
根据以上2FSK信号产生的原理,已调信号的数字表达式见式:
其中,s(t)为单极性非零矩形脉冲序列,公式见式:
其中
表达式见式:
为对
逐码元取反而形成的脉冲序列,其表达式见式:
其中,
是
的反码,即若
,则
;若
,则
。
表达式见式:
2FSK信号的功率谱公式见式:
1.2FSK信号产生器各模块
整个2FSK系统共分为分频器、m序列产生器、跳变检测、正弦波信号发生器和DAC数模变换器等5部分,其中前4部分由FPGA器件完成。
图2所示为2FSK信号发生器框图。
图22FSK信号发生器框图
1.3分频器
本设计的数据速率为1.2kb/s,要求产生1.2KHz和2.4KHz两个正弦信号。
对每个码元持续周期所对应正弦信号取100个采样点,因此要求能产生两个时钟信号:
1.2KHz(数据速率)和120KHz(正弦波信号发生器输入时钟)。
基准时钟由外部时钟输入,因此需设计一个100分频器产生120KHz信号,再设计一个100分频器产生1.2KHz信号。
1.4m序列产生器
m序列是伪随机序列的一种,它的显著特点是:
(1)随机特性;
(2)预先可确定性;
(3)循环特性,从而在通信领域得到了广泛的应用。
本设计用一种带有两个反馈抽头的三级反馈移位寄存器得到一串“1110010”循环序列,并采取措施防止进入全“0”状态。
通过更换时钟频率,可以方便地改变输入码元的速率。
m序列产生器的电路结构如图3-2所示。
图3“1110010”伪随机m序列产生器图
1.5跳变检测
将跳变检测引入正弦波的产生中,可以使每次基带码元上升沿或下降沿到来时,对应输出波形位于正弦波形的
处。
基带信号的跳变检测可以有很多方法,图4所示为一种在可编程逻辑器件中实现的方案。
图4信号跳变检测电路图
1.6正弦信号的产生
用数字电路和DAC变换器可以产生要求的模拟信号。
根据抽样定理可知,当用模拟信号最大频率两倍以上的速率对该模拟信号采样时,便可将原模拟信号不失真地恢复出来。
本设计要求得到的是两个不同频率的正弦信号,其频率正好呈倍数关系。
设计中对1.2KHz的正弦波一个周期采样100个点,即采样速率为原正弦信号频率的100倍。
因此完全可以在接收端将原正弦信号不失真地恢复出来,从而可以在接收端对FSK信号正确地解调。
本设计中每个采样点采用8位量化编码,即8位分辨率。
采样点的个数与分辨率的大小主要取决于FPGA器件的容量,其中分辨率的高低还与DAC的位数有关。
本设计中,数字基带信号与2FSK调制信号的对应关系为:
“0”对应1.2KHz,“1”对应2.4KHz。
具体的正弦波信号产生器可以用查找表来实现。
按前面的设计思想,本方案需要设计有100个单元的查找表,其中每个单元分别保存100个正弦波采样的对应样值。
当码元由1变为0时,为了产生1.2KHz的正弦信号,只需要将查找表中的内容逐一读出即可,直到将查找表中所有单元读取完毕,然后再从第一单元开始读取。
这样,每个码元周期内将输出一个周期的正弦波信号。
当码元由0变为1时,为了产生2.4KHz的正弦信号,就不能逐一读取所有单元了,而要每隔一个单元读取一个样值。
这样,在每个码元周期内就会对整个查找表读取两次,即输出两个周期为2.4KHz的正弦波信号。
1.7功能仿真波形及分析
2FSK的总体波形如图5所示,其中CLOCK为正弦波发生器时钟MODE表示0:
2FSK;1:
2PSK,CLK120为用于产生一个1.2KHz的正弦波信号,CLK240为用于产生一个2.4KHz的正弦波信号,VALUE为正弦波的采样点峰值,M_MODE为输出m序列。
图52FSK仿真波形图
下图6所示为产生的2FSK波形,可以明显地看到在M_MODE跳变前后VALUE的码元宽度相差一倍,实现了2FSK的频率变化来传递数字信息,即120KHz表示信号“0”,240KHz表示信号“1”。
图62FSK仿真波形图
下图7可以看出传递信号“1”的波形密度明显比传递信号“0”的波形密度高。
图72FSK仿真波形图
2FSK的信号传递频率从下图8中可以看出为240KHz,信号“1”和“0”的跳变是通过相位的改变来实现的。
图82FSK仿真波形图
2ASK信号
数字信号对载波信号的振幅调制称为振幅键控即ASK,2ASK是利用代表数字信息“0”或“1”的基带矩形脉冲去键控一个连续的载波,是载波时断时续的输出。
有载波输出是表示发送“1”,无载波输出时表示发送“0”。
2.12ASK的调制
2.1.12ASK的调制方法有两种分别是相乘电路法和键控法
1、相乘电路法:
乘法器输入法的输入是随机信息序列,经过基带信号形成器,产生序列波形,乘法器用来进行频谱搬移,相乘后的信号通过带通滤波器除去高频谐波和低频干扰。
带通滤波器的输出是振幅键控信号。
乘法器采用环形调制器。
图9所示为该方法的原理图。
图9
2、键控法
键控法是产生ASK信号的另一种方法。
2ASK又称通断控制(OOK)最典型的实现方法是用一个电键控制载波振荡器的输出来获得。
为适应自动发送高速数据的要求,键控法中的电键可以利用各种形式的受基带信号控制电子开关来实现,代替电键产生ASK信号。
图二所示就是数字电路实现键控产生ASK信号的实例。
该电路是用基带信号控制与非门的开闭,实现ASK调制,产生ASK信号。
图10
图11中,当基带信号为高电平时,开关电路如图所示,当基带信号为低电平时,开关处于断开状态,二进制振幅键控信号状态为零,此时二进制振幅键控信号又常称为通-断键控信号(OOK信号)。
2.2ASK调制系统调制模型
根据上述对ASK调制系统的原理研究,结合VHDL硬件描述语言的特点对ASK调制系统设计了调制模型
2.3ASK调制VHDL程序仿真图
ASK调制VHDL程序仿真图如图12所示。
图12ASK调制仿真全图
图13
3.2PSK信号产生器:
3.12PSK基本原理
数字相位调制是用数字基带信号控制载波的相位,使载波的相位发生跳变的一种调制方式,传统的2PSK(二进制相位键控)调制可采用直接调相法即双极性数字基带信号与载波直接相乘的方法,也可采用相位选择法即由振荡器和反相器电路来实现调制的方法,但它们存在电路设计复杂、误码率高等缺点。
FPGA是一种直接面向广大用户的可编程逻辑器件,具有极大的灵活性和通用性非常适合采用软硬件结合来设计各种实用的数字电子系统。
本文在介绍2PSK调制基本原理的基础上,介绍了一种调制算法主要采用FPGA来实现的设计方法,并进行了系统仿真,通过设计实践证明了该方法具有设计灵活、实效性好和效率高的优越性。
2PSK是利用载波的不同相位去直接传送数字信息的一种方式,若用相位仃代表“0”码,相位0代表“1”码,即规定数字基带信号为“0”码时,已调信号相对于载波的相位为π;数字基带信号为“1”码时,已调信号相对载波信号为同相。
PSK又称相移键控,它是利用载频频率的变化来传递数字信息。
而数字调频信号可以分为相位离散和相位连续两种。
若两个载频由不同的独立振荡器提供,它们之间的相位互不相关,就称为相位离散的数字调频信号;若两个频率由同一振荡器提供,只是对其中一个载频进行分频,这样产生的两个载频就是相位连续的数字调频信号。
3.2分频器
本设计的数据速率为3Mb/s,要求产生3MHz的正弦信号。
对每个码元持续周期所对应正弦信号取100个采样点,因此要求能产生一个时钟信号:
3MHz(数据速率)和300MHz(正弦波信号产生器输入时钟)。
基准时钟由外部时钟输入,因此设计一个模100分频器产生3MHz信号用于m序列产生器。
3.3m序列产生器
m序列是伪随机序列的一种,它的显著特点是:
(1)随机特性;
(2)预先可确定性;
(3)循环特性,从而在通信领域得到了广泛的应用。
本设计用一种带有两个反馈抽头的三级反馈移位寄存器得到一串“1110010”循环序列,并采取措施防止进入全“0”状态。
通过更换时钟频率,可以方便地改变输入码元的速率。
3.4跳变检测
将跳变检测引入正弦波的产生中,在检测到基带码元的上升沿或下降沿时,使输出波形相位跳变即可,即在跳变沿处修改查找表地址指针,使地址指针加“50”并对结果模100,得到的即是倒相后的波形样值地址。
3.5正弦信号的产生
用数字电路和DAC变换器可以产生要求的模拟信号。
根据抽样定理可知,当用模拟信号最大频率两倍以上的速率对该模拟信号采样时,便可将原模拟信号不失真地恢复出来。
设计中对3MHz的正弦波一个周期采样100个点,即采样速率为原正弦信号频率的100倍。
因此完全可以在接收端将原正弦信号不失真地恢复出来,从而可以在接收端对2PSK信号正确地解调。
本设计中每个采样点采用8位量化编码,即8位分辨率。
采样点的个数与分辨率的大小主要取决于FPGA器件的容量,其中分辨率的高低还与DAC的位数有关。
本设计中,数字基带信号与2PSK调制信号的对应关系为:
“0”对应0相位正弦波,“1”对应π相位正弦波。
具体的正弦波信号产生器可以用查找表来实现。
按前面的设计思想,本方案需要设计有100个单元的查找表,其中每个单元分别保存100个正弦波采样的对应样值。
当码元由1变为0时或者当码元由0变为1时,为了产生π相位的正弦信号,只需要将查找表中的内容逐一读出即可,直到将查找表中所有单元读取完毕,然后再从第一单元开始读取。
这样,每个码元周期内将输出一个周期的正弦波信号。
3.6ASK调制VHDL程序波形图
图14
4.总结:
这次实训让我知道了,我们平时所学的知识如果不加以实践的话等于纸上谈兵。
实训主要是我们理论知识的延伸,它的目的主要是要在设计中发现问题,并且自己要能找到解决问题的方案,形成一种独立的意识。
这次实训让我们知道了,做什么事情都要有耐心,我们的程序改了很久才正确,放到硬件上,波形出不来,一次次的失败让我们有崩溃的感觉,但我们没有放弃,在自己的努力和老师的耐心指导下,我们终于做出来了,真的很高兴,这次实训又一次告诉我们要相信自己,要有耐心、信心。
参考文献
[1]吴海涛,梁迎春,陈英俊.基于FPGA的全数字FSK调制解调器.现代电子技术,2009,30(23):
72-76
[2]吴国增,李荣强,赵安邦.基于VHDL语言的2FSK信号发生器设计.电子元器件应用,2006,8(8):
2
[3]SimonHaykin.CommunicationSystemsFourthEdition通信系统.北京:
电子工业出版社,2010
[4]金凤莲.VHDL语言在EDA仿真的应用.现代电子技术,2005(197):
115-122