基于FPGA的PSK调制系统实验报告

上传人:xmg****18 文档编号:122407620 上传时间:2020-03-05 格式:DOC 页数:13 大小:294.50KB
返回 下载 相关 举报
基于FPGA的PSK调制系统实验报告_第1页
第1页 / 共13页
基于FPGA的PSK调制系统实验报告_第2页
第2页 / 共13页
基于FPGA的PSK调制系统实验报告_第3页
第3页 / 共13页
基于FPGA的PSK调制系统实验报告_第4页
第4页 / 共13页
基于FPGA的PSK调制系统实验报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于FPGA的PSK调制系统实验报告》由会员分享,可在线阅读,更多相关《基于FPGA的PSK调制系统实验报告(13页珍藏版)》请在金锄头文库上搜索。

1、实验题目:基于FPGA的PSK调制系统 专业班级: 学生姓名: 指导教师: 设计时间: 基于FPGA的PSK调制系统一、 实验目的1. 掌握利用原理图输入法设计电路的方法,掌握QuartusII的层次化设计方法。通过PSK调制系统的设计,熟悉用EDA软件进行电路设计的详细流程,以及在硬件上的应用。2. 掌握绝对码、相对码的概念以及它们之间的变换关系和变换方法。 3. 掌握用键控法产生2PSK信号的方法。 4. 掌握相对码波形与2PSK信号波形之间的关系、绝对码波形与2DPSK信号波形之间的关系。 二、 实验要求利用实验板具有模拟信号处理的功能,设计一个移相键控信号发生器。 要求利用板上的8位D

2、IP开关设置基带信号码(8bit)。 板上的DAC送出己调信号(正弦波),对8bit基带信号循环调制。要有用于观察的同步脉冲输出。传输速率1200bps。为简单起见,载波频率也是1200Hz。为简单起见,已调信号的相位和基带信号码的夫系柬用绝对调相方式。即基带信号为l,己调信号的相位相对于参考相位改变180度。基带信号为0,已调信号的相位与参考相位相同。三、 实验内容1、PSK调制原理相移键控(Phase Shift Keying,PSK),它是受键控的载波相位按数字基带脉冲的规律而改变的一种数字调制方式。这种以载波的不同相位直接表示相应数字信息的相位键控,通常被称为绝对移相方式。当基带信号为

3、二进制数字脉冲序列时,所得到的相位键控信号为二进制相位键控,即2PSK,它的表达式为式中,(t)由数字信息“0”“1”控制。在绝对移相中,因为(t)选用的参考相位基准就是未调制的载波,所以(t)就是载波的绝对值。一般说来,数字信息为“1”时,(t)=0,数字信息为“0”时,(t)=。即如图所示2、系统总体设计系统的结构框图3、系统详细设计1 分频器设计根据题目中载波频率小于30kHZ的要求,生成载波信号的正弦信号发生器选择16位累加器,则其需要的时钟在30kHZ以上即可。因此,设计中对20MHZ的系统时钟进行512分频(39KHZ)和16384分频(1.22KHZ)。512分频所得时钟作为正弦

4、信号发生器的时钟,16384分频所得时钟则作为整个系统的基带信号。VNDL具体设计见附录一。通过VHDL包装生成的分频器模块及其波形仿真图如下面两图所示。分频器模块分频器模块波形仿真结果2 正弦信号发生器设计DDS(Direct Digital Synthesizer)具有较高的频率分辨率,可以实现频率的快速切换,并且在频率切换时能保持相位的连续,很容易实现频率、相位、幅度的数字调制。本系统的正弦信号发生器模块就是基于DDS技术设计的。DDS原理图如下:DDS基本结构上图中M为相位累加器的位数。N为信号数据的位数。F为频率控制字。fclk 为系统的时钟。由DDS原理知其基频为:fSIN = f

5、clk/2M也即是设计的正弦信号发生器的精度为fSIN。由以上知,当输入的频率控制字为F时,输出正弦波的频率为:fout = F* fSIN = F*fclk/2M基于以上DDS原理,系统选择16位的累加器。一个周期正弦波取64个采样点,在Excel表格中可以用下拉单元格的方式迅速生成地址,地址范围为063,即波形表中每种波形每周期取64点。之后输入公式“=sin(A1/64)*2*3.1415926)”,再利用下拉单元格的方式,得到各个地址单元所对应得正弦函数值。以上得到的正弦函数表往往不能被D/A转换器直接利用,需要将其置映射到D/A转换器所能接受的数据空间内。设计中所用D/A转换器为8位

6、,其数据空间是0255,可以利用公式“=127.5*(1+B1)”来映射数据,影射后的数据为小数,还须对其取整,输入公式 “=INT(C1)”。然后复制所得数据,在Quartus II平台中生成hex文件。由以上可得,系统需要使用6位地址线8位数据线的ROM作为数据存储器。时钟为512分频(约为39KHZ)所得信号。具体电路图如图10所示。正弦信号发生器电路图设计时将频率控制字设置为8192。也即输出的正弦波频率为4.88KHZ。仿真结果如图所示。正弦信号发生器模块波形仿真结果3 PSK模块设计PSK模块仿真结果如图PSK模块仿真波形4 数模转换本系统数模转换器采用DAC0832,数模转换模块

7、如下图18所示。输出的模拟量与输入的数字量(DN-1*2N-1+D0*20)成正比,这就实现了从数字量到模拟量的转换。输入可有28(=256)个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,只能是256个可能值中的一个。本系统要求输出量是电压,而DAC0832输出的是电流量,所以还必须经过一个外接的运算放大器转换成电压,这里选用OP07集成运放,此运放具有极低的输入失调电压、极低的失调电压温漂能长期稳定工作等特点。图18 D/A转换模块系统总电路3: 源程序清单1、分频器程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; U

8、SE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY clkdiv IS PORT(clk : IN STD_LOGIC; -clk_div2 : OUT STD_LOGIC; -clk_div4 : OUT STD_LOGIC; -clk_div8 : OUT STD_LOGIC; -clk_div16 : OUT STD_LOGIC;-clk_div32 : OUT STD_LOGIC;-clk_div256 : OUT STD_LOGIC;clk_div512 : OUT STD_LOGIC; clk_d

9、iv16384 : OUT STD_LOGIC ); END clkdiv; ARCHITECTURE rtl OF clkdiv IS SIGNAL count : STD_LOGIC_VECTOR(13 DOWNTO 0); BEGIN PROCESS(clk) BEGIN IF (clkevent AND clk= 1 ) THEN IF(count=11111111111111 ) THEN Count 0 ); ELSE Count = count +1; END IF ; END IF ; END PROCESS; -clk_div2 = count(0); -clk_div4 =

10、 count(1); -clk_div8 = count(2); -clk_div16 = count(3); -clk_div32 = count(4);-clk_div256 = count(7);clk_div512 = count(8);clk_div16384 = count(13);END rtl;2、加法器程序library ieee;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER16 IS PORT( A : IN STD_LOGIC_VECTOR(15 DOWNTO 0); B

11、: IN STD_LOGIC_VECTOR(15 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) );END ADDER16;ARCHITECTURE behav OF ADDER16 IS BEGIN S=A+B;END behav;3、寄存器程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0); DOUT : OUT STD_LOGIC_VECT

12、OR(15 DOWNTO 0) );END REG32B;ARCHITECTURE behav OF REG32B IS BEGIN PROCESS(LOAD,DIN) BEGIN IF LOADEVENT AND LOAD = 1 THEN DOUT = DIN; END IF;END PROCESS;END behav;4、ROM程序LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY DATAROM ISPORT(address: IN STD_LOGIC_VECTOR (5

13、 DOWNTO 0);inclock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END DATAROM;ARCHITECTURE SYN OF datarom ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (7 DOWNTO 0);COMPONENT altsyncramGENERIC (clock_enable_input_a: STRING;clock_enable_output_a: STRING;init_file: STRING;intended_device_family: STRING;lp

14、m_hint: STRING;lpm_type: STRING;numwords_a: NATURAL;operation_mode: STRING;outdata_aclr_a: STRING;outdata_reg_a: STRING;widthad_a: NATURAL;width_a: NATURAL;width_byteena_a: NATURAL);PORT (clock0: IN STD_LOGIC ;address_a: IN STD_LOGIC_VECTOR (5 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END COMPONENT;BEGINq = sub_wire0(7 DOWNTO 0);altsyncram_component : altsyncramGENERIC MAP (

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号