m基于FPGA的64QAM调制解调、载波同步verilog实现

news2024/11/17 7:24:18

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

       64QAM(正交幅度调制),在使用同轴电缆的网络中,这种数字频率调制技术通常用于发送下行链路数据。64QAM在6mhz信道中,64QAM的传输速率非常高,最多可支持38.015mbps的峰值传输速率。然而,它对干扰信号很敏感,难以适应嘈杂的上行链路传输(从电缆用户到互联网)。参见QPSK、DQPSK、CDMA、S-CDMA、BPSK和VSB。

        它具有调制效率高、对传输路径的信噪比要求高、带宽利用率高的特点,适合有线电视传输;QAM(DVB-C调制)在中国有线电视网络中得到广泛应用。QAM是一种联合幅度和相位调制技术。它利用载波的幅度和相位同时传输信息位。不同的幅度和相位表示不同的编码符号。因此,在相同的最小距离条件下,QAM星座可以容纳更多的星座点,以实现更高的频带利用率。

       载波同步又称载波恢复(carrierrestoration),即在接收设备中产生一个和接收信号的载波同频同相的本地振荡(localoscillation),供给解调器作相干解调用。当接收信号中包含离散的载频分量时,在接收端需要从信号中分离出信号载波作为本地相干载波;这样分离出的本地相干载波频率必然与接收信号载波频率相同,但为了使相位也相同,可能需要对分离出的载波相位作适当的调整。若接收信号中没有离散载波分量,例如在2PSK信号中(“1” 和“0”以等概率出现时),则接收端需要用较复杂的方法从信号中提取载波。因此,在这些接收设备中需要有载波同步电路,以提供相干解调所需要的相干载波;相干载波必须与接收信号的载波严格地同频同相。

本系统几个设计要点:    

      第一:环路滤波系数的分段更新,实现频率跟踪效果的稳定。当锁相环开始工作的时候,首先由一组较大的环路滤波系数实现频率的快速跟踪,然后由一组较小的环路系数,实现频率的稳定跟踪。

    第二:环路平滑处理。

    第三:同时进行鉴频和鉴相

上面两个是性能上的改进,然后针对FPGA的设计,我们采用如下的改进设计构架。

    第一:基于流水线的设计流程,使得载波同步算法能够以流的形式进行反馈工作;

    第二:基于Cordic算法的NCO产生对应的SIN和COS。

2.仿真效果预览

算法仿真:MATLAB 2022a

FPGA设计:quartusii13.0

FPGA仿真:ModelSim-Altera 6.6d

 

3.MATLAB核心程序

`timescale 1ns / 1ps
module tops(
            i_clk,
				i_rst,
				o_signal,
			   o_I_map,
			   o_Q_map,
			   o_sin,
				o_cos,
				o_64QAM_real,
				o_64QAM_imag,
				o_cosfai,
				o_sinfai,
				o_I_PLL,
				o_Q_PLL,
				o_discriminator,
				o_nco,
				o_nco_smooth,
				o_fre
            );
				
input              i_clk;
input              i_rst;
output       [5:0] o_signal;	
output signed[3:0] o_I_map;
output signed[3:0] o_Q_map;
output signed[11:0]o_sin;
output signed[11:0]o_cos; 
output signed[15:0]o_64QAM_real;
output signed[15:0]o_64QAM_imag; 
 
output signed[15:0]o_cosfai;
output signed[15:0]o_sinfai;
output signed[15:0]o_I_PLL;
output signed[15:0]o_Q_PLL;
 
output signed[15:0]o_discriminator;
output signed[23:0]o_nco;
output signed[23:0]o_nco_smooth;
output signed[23:0]o_fre;
signal signal_u(
               .i_clk    (i_clk),
				   .i_rst    (i_rst),
				   .o_signal (o_signal)
              );
				  
//64QAM mod
mod_64QAM_tops mod_64QAM_tops_u(
                               .i_clk      (i_clk),
                               .i_rst      (i_rst),
							          .i_signal   (o_signal),
							          .o_I_map    (o_I_map),
							          .o_Q_map    (o_Q_map),
							          .o_sin      (o_sin),
							          .o_cos      (o_cos),
							          .o_QAM_real (o_64QAM_real),
							          .o_QAM_imag (o_64QAM_imag)
							          );				 
					 	 
					 
//64QAM demod	
demod_64QAM_tops demod_64QAM_tops_u(
												.i_clk           (i_clk),
												.i_rst           (i_rst),
												.i_Qam_real      (o_64QAM_real),
												.i_Qam_imag      (o_64QAM_imag),
												.o_cosfai        (o_cosfai),
												.o_sinfai        (o_sinfai),
												.o_I_PLL         (o_I_PLL),
												.o_Q_PLL         (o_Q_PLL),
												.o_discriminator (o_discriminator),
												.o_nco           (o_nco),
												.o_nco_smooth    (o_nco_smooth),
												.o_fre           (o_fre)
												);	
 
endmodule 
01-124m

4.完整MATLAB

V

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

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

相关文章

Qt编写视频监控系统(移动侦测/遮挡报警/区域入侵/越界侦测/报警输入输出等)

一、前言 得益于标准的onvif协议,各大监控厂商的设备都会支持onvif协议,在onvif协议中就包括了事件订阅机制,通过这个机制,可以拿到各种报警事件,比如移动侦测/遮挡报警/区域入侵/越界侦测/报警输入输出等&#xff0c…

深度学习-环境搭建(安装Pytorch)

文章目录前言一、安装Anaconda二、查看电脑显卡支持的CUDA版本三、更新CUDA版本四、创建并激活Anaconda虚拟环境需要创建虚拟环境而最好不在base下载的原因五、安装pytorchPS:注意事项六、下载其他库七、检查安装结果总结前言 入门深度学习过程中,我决定…

[附源码]JAVA毕业设计鞋店销售管理(系统+LW)

[附源码]JAVA毕业设计鞋店销售管理(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&…

都在说软件测试真的干不到35岁,那咋办呢...我都36了...

作为一个已经36岁但仍奋战在测试一线的老测试员,被人无数次问到这个问题,也回答过无数次,刚看到 程序员真的干到35岁就干不动了吗 想到,在测试行业,也有很多年轻人在焦虑这个问题。现在小编就从管理、技术、思维、体力…

Pytho——naiohttp的简单使用

1.aiohttp的简单使用(配合asyncio模块) import asyncio,aiohttpasync def fetch_async(url):print(url)async with aiohttp.request("GET",url) as r:reponse await r.text(encoding"utf-8")  #或者直接await r.read()不编码,直接读取&…

我不谈ChatGPT

(1)数据有两个未经证实的传闻:1、客服问答:80%用户问的问题都是那20%常见问题,但是就是这样,占用了客服人员80%的工作量和工作时间2、资讯搜索:谷歌一位员工说,在互联网上&#xff0…

Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)

​​​​​​​ Spring Cloud Alibaba简介 什么是Spring Cloud Alibaba Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。 此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 为…

OSI七层模型中各层网络协议

应用层: (典型设备:应用程序,如FTP,SMTP ,HTTP) DHCP(Dynamic Host Configuration Protocol)动态主机分配协议,使用 UDP 协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配 IP 地址&#xff0c…

spring——Spring 注入内部Bean——setter 方式注入内部 Bean

我们将定义在 <bean> 元素的 <property> 或 <constructor-arg> 元素内部的 Bean&#xff0c;称为“内部 Bean”。 项目依赖&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org…

交战“低代码”,云大厂跑马圈地

者 关注 2022年末,云大厂阿里、腾讯、华为(ATH)开始了新一轮的跑马圈地。 这一次交战的战场,是低代码。 11月18日,华为AppCube全线产品全面升级,在低代码、零代码、数据看板三个方面,升级优化;11月13日,腾讯升级了云开发开发者工具“微搭”,目前已服务开发者数300万…

疫情期间,家中常备药物有哪些?这份清单请收好

【防疫科普】疫情期间&#xff0c;家中常备药物有哪些&#xff1f;这份清单请收好 为加强防疫知识科普&#xff0c;提振群众战“疫”必胜信心&#xff0c;疫情期间&#xff0c;我们将持续向广大市民朋友传递科学健康科普知识、防疫提醒、自我防护注意事项、疫情期间心理疏导等相…

Python融于ASP框架

一、ASP的平反 想到ASP 很多人会说 “asp语言很蛋疼&#xff0c;不能面向对象&#xff0c;功能单一&#xff0c;很多东西实现不了” 等等诸如此类。 以上说法都是错误的&#xff0c;其一ASp不是一种语言是 微软用来代替CGI的一种web框架&#xff0c;只不过我们一直被扭曲在 vbs…

计算机毕业设计php_thinkphp_vue的校园论坛网站

运行环境 开发语言&#xff1a;PHP 数据库:MYSQL数据库 应用服务:apache服务器 使用框架:ThinkPHP&#xff1a;vue 开发工具:VScode/Dreamweaver/PhpStorm等均可 项目简介 在各学校的校园论坛中,交流是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流…

Python 数据库开发实战 - Redis命令行客户端与图形客户端的简单使用

上一章节我们已经启动了 redis 服务器&#xff0c;在这一章节我们就爱你过来学习 redis命令行客户端与图形客户端的简单使用&#xff0c;以及 redis 的 一些关键参数。 Redis 命令行客户端 - redis-cli redis-cli 是 Redis 自带的 命令行终端界面&#xff0c;一个简单的程序&…

【Redis】Redis 分布式锁误删问题

本文主要介绍 Redis 分布式锁误删问题的解决 场景一 1. 问题的产生情况一 因为业务阻塞&#xff0c;导致别人的锁被误删 2. 解决思路 获取锁的时候存入标识&#xff0c;释放锁的时候判断标识是否一致&#xff0c;一致可以释放锁&#xff0c;不一致不释放锁。 3. 解决代码 …

今年,我只赚了一点点

大家好&#xff0c;我是 Jack。 之前一直有小伙伴问我&#xff0c;有没有免费的股票信息查询的 API 接口&#xff1f; 我看了一圈&#xff0c;很多免费的 API 接口都年久失修&#xff0c;失效了。 那好吧&#xff0c;咱自己写一个。 想要玩量化交易&#xff0c;第一步&…

015 | 乡村振兴背景下田园综合体建设对农户生计的影响 | 大学生创新训练项目申请书 | 极致技术工厂

研究目的 本项目旨在研究xx市xx区田园综合体建设对农户生计的影响。以农户生计资本和生计恢复力为切入点&#xff0c;以塘坝镇、崇龛镇、太安镇等六个地级镇田园综合体建设前后作对比&#xff0c;研究其田园综合体建设对农户生计的影响&#xff0c;以期找到乡村振兴背景下田园综…

前端岗位编写代码注意规范

&#x1f525;&#x1f525;&#x1f525;关注前端小王hs&#x1f525;&#x1f525;&#x1f525; &#x1f525;&#x1f525;&#x1f525;加底部微信&#x1f525;&#x1f525;&#x1f525; &#x1f525;&#x1f525;&#x1f525;学习指导/前端练手项目推荐/毕设选题/…

基于元胞自动机森林火灾模型及应用(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

Allegro如何打印光绘层操作指导export模式

Allegro如何打印光绘层操作指导export模式 Allegro支持把光绘层面输出成pdf格式,下面介绍export模式如何输出,具体操作如下 打开光绘绘设置 确保光绘设置都是正确的 选择File-Export-PDF 弹出allegro PDF publisher,选择page setup Paper size选择A4,A4纸张 orientati…