利用EDA技术设计一个2ASK调制系统并仿真测试
利用EDA技术设计一个2ASK调制系统并仿真测试,利用EDA技术设计一个2ASK调制系统并仿真测试,利用,应用,eda,技术设计,一个,ask,调制,系统,仿真,测试
广西工学院设计报告专用纸通信原理课程设计说 明 书设计题目 利用EDA技术设计一个2ASK调制 系统并仿真测试 系 别 专业班级 学生姓名 学 号 指导教师 日 期 一、前言2二、设计任务要求2三、2ASK调制的工作原理21、相乘电路实现法32、ASK信号调制原理3四、2ASK信号产生器51、各部分器件工作原理框图51)分频器52)基带信号发生器73)载波信号发生器(正弦波发生器)94) 元件例化122、整体仿真结果14五、 心得体会19六、 参考文献19一、前言在现代数字通信系统中,频带传输系统的应用最为突出。将原始的数字基带信号,经过频谱搬移,变换为适合在频带上传输的频带信号,传输这个信号的系统就称为频带传输系统。在频带传输系统中,根据数字信号对载波不同参数的控制,形成不同的频带调制方法。当选择正弦波作为载波,用一个二进制基带信号对载波信号的振幅进行调制时,产生的信号就是二进制振幅键控信号(2ASK)。例如用电键控制一个载频振荡器的输出,使它时断时续输出,这便是一部振幅键控的发报机。由于振幅键控信号抗噪声性能不够理想,逐步被FSK和PSK代替。但是,作为一种最古老的调制方式,它还是具有很高的参考价值。特别是在近几年随着对信息速率要求的提高,要在较窄的频带内实现较高信息速率的传输,多进制的数字振幅键控(MASK)又得到了运用,在信道条件较好而频带又较紧张的恒参信道中优先采用它。下面我们将对2ASK的调制系统进行讨论。二、设计任务要求用EDA技术设计一个2ASK调制系统并仿真测试,要求载波频率为2.2MHZ。三、2ASK调制的工作原理 数字信号对载波信号的振幅调制称为振幅键控即ASK(Amplitude Shift Keying),2ASK是利用代表数字信息“0”或“1”的基带矩形脉冲去键控一个连续的载波,使载波时断时续地输出。有载波输出时表示发送“1”,无载波输出时表示发送“0”。借助幅度调制的原理,二进制振幅键控信号的码元可以表示为:式中,为载波角频率,s(t)为单极性NRZ矩形脉冲序列,即 其中,g(t)是持续时间为、高度为1的矩形脉冲,常称为门函数;为二进制数字 产生二进制振幅键控信号的方法,如图7-1下所示,注意有两种:乘法器实现法和键控法。1、相乘电路实现法就是用乘法器基带信号S(t)与载波信号相乘就可以得到调制信号输出。乘法器用来进行频频搬移,相乘后的信号通过带通滤波器滤除高频谐波和低频干扰,带通滤波器的输出是振幅键控信号。2、键控法所谓的键控法就是一个开关电路,但是该开关电路是由输入的基带信号控制,同样也可以得到相同的输出波形。由于振幅键控的输出波形是断续的正弦波,所以有些时候也称二元制ASK为通断控制。为了控制开关电路,基带信号必须是矩形脉冲信号,高电平的时候,打开开关,低电平的时候,隔壁开关。最典型的实现方法是用一个电键来控制载波振荡器的输出而获得。2、ASK信号调制原理在接收端口,ASK信号的解调方法有两种,同步解调法和包络解调法。前者属于相干解调,后者为非相干解调。图7-2(a)为包络检波法解调器的原理方框图,其中的整流器和低通滤波器构成一个包络检波器。7-(b)为相干解调器的原理方框图,由于在相干解调中相乘电路需要有相干载波,该载波必须从接受信号中获取,并且与接受信号的载波信号具有相同的频率以及相同的相位,所以这种方法比包络解调法复杂。抽样判决带通滤波全波整流低通滤波 S(t) 输出 ( a )非相干解调抽样判决器带通滤波相乘电路低通滤波 S(t) 输出 (b)相干解调 图7-2 ASK信号解调原理框图ASK随机信号序列的一般表示式为: =其中,为二进制单极性随机振幅;g(t)为码元波形;T为码元持续时间。其调制时间波形如图下所示: 接收的信号先通过一个带通滤波器,此带通滤波器的带宽恰好使信号的有用频谱通过并阻止带外的噪声通过。设在一个码元持续时间T内,经过带通滤波器后的接收信号和噪声电压为: Y(t)=s(t)+n(t) 0tT Acos(w0t) 发送“1”时其中, S(t)= 0 发送“0”时,其中n(t)是一个窄带高斯过程。根据窄带随机过程的性质,我们可以得到:= n(t)=nc(t)cosw0t-ns(t)sinw0t于是经过带通滤波器后的接收电压为: A+nctcosw0t-nssinw0t 发送“1”时 y(t)= nc(t)cosw0t-ns(t)sinw0t 发送“0”时同步解调也称相干解调,根据上述的接收信号y(t)经过带通滤波器抑制来自信道的带外干扰,乘法器进行频谱反向搬移,以恢复基带信号,低通滤波器用来抑制相乘器产生的高次谐波干扰,在抽样判决处的电压x(t)可以表示: A+nc(t) 发送“1”时 X(t)= nc(t) 发送“0”时若没有噪声,上式简化为: A 发送“1”时 X(t)= 0 发送“0”时此时判决电平0A的中间值A/2,大于A/2判为1码,小于A/2判为0码。在无噪声时,判决一定正确的。四、2ASK信号产生器由于ASK为模拟信号,而FPGA只能产生数字信号,因此需对正弦信号采样并经模数变换来得到所需的ASK信号。本例由FPGA产生正弦信号的采样值。ASK信号发生器框图如图7-3所示,整个系统共分为分频器、M序列产生器、跳变检测、正弦波信号产生器和DAC数模变换器等5部分,其中前4部分由FPGA器件完成。DAC分频器M序列发生器跳变检测正弦波信号发生器 时钟输入 2.2MHZ 220MHZ 输出 7-3 ASK信号发生器总框图1、各部分器件工作原理框图1)分频器本实例中数据速率为2.2MHz,要求产生2.2MHZ的正弦信号。对正弦信号每周期取100个采样点,因此要求能产生2个时钟信号。然后用计数器计数,最后得到输出。工作原理分析:对基准时钟计数就可以得到所需要的时钟信号,计数器的进制的两倍N就是分频数,原理方框图如下:分频输出基准时钟计数器分频器设计代码LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLKDIV IS PORT(CLK : IN STD_LOGIC; CLK_100 : OUT STD_LOGIC);END CLKDIV;ARCHITECTURE div_100 OF CLKDIV IS SIGNAL count : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL CLK_temp : STD_LOGIC;BEGIN PROCESS(CLK) BEGIN IF (CLK event AND CLK=1) THEN IF(count=00110010) THEN count 0); CLK_temp =NOT CLK_temp; ELSE count = count +1; END IF ; END IF ; END PROCESS; CLK_100 = CLK_temp;END div_100;仿真图如下所示:2)基带信号发生器m序列产生器m序列是伪随机序列的一种,它的显著特点是:随机特性,预先可确定性,循环特性。正因为这些特性,使得m序列产生器在通信领域得到了广泛的应用。本例用一种带有两个反馈抽头的3级反馈移位寄存器,得到一串“1110010”循环序列,并采取措施防止进入全“0”状态。通过更换时钟频率可以方便地改变输入码元的速率。m序列产生器的电路结构如图7-4所示。 7-4 M序列产生器跳变检测将跳变检测引入正弦波的产生中,可以使每次基带码元上升沿或下降沿到来时,对应输出波形位于正弦波形的sin0处。引入跳变检测主要是为了便于观察,确保示波器上显示为一个连续的波形。基带信号的跳变检测可以有很多方法,图7-5为一种便于在可编程逻辑器件中实现的方案。 7-5 信号跳变电路 序列输出输入时钟 计数器基带信号发生器工作原理: 消除毛刺 复位CLR 当有时钟信号时,计数器计数一次,如此便产生了所需要的基带信号。当有复位信号时,计数重新开始计数,重新输出所需要的序列。基带信号发生器VHDL描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY xulie IS PORT(CLK0,CLR:IN STD_LOGIC; Q0:OUT STD_LOGIC);END xulie;ARCHITECTURE one OF xulie IS SIGNAL COUNT: STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL Z:STD_LOGIC :=0; BEGINPROCESS(CLK0,CLR) BEGIN IF(CLR=1)THEN COUNT=000; ELSE IF(CLK0=1AND CLK0EVENT)THEN IF(COUNT=111)THEN COUNT=000; ELSE COUNTZZZZZZZZ=0;END CASE;END PROCESS;PROCESS(CLK0,Z)BEGIN -消除毛刺的锁存器 IF(CLK0EVENT AND CLK0=1)THEN Q0=Z; END IF; END PROCESS;END one;仿真图如下:3)载波信号发生器(正弦波发生器)用数字电路和DAC变换器可以产生要求的模拟信号。根据抽样定理可知,当用模拟信号最大频率两倍以上的速率对该模拟信号采样时,便可将原模拟信号不失真地恢复出来。本例要求得到的是两个不同频率的正弦信号,实验中对正弦波每个周期采样100个点,即采样速率为原正弦信号频率的100倍,因此完全可以在接收端将原正弦信号不失真地恢复出来,从而可以在接收端对ASK信号正确地解调。经DAC转换后,可以在示波器上观察到比较理想的波形。本实验中每个采样点采用8位量化编码,即8位分辨率。采样点的个数与分辨率的大小主要取决于CPLD/FPGA器件的容量,其中分辨率的高低还与DAC的位数有关。实验表明,采用8位分辨率和每周期100个采样点可以达到相当不错的效果。具体的正弦信号产生器可以用状态机来实现。按前面的设计思路,本实现方案共需100个状态,分别为s1s100。同时设计一个异步复位端,保证当每个“1”或“0”到来时其调制信号正好位于坐标原点,即sin0处。状态机共有8位输出(Q7Q0),经DAC变换为模拟信号输出。为得到一个纯正弦波形,应在DAC的输出端加上一个低通滤波器,由于本例仅观察ASK信号,因此省去了低通滤波器。本设计中,数字基带信号与ASK调制信号的对应关系为“0”对应0,“1”对应2.2MHz,此二载波的频率可以方便地通过软件修改。程序代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLK1 ISPORT( CLOCK: IN STD_LOGIC; CODE: IN STD_LOGIC; data: out std_logic_vector (7 DOWNTO 0) ); END CLK1 ;ARCHITECTURE CLK_ARCH OF CLK1 IS SIGNAL DOUT:std_logic_vector (7 DOWNTO 0); -正弦波数据 SIGNAL countda:std_logic_vector (6 DOWNTO 0);-波形数据查表地址BEGINPROCESS(clock) BEGIN IF ( clockEVENT AND clock= 1) THEN IF (CODE=0) then countda=0000000; ELSIF( countda=1100011 and CODE=1) then countda=0000000; else countdaDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTNULL;END CASE;END PROCESS;data=DOUT;END CLK_ARCH;仿真图如下所示:4) 元件例化 元件例化外部结构图如下所示: CLK data1 START程序代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.std_logic_unsigned.all;USE IEEE.std_logic_arith.all;ENTITY lihua IS PORT(CLK:IN STD_LOGIC; START:IN STD_LOGIC; data1:out std_logic_vector (7 DOWNTO 0);END lihua;ARCHITECTURE one_lihua OF lihua IS COMPONENT CLKDIV PORT(CLK: IN STD_LOGIC; CLK_100: OUT STD_LOGIC);END COMPONENT CLKDIV;COMPONENT xulie PORT(CLK0,CLR:IN STD_LOGIC; Q0:OUT STD_LOGIC);END COMPONENT xulie;COMPONENT CLK1 PORT( CLOCK: IN STD_LOGIC; CODE: IN STD_LOGIC; data: out std_logic_vector (7 DOWNTO 0) );END COMPONENT CLK1;SIGNAL temp1,temp2:STD_LOGIC;BEGINU1:CLKDIV PORT MAP (CLK,temp1); U2:xulie PORT MAP (temp1,START,temp2);U3:CLK1 PORT MAP (CLK,temp2,data1); END ARCHITECTURE one_lihua;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.std_logic_unsigned.all;USE IEEE.std_logic_arith.all;ENTITY lihua IS PORT(CLK:IN STD_LOGIC; START:IN STD_LOGIC; DATA1:out std_logic_vector (7 DOWNTO 0);END lihua;ARCHITECTURE one_lihua OF lihua IS COMPONENT CLKDIV PORT(CLK: IN STD_LOGIC; CLK_100: OUT STD_LOGIC);END COMPONENT CLKDIV;COMPONENT xulie PORT(CLK0,CLR:IN STD_LOGIC; Q0:OUT STD_LOGIC);END COMPONENT xulie;COMPONENT CLK1 PORT( CLOCK: IN STD_LOGIC; CODE: IN STD_LOGIC; data: out std_logic_vector (7 DOWNTO 0) );END COMPONENT CLK1;SIGNAL temp1,temp2:STD_LOGIC;BEGINU1:CLKDIV PORT MAP (CLK,temp1); U2:xulie PORT MAP (temp1,START,temp2);U3:CLK1 PORT MAP (CLK,temp2,DATA1); END ARCHITECTURE one_lihua;2、整体仿真结果把以上的几个程序合起来,就是实现2ASK调制信号的总程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLKDIV IS PORT(CLK : IN STD_LOGIC; CLK_100 : OUT STD_LOGIC);END CLKDIV;ARCHITECTURE div_100 OF CLKDIV IS SIGNAL count : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL CLK_temp : STD_LOGIC;BEGIN PROCESS(CLK) BEGIN IF (CLK event AND CLK=1) THEN IF(count=00110010) THEN count 0); CLK_temp =NOT CLK_temp; ELSE count = count +1; END IF ; END IF ; END PROCESS; CLK_100 = CLK_temp;END div_100;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY xulie IS PORT(CLK0,CLR:IN STD_LOGIC; Q0:OUT STD_LOGIC);END xulie;ARCHITECTURE one OF xulie IS SIGNAL COUNT: STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL Z:STD_LOGIC :=0; BEGINPROCESS(CLK0,CLR) BEGIN IF(CLR=1)THEN COUNT=000; ELSE IF(CLK0=1AND CLK0EVENT)THEN IF(COUNT=111)THEN COUNT=000; ELSE COUNTZZZZZZZZ=0;END CASE;END PROCESS;PROCESS(CLK0,Z)BEGIN -消除毛刺的锁存器 IF(CLK0EVENT AND CLK0=1)THEN Q0=Z; END IF; END PROCESS;END one;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLK1 ISPORT( CLOCK: IN STD_LOGIC; CODE: IN STD_LOGIC; data: out std_logic_vector (7 DOWNTO 0) ); END CLK1 ;ARCHITECTURE CLK_ARCH OF CLK1 IS SIGNAL DOUT:std_logic_vector (7 DOWNTO 0); -正弦波数据 SIGNAL countda:std_logic_vector (6 DOWNTO 0);-波形数据查表地址BEGINPROCESS(clock) BEGIN IF ( clockEVENT AND clock= 1) THEN IF (CODE=0) then countda=0000000; ELSIF( countda=1100011 and CODE=1) then countda=0000000; else countdaDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTNULL;END CASE;END PROCESS;data=DOUT;END CLK_ARCH;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.std_logic_unsigned.all;USE IEEE.std_logic_arith.all;ENTITY lihua IS PORT(CLK:IN STD_LOGIC; START:IN STD_LOGIC; data1:out std_logic_vector (7 DOWNTO 0);END lihua;ARCHITECTURE one_lihua OF lihua IS COMPONENT CLKDIV PORT(CLK: IN STD_LOGIC; CLK_100: OUT STD_LOGIC);END COMPONENT CLKDIV;COMPONENT xulie PORT(CLK0,CLR:IN STD_LOGIC; Q0:OUT STD_LOGIC);END COMPONENT xulie;COMPONENT CLK1 PORT( CLOCK: IN STD_LOGIC; CODE: IN STD_LOGIC; data: out std_logic_vector (7 DOWNTO 0) );END COMPONENT CLK1;SIGNAL temp1,temp2:STD_LOGIC;BEGINU
收藏
编号:2680677
类型:共享资源
大小:118.68KB
格式:RAR
上传时间:2019-11-28
15
积分
- 关 键 词:
-
利用EDA技术设计一个2ASK调制系统并仿真测试
利用
应用
eda
技术设计
一个
ask
调制
系统
仿真
测试
- 资源描述:
-
利用EDA技术设计一个2ASK调制系统并仿真测试,利用EDA技术设计一个2ASK调制系统并仿真测试,利用,应用,eda,技术设计,一个,ask,调制,系统,仿真,测试
展开阅读全文
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。