Quartus的2FSK调制解调verilog

news2025/1/6 17:27:56

名称:Quartus的2FSK调制解调verilog

软件:Quartus

语言:Verilog

要求:使用verilog实现2FSK的调制和解调,并进行仿真

代码下载:Quartus的2FSK调制解调verilog_Verilog/VHDL资源下载

代码网:hdlcode.com

部分代码展示

//2FSK设计
module FSK_2(clock, reset, code_in,decode_key, code_out,LED_BIT,LED_SEG);
   input      clock;//输入时钟
   input      reset;//复位--k1
   input      code_in;//输入调制信号--k2
input      decode_key;//输入解调控制--k3,按下按键后启动解调
   output     code_out;//输出解调信号
output [7:0] LED_BIT;//数码管位选
output [7:0] LED_SEG;//数码管段选
   
   wire [7:0] Modulate_fsk2;//2FSK信号
wire [7:0] decode_fsk2;//2FSK信号
wire  code_in;//输入调制信号
wire  decode_code;//输出解调信号
wire [3:0] state;//当前状态值
assign code_out=decode_code;
   
   //2FSK调制模块设计
   Modulate U_Modulate(
.clock(clock), //输入时钟
.reset(~reset),//复位 
.code_in(code_in), //输入调制信号
.fsk2(Modulate_fsk2)//输出FSK信号
);
   
   //2FSK解调模块设计
   decode U_decode(
.clock(clock), //输入时钟
.reset(~reset), //复位
.code_out(decode_code), //输出解调信号
.fsk2(decode_fsk2)//输入FSK信号
);
//状态机控制,按下decode_key按键后启动解调
state_machine i_state_machine(
. clock(clock),
. reset(~reset),//复位--k1
. decode_key(decode_key),//输入解调控制--k3
. Modulate_fsk2(Modulate_fsk2),//输入2FSK信号
. decode_fsk2(decode_fsk2),//输出2FSK信号
. state_out(state)//状态值
);   
//数码管显示模块
display i_display(
. clock(clock),//50M时钟
. code_in(code_in),//输入调制信号
. code_out(decode_code),//输出解调信号
. state(state),//当前状态值
. LED_BIT(LED_BIT),//数码管位选
. LED_SEG(LED_SEG)//数码管段选
);

设计文档(文档点击可下载):

1.

2FSK(Frequency Shift Keying)为二进制数字频率调制(二进制频移键控),用载波的频率来传送数字信息,即用所传送的数字信息控制载波的频率。2FSK信号便是符号“0”对应于载频 f1,而符号“1”对应于载频 f2(与 f1 不同的另一载频)的已调波形,而且 f1 与 f2 之间的改变是瞬间的。传“0”信号时,发送频率为 f1 的载波; 传“1”信号时,发送频率为 f2的载波。

2. 工程文件

3. 程序文件

4. 程序编译

5. RTL图

6. testbench

7. 仿真图

按下按键后启动解调,可以看到解调出的code_out与输入code_in一致

调制模块

状态控制模块

按下按键后启动解调

解调模块

数码管显示模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot之响应处理

文章目录 前言一、返回值处理器ReturnValueHandler流程关于HttpMessageConverters的初始化ReturnValueHandler与MappingJackson2HttpMessageConverter关联 二、内容协商内容协商原理底层源码 三、自定义MessageConverter总结 前言 包括返回值处理器ReturnValueHandler、内容协…

OpenGLES:绘制一个颜色渐变的圆

一.概述 今天使用OpenGLES实现一个圆心是玫红色,向圆周渐变成蓝色的圆。 本篇博文的内容也是后续绘制3D图形的基础。 实现过程中,需要重点关注的点是:如何使用数学公式求得图形的顶点,以及加载颜色值。 废话不多说&#xff0c…

FPGA的BPSK调制verilog

名称:BPSK调制verilog 软件:Quartus 语言:Verilog 要求: 一、设计说明 BPSK调制广泛应用于卫星通信、移动通信等领域。本题目要求设计一个基于直接数字频率合成技术的BPSK调制器,实现对输入周期数字比特流的BPSK调…

LVGL_基础知识

LVGL_基础知识 1、设置对象大小 lv_obj_t * obj lv_obj_create(lv_scr_act()); //lv_obj_set_width(obj, 300); //lv_obj_set_height(obj, 500); lv_obj_set_size(obj,200, 240);//和上面两句的效果一样2、获取对象大小 lv_obj_t * obj lv_obj_create(lv_scr_act()); //lv…

GPS硬件坐标转百度地图坐标

在地图定位开发中,许多定位模块输出坐标系是国际标准 WGS-84 坐标系,所以开发者在国内常见地图定位时,会发现与实际情况有几十米的误差。这并非模块问题, 而是国内地图采用了非标坐标系所致。 国内常见地图如高德地图使用 GCJ-02 …

Kubernetes集群+Keepalived+Nginx+防火墙 实例

目录 实验前期规划 1.拓扑图结构 2.实验要求 3.实验环境规划 一.kubeadm 部署 K8S 集群架构 1.环境准备 2.三个节点安装docker 3.三个节点安装kubeadm,kubelet和kubectl 4.部署K8S集群 (1)初始化 4.部署K8S集群 (1&am…

133.【MySQL_运维篇】

MySQL_运维 (一)、日志 ⭐1.日志_错误日志 (ERROR-LOG)(1).错误日志_介绍(2).错误日志_示列 2.日志_二进制日志 (BINARY-LOG)(1).二进制日志_介绍(2).二进制日志_作用(3).二进制日志_格式(4).二进制日志_查看 (CMD)(5).二进制日志_删除 3.日志_查询日志 (GENERAL-LOG)(1).开启_…

SPA项目的登录注册实现以及数据交互问题

目录 前言 一. 登录,注册静态页面实现 1.1 ElementUI简介 1.2 基于SPA项目完成登录注册 1.2.1 在SPA项目中添加elementui依赖 1.2.2 在main.js中添加elementui模块 1.2.3 在src目录下创建views目录,用于存放vue组件 1.2.4 配置路由 1.2.5 修改项目…

简单而经典:Java中的冒泡排序算法详解

当谈到简单的排序算法时,冒泡排序(Bubble Sort)通常是其中之一。虽然它不是最高效的排序算法之一,但它的简单性和易于理解使它成为学习排序算法的良好起点。在本文中,我们将详细介绍Java中的冒泡排序。 冒泡排序的基本…

服务注册发现_服务自保和服务剔除机制

服务剔除,服务自保,这两套功法一邪一正,俨然就是失传多年的上乘心法的上卷和下卷。但是往往你施展了服务剔除便无法施展服务自保,而施展了服务自保,便无法施展服务剔除。也就是说,注册中心在同一时刻&#…

主从复制MySQL

概述 细节: 1.主库提供增删改的操作,从库提供查询的操作,分担主库压力 2.通过从库备份,全局锁不影响查询,只不过加了全局锁在从库中的数据同步会有一定延迟 3.从库也可以做别的服务器的主库 原理 主从复制的原理是基于二进制日志文件的,当主库中发生数据改变以后,会把SQL写入到…

力扣刷题-链表-翻转链表

反转链表是面试中高频题目,很考察面试者对链表操作的熟练程度。 如果再定义一个新的链表,实现链表元素的反转,其实这是对内存空间的浪费。 其实只需要改变链表的next指针的指向,直接将链表反转 ,而不用重新定义一个新的…

vue指令(代码部分三)

<template><view><view click"onClick">标题&#xff1a;{{title}}</view><input type"text" v-model"title"/>----------------案例----------------<view class"out"><view class"row&…

使用CPU本地部署一个大模型

前言 不少人都想要部署一个自己的本地大模型&#xff0c;但是受限于昂贵的硬件资源只能作罢&#xff0c;即便是量化后的模型也通常要至少5G&#xff08;ChatGLM2-6B INT4&#xff09;的显存。因此我们想到能不能使用CPU来进行部署&#xff0c;当然了&#xff0c;要接受比较慢的…

Qt元对象系统

元对象系统 一 元对象系统的基本概念 qt 元对象系统主要提供功能&#xff1a;对象间通信的信号和槽机制&#xff0c;运行时类型信息和动态属性系统等。元对象系统是Qt对原有C进行的一些扩展&#xff0c;主要是为实现信号和槽机制引入的&#xff0c;信号和槽机制是Qt的核心特征…

二叉树题目:奇偶树

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;奇偶树 出处&#xff1a;1609. 奇偶树 难度 4 级 题目描述 要求 如果一个二叉树满足下述条件&#xff0c;则称…

【深度学习】BLIP: 用于统一的视觉-语言理解和生成的引导式语言图像预训练

BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation BLIP&#xff1a;用于统一的视觉-语言理解和生成的引导式语言图像预训练 论文&#xff1a;https://arxiv.org/abs/2201.12086 代码&#xff1a;https://github.…

springboot对接rabbitmq并且实现动态创建队列和消费

背景 1、对接多个节点上的MQ&#xff08;如master-MQ&#xff0c;slave-MQ&#xff09;&#xff0c;若读者需要自己模拟出两个MQ&#xff0c;可以部署多个VM然后参考 docker 安装rabbitmq_Steven-Russell的博客-CSDN博客 2、队列名称不是固定的&#xff0c;需要接受外部参数&…

【LRU】一文让你弄清 Redis LRU 页面置换算法

Q&#xff1a;一天同事问&#xff0c;我放在 redis 中的 key&#xff0c;为什么有时候过一段时间数据就没有了&#xff0c;我并没有设置过期时间呀&#xff1f;&#xff1f;&#x1f633;&#x1f633; A&#xff1a;你的 redis 淘汰策略是什么样的&#xff0c;这个 key 可能是…

dirname - return directory part of PATH.

用Visual Studio 2022开发Linux程序, 用ssh连接 函数单元测试 下载glibc解压到E:\library\GNU\glibc-2.38 mzhDESKTOP-GITL67P:~$ sudo /etc/init.d/ssh start * Starting OpenBSD Secure Shell server sshd …