目录

1.算法描述

2.仿真效果预览

3.verilog核心程序

4.完整FPGA


1.算法描述

整个数字下变频的基本结构如下所示

NCO使用CORDIC算法,CIC采用h结构的CIC滤波器,HBF采用复用结构的半带滤波器,而FIR则采用DA算法结构。

这里,我们首先假设不考虑中频信号输入的载波频偏问题,即发送的中频频率和本地的载波频率是一致的。

为了验证系统的正确性,我们首先需要设计一个发送源,由于你要求的信号带宽为20M,

所以整个系统我们设计的系统参数为,中频为80M,A/D采样为60M。本地接收端的载波频率为20M。

即发送端通过80M的中频调制之后,信号的频谱会搬移到80M附近,然后接收端通过AD60M采样后,会将频谱搬移到20M附近,且不会发生混叠现象。

那么系统测试方案可以简化为,一个中心频率在20M附近的中频输入测试信号进行测试。

首先设计一个发送测试信号。

信号的基本结构如下所示:

我们首先在FPGA中设计这么一个结构得到中频测试信号,然后使用这个测试信号进行下变频测试。

整个系统的原理框图如下所示:

RTL图:

综合资源占用:

2.仿真效果预览

quartusii10.0,ModelSim-Altera 6.6d Starter Edition

3.verilog核心程序

 module tops2(reset,clk,clk0,rst0,clk1,rst1,I0,phase0,phase1,Q0,cosr,I_cic,I_d,I_hb,I_out,Q_d,Q_out,R,sinr
);input wire    reset;
input wire  clk;
input wire  clk0;
input wire  rst0;
input wire  clk1;
input wire  rst1;
input wire  [7:0] I0;
input wire  [7:0] phase0;
input wire  [7:0] phase1;
input wire  [7:0] Q0;
output wire [7:0] cosr;
output wire [47:0] I_cic;
output wire [13:0] I_d;
output wire [31:0] I_hb;
output wire [15:0] I_out;
output wire [13:0] Q_d;
output wire [15:0] Q_out;
output wire [13:0] R;
output wire [7:0] sinr;wire [47:0] I_cic_ALTERA_SYNTHESIZED;
wire    [31:0] I_hb_ALTERA_SYNTHESIZED;
wire    [47:0] Q_cic;
wire    [31:0] Q_hb;
wire    [13:0] SYNTHESIZED_WIRE_0;
wire    [13:0] SYNTHESIZED_WIRE_1;
wire    [13:0] SYNTHESIZED_WIRE_2;
wire    SYNTHESIZED_WIRE_3;
wire    SYNTHESIZED_WIRE_4;
wire    SYNTHESIZED_WIRE_5;
wire    SYNTHESIZED_WIRE_6;assign   I_d = SYNTHESIZED_WIRE_0;
assign  Q_d = SYNTHESIZED_WIRE_1;
assign  R = SYNTHESIZED_WIRE_2;cic_top b2v_inst(.i_clk(clk),.i_rst(reset),.i_din(SYNTHESIZED_WIRE_0),.o_clk16(SYNTHESIZED_WIRE_3),.o_dout(I_cic_ALTERA_SYNTHESIZED));defparam  b2v_inst.WIDTH = 48;cic_top    b2v_inst1(.i_clk(clk),.i_rst(reset),.i_din(SYNTHESIZED_WIRE_1),.o_clk16(SYNTHESIZED_WIRE_4),.o_dout(Q_cic));defparam    b2v_inst1.WIDTH = 48;Rec   b2v_inst12(.clk(clk1),.rst(rst1),.phase(phase1),.recs(SYNTHESIZED_WIRE_2),.Iss(SYNTHESIZED_WIRE_0),.Qss(SYNTHESIZED_WIRE_1));hb_filter_02   b2v_inst2(.i_clk(SYNTHESIZED_WIRE_3),.i_rst(reset),.i_din(I_cic_ALTERA_SYNTHESIZED[34:19]),.o_clk2(SYNTHESIZED_WIRE_5),.o_dout(I_hb_ALTERA_SYNTHESIZED));defparam   b2v_inst2.h0 = 27316;defparam  b2v_inst2.h1 = 20073;defparam  b2v_inst2.h11 = 1238;defparam  b2v_inst2.h13 = -1175;defparam b2v_inst2.h15 = -624;defparam  b2v_inst2.h3 = -4745;defparam  b2v_inst2.h5 = 965;defparam    b2v_inst2.h7 = 667;defparam    b2v_inst2.h9 = -1238;hb_filter_02  b2v_inst3(.i_clk(SYNTHESIZED_WIRE_4),.i_rst(reset),.i_din(Q_cic[34:19]),.o_clk2(SYNTHESIZED_WIRE_6),.o_dout(Q_hb));defparam b2v_inst3.h0 = 27316;defparam  b2v_inst3.h1 = 20073;defparam  b2v_inst3.h11 = 1238;defparam  b2v_inst3.h13 = -1175;defparam b2v_inst3.h15 = -624;defparam  b2v_inst3.h3 = -4745;defparam  b2v_inst3.h5 = 965;defparam    b2v_inst3.h7 = 667;defparam    b2v_inst3.h9 = -1238;firfilter_da  b2v_inst4(.CLK(SYNTHESIZED_WIRE_5),.Reset(reset),.DIN(I_hb_ALTERA_SYNTHESIZED[30:23]),.Dout(I_out));firfilter_da    b2v_inst5(.CLK(SYNTHESIZED_WIRE_6),.Reset(reset),.DIN(Q_hb[30:23]),.Dout(Q_out));Trans  b2v_inst6(.clock(clk0),.reset(rst0),.I(I0),.phase(phase0),.Q(Q0),.cosr(cosr),.r(SYNTHESIZED_WIRE_2),.sinr(sinr));assign I_cic = I_cic_ALTERA_SYNTHESIZED;
assign  I_hb = I_hb_ALTERA_SYNTHESIZED;endmodule
01-115m

4.完整FPGA

V

m基于FPGA的数字下变频verilog设计相关推荐

  1. 基于FPGA的数字视频信号处理器设计(中)

    今天给大侠带来基于FPGA的数字视频信号处理器设计,由于篇幅较长,分三篇.今天带来第二篇,中篇,视频信号概述和视频信号处理的框架.话不多说,上货. 之前也有图像处理相关方面的文章,这里超链接几篇,给各 ...

  2. 基于 FPGA 的数字抢答器设计

    下面是基于 FPGA 的数字抢答器设计,在quartusII下,modelsim下仿真,编程语言VHDL.   1.抢答器的工作原理 主持人宣布可以抢答后,在 20s 的定时时间内若有人按键抢答,则这 ...

  3. 基于FPGA开发板使用Verilog设计PWM呼吸灯实验

    基于FPGA开发板使用Verilog设计PWM呼吸灯实验 1,实验原理 2,实验模块设计 2.1 RTL设计,呼吸灯模块设计 2.2,测试数据,下载到FPGA开发板板级的数据 2.3,两个模块综合的n ...

  4. 基于FPGA的数字视频信号处理器设计(下)

    基于FPGA的数字视频信号处理器设计(下) 今天给大侠带来基于FPGA的数字视频信号处理器设计,由于篇幅较长,分三篇.今天带来第三篇,下篇,程序测试与运行.话不多说,上货. 导读 图像是用各种观测系统 ...

  5. 基于FPGA的数字秒表的设计

    应用VHDL语言设计数字系统,很多设计工作可以在计算机上完成,从而缩短了系统的开发时间,提高了工作效率.本文介绍一种以FPGA为核心,以VHDL为开发工具的数字秒表,并给出源程序和仿真结果. 1 系统 ...

  6. 基于FPGA的数字时钟的设计课设(HUAT)

    目录 前言 一.数字时钟课设目标 二.部分代码 1.clock.v代码的编写 2.完整代码 3.仿真代码 总结 前言 学校黄老师的FPGA的设计课设,最后的课设为数字时钟,实现分时的计数功能,带有整点 ...

  7. 基于FPGA多通道数据采集系统verilog设计

    本设计实现多通道数据采集系统,该系统包括多通道数据采集和数据传输,使用verilog语言设计. 本设计实现功能:采集8路16位的AD数据,并发送到串口助手. 该设计架构图如下: 顶层模块代码如下: m ...

  8. 基于FPGA的数字电子钟的设计与实现

    背景:本实验所有结果基于Quartus II 13.1 (64-bit)实现,实验过程采用自下而上 2020年6月21日更新 我的实验报告,希望大家可以借鉴理解. 链接:https://pan.bai ...

  9. 基于FPGA的分形编码器verilog设计

    目录 一.理论基础 二.核心程序 三.仿真测试结果 一.理论基础 分形图像编码是目前较有发展前途的图像编码方法之一, 也是目前研究较为广泛的编码方法之一.对其研究已有近十年的历史,其间,人们发现了它所 ...

最新文章

  1. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(单色填充、分组颜色填充)实战
  2. python比较两个xml_python比较2个xml内容的方法
  3. Windows PE 第十章 加载配置信息
  4. *.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z
  5. 算法练习day17——190405
  6. windows2008 sp2 x64安装 ocs 2007 r2 笔记
  7. 现在学java的都是傻子?
  8. java exec waitfor,Java Process waitFor()方法与示例
  9. python脚本性能分析
  10. HTML fieldset 标签
  11. oracle 12c transaction guard,保障业务连续性的神器
  12. ResNet----残差结构
  13. win10系统dnf安装不上服务器失败,win10系统玩dnf图表系统组建失败怎么修复
  14. 02-客房预订系统数据库-用户和客房预订数据操作
  15. #CSDN软件工程师能力认证学习精选# Hadoop基础知识学习
  16. day07 c++复习 核心编程02 核心内容(1、友元 2、3、继承 )
  17. Java实习面试重点基础知识
  18. Swingbench 博客合集
  19. 4412 构造数组(区间合并)
  20. 三角函数π/2转化_@东莞同学,初中数学三角函数公式大汇总

热门文章

  1. (二)基于Multisim的电台发射系统:振幅调制器的设计
  2. 框架学习之Mave(一)
  3. 腾讯云下使用docker一步步虚拟出可运行的线上环境
  4. SNAT源地址转换基本概念以及应用
  5. Spring框架中用到的常用设计模式
  6. mysql for windows 5.7.19.0.msi官网下载地址
  7. 超详细,手把手教你用20行Python代码制作飞花令小程序!
  8. CCF 201412-3 集合竞价 90分代码 C++
  9. LPWA市场后起之秀 低功耗广域网技术ZETA抢攻物联网
  10. java俄罗斯方块实训心得_俄罗斯方块心得体会