资源描述
,*,EDA,技术及,CPLD/FPGA,应用简明教程 清华大学出版社,2007-2-12,第,*,页,7.1,二进制振幅键控(,ASK,)调制器与解调器设计,7.2,二进制频移键控(,FSK,)调制器与解调器设计,7.3,二进制相位键控(,PSK,)调制器与解调器设计,7.4 UART,接口设计,第,7,章,FPGA,在通信工程中实践应用,教学目标,教学重点,教学过程,第,7,章,FPGA,在通信工程中实践应用,第,7,章,FPGA,在通信工程中实践应用,教学目标,了解,FPGA,在数据通信领域的具体应用实例,掌握用,VHDL,语言设计,二,进制振幅键控(,ASK,)调制器与解调器,掌握用,VHDL,语言设计二进制频移键控(,FSK,)调制器与解调器,掌握用,VHDL,语言设计二进制相位键控(,PSK,)调制器与解调器,了解用,VHDL,语言设计,U,ART,接口,教学重点,掌握用,VHDL,语言设计,二,进制振幅键控(,ASK,)调制器与解调器,掌握用,VHDL,语言设计二进制频移键控(,FSK,)调制器与解调器,掌握用,VHDL,语言设计二进制相位键控(,PSK,)调制器与解调器,第,7,章,FPGA,在通信工程中实践应用,7.1,二进制振幅键控(,ASK,)调制器与解调器设计,数字信号对载波振幅调制称为振幅键控即,ASK,(,Amplitude,Shift Keying,)。,ASK,有两种实现方法:,1.,相乘电路实现法,2.,键控法,1.,相乘电路实现法,就是用乘法器基带信号与载波信号相乘就可以得到调制信号输出。,乘法器用来进行频谱搬移,相乘后的信号通过带通滤波器滤除高频谐波和低频干扰。,带通滤波器的输出是振幅键控信号。,2.,键控法,键控法是产生,ASK,信号的另一种方法。二元制,ASK,又称为通断控制(,OOK,)。,最典型的实现方法是用一个电键来控制载波振荡器的输出而获得。,(,键控法产生,ASK,信号原理框图,),ASK,解调方法,1.,同步解调法,2.,包络解调法。,1.,同步解调,接下页,(设在一个码元持续时间,T,内,经过带通滤波后的接收信号和噪声电压为:,其中,是一个窄带高斯过程。根据窄带随机过程的性质,我们可以得到:,接下页,经过带通滤波器后的接收电压为:,若没有噪声,上式简化为:,ASK,调制,VHDL,程序,ASK,调制方框图,ASK,调制电路符号,ASK,调制,VHDL,程序,library,ieee,;,use,ieee.std_logic_arith.all,;,use ieee.std_logic_1164.all;,use,ieee.std_logic_unsigned.all,;,entity ASK is,port(,clk:in,std_logic;-,系统时钟,start:in,std_logic;-,开始调制信号,x:in std_logic;-,基带信号,y:out std_logic);-,调制信号,end ASK;,architecture,behav,of ASK is,接下页,signal,q:integer,range 0 to 3;-,分频计数器,signal f:,std_logic,;-,载波信号,begin,process(clk,),begin,if,clkevent,and,clk,=1 then,if start=0 then q=0;,elsif,q=1 then f=1;q=q+1;,elsif,q=3 then f=0;q=0;,else f=0;q=q+1;,end if;end if;,end process;,y=x and f;-,对基带码进行调制,end,behav,;,ASK,解调电路符号,ASK,解调,VHDL,程序,library,ieee,;,use,ieee.std_logic_arith.all,;,use ieee.std_logic_1164.all;,use,ieee.std_logic_unsigned.all,;,entity ASK2 is,port(clk,:in std_logic;-,系统时钟,start:in std_logic;-,同步信号,x :in std_logic;-,调制信号,y :out std_logic);-,基带信号,end ASK2;,architecture,behav,of ASK2 is,signal,q:integer,range 0 to 11;-,计数器,signal,xx:std_logic,;-,寄存,x,信号,电路符号,接下页,signal m:integer range 0 to 5;-,计,xx,的脉冲数,begin,process(clk,)-,对系统时钟进行,q,分频,,begin,if,clkevent,and,clk,=1 then xx=x;,if start=0 then q=0;-if,语句完成,q,的循环计数,elsif,q=11 then q=0;,else q=q+1;,end if;,end if;,end process;,接下页,process(xx,q,)-,此进程完成,ASK,解调,begin,if q=11 then m=0;-m,计数器清零,elsif,q=10 then,if m=3 then y=0,else y=1;,end if;,elsif,xxevent,and xx=1then m=m+1;-,计,xx,信号的脉冲个数,end if;,end process;,end,behav,;,
展开阅读全文