【硬件测试】基于FPGA的16QAM软解调+卷积编码Viterbi译码系统开发,包含帧同步,信道,误码统计,可设置SNR

news/2026/1/18 16:59:56/文章来源:https://www.cnblogs.com/51matlab/p/19498759

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.引言

基于FPGA的16QAM软解调+卷积编码Viterbi译码通信系统开发,包含帧同步,高斯信道,误码统计,可设置SNR。系统包括16QAM调制,16QAM软解调模块,217卷积编码模块,维特比译码模块,AWGN信道模块,误码统计模块,帧同步模块,数据源模块等。

2.FPGA硬件片内测试效果

1

2

3

3.算法涉及理论知识概要

整体系统结构如下所示(其中解调部分为软解调算法实现):

4

16QAM是用两路独立的正交4ASK信号叠加而成,4ASK是用多电平信号去键控载波而得到的信号。它是2ASK调制的推广,和2ASK相比,这种调制的优点在于信息传输速率高。正交幅度调制是利用多进制振幅键控(MASK)和正交载波调制相结合产生的。16进制的正交振幅调制是一种振幅相位联合键控信号。16QAM的产生有2种方法:
(1)正交调幅法,它是有2路正交的四电平振幅键控信号叠加而成;
(2)复合相移法:它是用2路独立的四相位移相键控信号叠加而成。
这里采用正交调幅法。

4.Verilog程序接口

 wire signed[7:0]o_SNR;
wire signed[1:0]o_en;
wire            o_msg;
wire dat_clk;
wire dat_2clk;
signal signal_u(
.i_clk   (i_clk),
.i_rst   (~i_rst),
.o_en    (o_en),
.o_bits  (o_msg),
.dat_clk (dat_clk),
.dat_2clk(dat_2clk)
);//设置SNR
wire signed[7:0]o_SNR;
vio_0 your_instance_name (.clk(i_clk),                // input wire clk.probe_out0(o_SNR)  // output wire [7 : 0] probe_out0
);wire [1:0]o_enc;
wire      o_encs;
wire[3:0]o_ISET;
wire signed[15:0]o_I16QAM;
wire signed[15:0]o_Q16QAM;
wire signed[15:0]o_I16QAMs;
wire signed[15:0]o_Q16QAMs;
wire signed[31:0]o_mod_T;
wire signed[15:0]o_Nmod_T;
wire signed[31:0]o_modc_R;
wire signed[31:0]o_mods_R;
wire signed[31:0]o_Ifir_R;
wire signed[31:0]o_Qfir_R;
wire  [3:0]o_wbits;
wire       o_bits;
wire [1:0]o_bits_head;
wire [7:0]o_peak;
wire  o_en_data;
wire  o_en_pn;
wire  o_frame_start;
wire o_dec_enable;
wire o_dec;
wire signed[31:0]o_error_num;
wire signed[31:0]o_total_num;  TOPS_16QAM TOPS_16QAM_u(
.i_clk        (~i_clk),
.i_clkdx      (dat_clk),
.i_clkd2x     (dat_2clk),
.i_rst        (~i_rst),
.i_SNR        (o_SNR),
.i_en         (o_en),
.i_dat        (o_msg),.o_enc        (o_enc),
.o_encs       (o_encs),
.o_ISET       (o_ISET),
.o_I16QAM     (o_I16QAM),
.o_Q16QAM     (o_Q16QAM),
.o_I16QAMs    (o_I16QAMs),
.o_Q16QAMs    (o_Q16QAMs),
.o_mod_T      (o_mod_T),
.o_Nmod_T     (o_Nmod_T),.o_modc_R     (o_modc_R),
.o_mods_R     (o_mods_R),
.o_Ifir_R     (o_Ifir_R),
.o_Qfir_R     (o_Qfir_R),
.o_wbits      (o_wbits),
.o_bits       (o_bits),
.o_bits_head  (o_bits_head),
.o_peak       (o_peak),
.o_en_data    (o_en_data),
.o_en_pn      (o_en_pn),
.o_frame_start(o_frame_start),
.o_dec_enable (o_dec_enable),
.o_dec        (o_dec),
.o_error_num  (o_error_num),
.o_total_num  (o_total_num)
);//ila篇内测试分析模块
ila_0 ila_u (.clk(i_clk), // input wire clk.probe0({ o_msg,o_SNR,o_enc,o_Nmod_T[15:4],//24o_Ifir_R[27:12],o_Qfir_R[27:12],//24o_bits,o_bits_head,o_peak,o_en_data,o_en_pn,//14o_dec_enable,o_dec,//2o_error_num[19:0],o_total_num[23:0]//44}));	 
endmodule
0sj2_085m

 

5.开发板使用说明和如何移植不同的开发板

注意:硬件片内测试是指发射接收均在一个板子内完成,因此不需要定时同步模块。

在本课题中,使用的开发板是:

5

 

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

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

相关文章

机器学习基础 | KNN(K-近邻) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

基于 YOLOv8 的铁轨旁危险行为识别系统 [目标检测完整源码]

:基于 YOLOv8 的铁轨旁危险行为识别系统完整落地方案 [目标检测完整源码] 一、问题背景:铁路场景下“人”的风险识别为何困难 铁路沿线属于高风险公共区域。在实际运行中,铁轨旁常出现行人 停留、坐卧、行走甚至睡觉 等不当行为&#xff0c…

强烈安利9个AI论文写作软件,专科生搞定毕业论文不求人!

强烈安利9个AI论文写作软件,专科生搞定毕业论文不求人! AI工具让论文写作不再难 在当今这个信息爆炸的时代,学术写作对很多专科生来说无疑是一项巨大的挑战。从选题到撰写,再到反复修改和降重,每一步都可能让人感到力不…

在JavaScript / HTML中,cloneNode()方法详细指南

在HTML中使用JavaScript的cloneNode()方法详细指南 cloneNode() 是JavaScript中用于复制DOM节点的方法。下面我将详细指导你如何使用这个方法,包括基本用法、参数选项和实际示例。 1. 基础概念 cloneNode() 方法创建一个节点的副本,可以返回一个与指定节…

SpringAI实践-创建MCP Server

langchain4j是没法开发mcp server的,springai可以, 开发一个获取当前任意时区的时间的MCP Server: 1、初始化一个springboot项目 2、引入<dependency> <groupId>org.springframework.ai</groupId&…

小程序毕设项目:基于springboot+微信小程序的城镇职工基本医保云上管理系统(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

React Native for OpenHarmony 实战:Button 按钮组件使用指南

React Native for OpenHarmony 实战&#xff1a;Button 按钮组件使用指南 摘要&#xff1a;本文深度解析React Native标准Button组件在OpenHarmony平台的实战应用&#xff0c;涵盖基础用法、样式定制、事件处理及平台适配要点。通过7个可运行代码示例、2个对比表格和3个架构图…

本周学习小结

本次学习主要学习了动态内存分配的核心函数malloc、calloc、realloc和free头文件&#xff1a;所有动态内存函数都需要包含 <stdlib.h>1.malloc函数原型&#xff1a;void* malloc(size_t size)功能&#xff1a;在堆区申请一块大小为 size 字节的连续内存&#xff0c;返回起…

DocumentFormat.OpenXml 组件解析:构建现代化文档的四大支柱

DocumentFormat.OpenXml 组件解析&#xff1a;构建现代化文档的四大支柱 在当今数字化办公环境中&#xff0c;处理和管理文档已成为日常工作中的重要组成部分。对于.NET开发者而言&#xff0c;DocumentFormat.OpenXml库是一个强大且灵活的工具&#xff0c;可以让我们以编程方式…

微信小程序毕设项目推荐-基于小程序的位置服务的城市路线分享系统基于springboot位置服务的城市路线分享系统小程序【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

RL for LLM(large language model)

本文主要讲在LLM中RL的应用。 文章目录前言一、LLM模型论文解读1.1 kimi 1.51.2 Deepseek R11.3 S1二、深度解析GRPO2.1 推导GRPO总结前言 合成数据与model collapse 在介绍LLM中RL的应用前&#xff0c;先来讲一下LLM中的一些问题和技巧&#xff1b; 1&#xff09;介绍一下Nat…

2026年行业内靠谱的布袋除尘器直销厂家怎么选,通风阀门/通风蝶阀/除尘器花板/除尘器门盖,布袋除尘器实力厂家口碑排行榜 - 品牌推荐师

行业洞察:布袋除尘器市场进入技术驱动与全链服务竞争阶段 随着工业领域对超低排放、绿色生产的刚性需求提升,布袋除尘器作为核心环保设备,正从“单一产品竞争”转向“全链条服务+技术差异化”的双重竞争格局。2024年…

【毕业设计】基于微信小程序的育儿平台的设计与实现基于springboot的育儿妈宝小程序的设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

小程序计算机毕设之基于微信小程序的城镇职工基本医保云上管理系统springboot+微信小程序的城镇职工基本医保云上管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

Python+django的ssm毕业设计论文选题管理系统 质量分析系统28ro95f4

目录摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 随着高校教育信息化的快速发展&#xff0c;毕业设计管理成为提升教学质量和效率的重要环节。传统的毕业设计选题管理依赖人工操…

【课程设计/毕业设计】基于springboot+vue城镇居民医保云上管理系统springboot+微信小程序的城镇职工基本医保云上管理系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

05delphi10.3下PDFium5.8的全功能展示

05delphi10.3下PDFium5.8的全功能展示01】显示PDF02】页码列表03】一半/正常/两倍 显示04】打开外面PDF文件06】上一页,下一页,任何一页跳转07】得当页文本

杭州拼多多代运营公司怎么联系?电话、官网、微信全解析(2026版) - 前沿公社

随着拼多多平台流量与商家数量持续增长,越来越多杭州本地和全国性的电商代运营公司在 拼多多运营服务领域 展现出专业能力。本文整理了2026年主流杭州拼多多代运营公司的联系方式,包括电话、官网、微信与办公地址,内…

2025年板材货架厂家口碑榜出炉,这五家评价最高!手摇式悬臂货架/注塑模具货架/悬臂式伸缩货架,板材货架公司口碑推荐榜 - 品牌推荐师

在制造业升级与物流效率提升的双重驱动下,仓储设备的专业化、智能化需求日益凸显。板材作为众多制造行业的基础原材料,其存储方案直接关系到生产效率、物料损耗与空间利用率。传统的堆叠式存储不仅占用空间大,还存在…

小程序毕设选题推荐:记录分享宝宝成长的微信小程序设计与实现基于springboot的育儿妈宝小程序的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…