当前位置: 首页 > news >正文

基于FPGA实现BPSK 调制

目录

    • 一、 任务介绍
    • 二、基本原理
    • 三、基于FPGA实现BPSK 调制
    • 四、源码

一、 任务介绍

BPSK 调制在数字通信系统中是一种极重要的调制方式,它的抗干扰噪声性能及通频带的利用率均优先于 ASK 移幅键控和 FSK 移频键控。因此,PSK 技术在中、高速数据传输中得到了十分广泛的应用。

二、基本原理

PSK 信号是用载波相位的变化表征被传输信息状态的,通常规定 0 相位载波和π相位载波分别代表传 1 和传 0,其时域波形示意图如图 2-1 所示。设二进制单极性码为 an,其对应的双极性二进制码为 bn,则 BPSK 信号的一般时域数学表达式为:
在这里插入图片描述
在这里插入图片描述
由(2-1)式可见,BPSK 信号是一种双边带信号我们知道,BPSK 信号是用载波的不同相位直接去表示相应的数字信号而得出的,在这种绝对移相的方式中,由于发送端是以某一个相位作为基准的,因而在接收系统也必须有这样一个固定基准相位作参考。如果这个参考相位发生变化,则恢复的数字信息就会与发送的数字信息完全相反,从而造成错误的恢复。这种现象常称为 BPSK 的“倒π”现象,因此,实际中一般不采用 BPSK 方式,而采用差分移相(2DPSK)方式。

三、基于FPGA实现BPSK 调制

1、 创建工程文件,选择对应 BYS3 的型号;
2、添加一个顶层文件;
3、 创建一个 RAM IP 核用来存放 DDS 数据,此步骤为 DDS 的使用;
在这里插入图片描述
4、添加相应matlab生成的coe 文件;
5、 IP 核创建完成后,进行离线仿真验证 IP 核,创建一个仿真文件:找到 Simulation 目录,右击刚刚创建的仿真文件,选择 Set as Top,找到生成的 IP 核,复制框选的代码,作为例化的模板;将 IP 核例化到仿真文件中,再添加测试的模拟时钟和地址累加,如下图可以看到 douta 的正弦波波形;单载波离线仿真完成。
6、接下来创建约束 XDC 文件,代码在实验代码部分;
7、逻辑分析仪的使用,先点击 run synthesis 结束没有报错后 点开 Open
synthesis 再点击 Set Up DeBug,确认信号线都已添加;
在这里插入图片描述
8、添加完成后点击生成 bit,再点击 program devic,选择芯片,最后点击 program;
9、点击 run 出现波形,片上示波器使用步骤完成:
在这里插入图片描述

四、源码

veirilog HDL TOP 层代码代码:

module BPSK(
input clk, input reset, output sclk, //AD
output cs_n, //AD
output led, input sdata, //AD
output sinout1,//DA
output sync_n, //DA
output sysclk,//DA
output sinout2
);
reg [7:0]addr;
wire [7:0] sin;
reg clk_10m;
reg [1:0] cont;
wire [7:0] data;
sin sin_rom (
.clka(clk_10m), // input wire clka
.ena(1'b1), // input wire ena
.addra(addr), // input wire [7 : 0] addra
.douta(sin) // output wire [7 : 0] douta
);
always @(negedge clk_10m)
if(~reset)
addr <= 0;
else //if(sync_n==1)
addr <= addr + 1500;
clk_freq clk_freq(
.clk(clk),
.rst_n(reset),
.clk_10m(clk_10m)
);
always @(negedge clk or negedge reset)
begin
if(!reset)
cont <=0;
else
cont <=cont+2'b01;
end
adc_adc081s021 adc_adc081s021(
cs_n,sclk,data, cont[1], reset,sdata
);
DAC_deltasigma DAC_deltasigma
(
.DACout(sinout2),
.DACin(sin), // .DACin(data),
.Clk(clk_10m),
.Reset(reset)
);
DAC_dac081s101 DAC_dac081s101
(
.DACout(sinout1),
.sync_n(sync_n),
.DACin(sin),
.Clk(clk_10m),
.Reset(reset),
.sysclk(sysclk)
);

PN 码

reg [24:0]cnt;
wire pn_clk;
wire pn_out;
always @(negedge clk_10m) //时钟四分频
begin
if(~reset)
cnt<=0;
else
cnt<=cnt+1;
end
assign pn_clk =cnt[1];
code_gen U_code_gen(
.clk(clk_10m),
.grst_n(reset),
.ms_flag(1'b0),
.num(6'b000110),
.pn_clk(pn_clk),
.pn_out(pn_out)
);
reg [7:0] bpsk;
always @(negedge clk_10m)
bpsk<= pn_out?(~sin):sin;
assign led = &(pn_out|bpsk|sin);
endmodule

adc_adc081s021 模块代码:

module adc_adc081s021(
cs_n,sclk, data, clk, reset, sdata
);
output sclk;
output cs_n;
output [7:0] data;
input clk;
input reset;
input sdata;
reg sclk;
reg cs_n;
reg count;
reg [4:0] bits;
reg [7:0] data;
always @(negedge clk or negedge reset)
begin
if(!reset)
begin
count<=0;
end
else
begin
count<=count+1;
end
end
always @(negedge clk or negedge reset)
begin
if(!reset)
begin
sclk<=0;
end
else
begin
if(count==1)
sclk<=~sclk;
end
end
always @(negedge sclk or negedge reset)
begin
if(!reset)
begin
cs_n<=1'b1;
data<=0;
bits<=0;
end
else
case(bits)
5'd0:
begin
if(cs_n)
begin
bits <= 5'd0;
cs_n <=0;
end
else
bits <= 5'd1;
end
5'd1:
begin
bits <= 5'd2;
cs_n<=1'b0;
end
5'd2:
begin
bits <= 5'd3;
cs_n<=1'b0;
end
5'd3:
begin
bits <= 5'd4;
cs_n <= 1'b0;
end
5'd4:
begin
data[7]<= sdata;
bits <= 5'd5;
cs_n<=1'b0;
end
5'd5:
begin
data[6]<= sdata;
bits <= 5'd6;
cs_n<=1'b0;
end
5'd6:
begin
data[5]<= sdata;
bits <= 5'd7;
cs_n <=1'b0;
end
5'd7:
begin
data[4]<= sdata;
bits <= 5'd8;
cs_n <=1'b0;
end
5'd8:
begin
data[3]<= sdata;
bits <= 5'd9;
cs_n <=1'b0;
end
5'd9:
begin
data[2]<= sdata;
bits <= 5'd10;
cs_n <= 1'b0;
end
5'd10:
begin
data[1]<= sdata;
bits <= 5'd11;
cs_n <= 1'b0;
end
5'd11:
begin
data[0]<= sdata;
bits <= 5'd12;
cs_n<=1'b0;
end
5'd12:
begin
bits <= 5'd13;
cs_n<=1'b0;
end
5'd13:
begin
bits <= 5'd14;
cs_n<=1'b0;
end
5'd14:
begin
bits <= 5'd15;
cs_n<=1'b0;
end
5'd15:
begin
bits <= 5'd16;
cs_n<=1'b1;
end
5'd16:
begin
bits <= 5'd17;
cs_n<=1'b1;
end
5'd17:
begin
bits <= 5'd18;
cs_n<=1'b1;
end
5'd18:
begin
bits <= 5'd19;
cs_n<=1'b1;
end
5'd19:
begin
bits <= 5'd0;
cs_n<=1'b1;
end
endcase
end
endmodule

DAC_deltasigma 模块代码:

`define MSBI 7
module DAC_deltasigma(DACout, DACin, Clk, Reset);
output DACout; // This is the average output that feeds low pass filter
reg DACout; // for optimum performance, ensure that this ff is in IOB
input [`MSBI:0] DACin; // DAC input (excess 2**MSBI)
input Clk;
input Reset;
reg [`MSBI+2:0] DeltaAdder; // Output of Delta adder
reg [`MSBI+2:0] SigmaAdder; // Output of Sigma adder
reg [`MSBI+2:0] SigmaLatch; // Latches output of Sigma adder
reg [`MSBI+2:0] DeltaB; // B input of Delta adder
always @(SigmaLatch) DeltaB = {SigmaLatch[`MSBI+2], SigmaLatch[`MSBI+2]} << (`MSBI+1);
always @(DACin or DeltaB) DeltaAdder = DACin + DeltaB;
always @(DeltaAdder or SigmaLatch) SigmaAdder = DeltaAdder + SigmaLatch;
always @(posedge Clk or negedge Reset)
begin
if(!Reset)
begin
SigmaLatch <= 1'b1 << (`MSBI + 1);
DACout <= 1'b0;
end
else
begin
SigmaLatch <= SigmaAdder;
DACout <= SigmaLatch[`MSBI+2];
end
end
endmodule

DAC_dac081s101 模块代码:

module DAC_dac081s101(
DACout, sync_n, DACin,
Clk, Reset, sysclk
);
output DACout; // This is the average output that feeds low pass filter
output sync_n;
reg DACout; // for optimum performance, ensure that this ff is in IOB
reg sync_n;
output sysclk;
input [7:0] DACin;
input Clk;
input Reset;
//reg [15:0] reg1;
reg [3:0] bits;
reg sysclk;
always @(negedge Clk or negedge Reset)
begin
if(~Reset)
begin
sysclk <= 0;
end
else
sysclk<=~sysclk;
end
always @(negedge sysclk or negedge Reset)
begin
if(!Reset)
begin
bits <= 4'b0;
DACout <= 1'b0;
sync_n<=1'b1;
end
else
case(bits)
4'd0:
begin
DACout <= 0;
if(sync_n)
begin
bits <= 4'd0;
sync_n <=0;
end
else
bits <= 4'd1;
end
4'd1:
begin
DACout <= 0;
bits <= 4'd2;
sync_n<=1'b0;
end
4'd2:
begin
DACout <= 0;
bits <= 4'd3;
sync_n<=1'b0;
end
4'd3:
begin
DACout <= DACin[7];
//DACout <= 0;
bits <= 4'd4;
sync_n<=1'b0;
end
4'd4:
begin
DACout <= DACin[6];
// DACout <= 0;
bits <= 4'd5;
sync_n<=1'b0;
end
4'd5:
begin
DACout <= DACin[5];
bits <= 4'd6;
sync_n<=1'b0;
end
4'd6:
begin
DACout <= DACin[4];
bits <= 4'd7;
sync_n<=1'b0;
end
4'd7:
begin
DACout <= DACin[3];
bits <= 4'd8;
sync_n<=1'b0;
end
4'd8:
begin
DACout <= DACin[2];
bits <= 4'd9;
sync_n<=1'b0;
end
4'd9:
begin
DACout <= DACin[1];
bits <= 4'd10;
sync_n<=1'b0;
end
4'd10:
begin
DACout <= DACin[0];
bits <= 4'd11;
sync_n<=1'b0;
end
4'd11:
begin
// DACout <= DACin[0];
DACout <= 0;
bits <= 4'd12;
sync_n<=1'b0;
end
4'd12:
begin
// DACout <= DACin[0];
DACout <= 0;
bits <= 4'd13;
sync_n<=1'b0;
end
4'd13:
begin
DACout <= 0;
bits <= 4'd14;
sync_n<=1'b0;
end
4'd14:
begin
DACout <= 0;
bits <= 4'd15;
sync_n<=1'b0;
end
4'd15:
begin
DACout <= 0;
bits <= 4'd0;
sync_n<=1'b1;
end
endcase
end
endmodul

相关文章:

基于FPGA实现BPSK 调制

目录 一、 任务介绍二、基本原理三、基于FPGA实现BPSK 调制四、源码 一、 任务介绍 BPSK 调制在数字通信系统中是一种极重要的调制方式&#xff0c;它的抗干扰噪声性能及通频带的利用率均优先于 ASK 移幅键控和 FSK 移频键控。因此&#xff0c;PSK 技术在中、高速数据传输中得…...

包含网络、平台、数据及安全四大体系的智慧快消开源了

智慧快消视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。国产化人工智能“…...

基于AWS的大模型调用场景:10大成本优化实战方案

大模型训练与推理是AI领域的计算密集型场景&#xff0c;如何在AWS上实现高性能与低成本的双重目标&#xff1f;本文从实例选型、弹性伸缩、存储优化等角度&#xff0c;分享10个经过验证的AWS成本优化策略&#xff0c;帮助企业节省30%以上成本。 一、大模型场景的成本痛点分析 计…...

Human3.6M 解析3d pose标注 h36m

目录 解析pkl 并可视化 解析h5格式: view_h36m_h5_ok.py nlf 预测并计算指标mpje 解析pkl 并可视化 import os import pickleimport cv2 import imageio import numpy as npif __name__ == __main__:# pkl_path=r"E:\data\pose_3d\human3.6mtoolbox\annot\h36m_valid…...

设计模式-观察者模式和发布订阅模式区别

文章目录 其他不错的文章 二者有类似的地方&#xff0c;也有区别。 引用的文章说的已经比较清楚了&#xff0c;这里只列出对比图。 对比点观察者模式发布订阅模式中间人角色无事件中心&#xff0c;观察者直接订阅目标有事件中心&#xff0c;发布者与订阅者通过事件中心通信关系…...

Python proteinflow 库介绍

ProteinFlow是一个开源的Python库,旨在简化蛋白质结构数据在深度学习应用中的预处理过程。以下是其详细介绍: 功能 数据处理:支持处理单链和多链蛋白质结构,包括二级结构特征、扭转角等特征化选项。 数据获取:能够从Protein Data Bank (PDB)和Structural Antibody Databa…...

羽绒服选购

羽绒服怎么选&#xff1f; 看吊牌 填充物含绒子量充绒克数 填充物&#xff1a; 鹅绒>鸭绒>鹅鸭混合绒 中国90%羽绒服都是鸭绒&#xff0c;鹅绒产量少&#xff0c;且拔毛方式不人道&#xff0c;所以价格更高 白鸭绒和黑鸭绒区别不大&#xff0c;但是白羽绒服只能用白鸭绒…...

使用注解@RequestBody变红的解决问题

解决办法&#xff1a; package com.takeout.controller;import com.takeout.common.R; import com.takeout.entity.Employee; import com.takeout.service.EmployeeService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowire…...

Multi-Agent Routing Value Iteration Network(多智能体路由值迭代网络)论文阅读

标题&#xff1a;Multi-Agent Routing Value Iteration Network(多智能体路由值迭代网络) 作者&#xff1a;Quinlan Sykora&#xff0c; Mengye Ren&#xff0c; Raquel Urtasun 单位: Uber 发表期刊&#xff1a;AI 发表时间&#xff1a;2020年 论文研究主题归类&#xf…...

商品详情 API 返回数据字段说明

京东商品详情 API 返回的数据是一个结构化的 JSON 对象&#xff0c;包含了商品的多个关键字段。以下是一些常见的返回值字段及其说明&#xff1a; 1. 商品基本信息 num_iid&#xff1a;商品唯一标识符。 title&#xff1a;商品标题。 desc_short&#xff1a;商品简短描述。 …...

数据结构 | 证明链表环结构是否存在

❤个人主页&#xff1a; 链表环结构 0.前言1.环形链表&#xff08;基础&#xff09;2.环形链表Ⅱ&#xff08;中等&#xff09;3.证明相遇条件及结论3.1 问题1特殊情况证明3.2 问题1普适性证明 0.前言 在这篇博客中&#xff0c;我们将深入探讨链表环结构的检测方法&#xff1a;…...

AI Agent类开发应避免Python独舞,奏响多技术交响曲

、 &#xff08;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff09;。 一、Python的局限&#xff1a;从“万能”到“单薄”的技术困境 1.1 Python的统治地位与暗礁 Python在AI…...

git基本使用

git 默认情况下&#xff0c;克隆的远程仓库会被命名为 origin git remote remove origin # 移除默认的远程仓库 origingit remote add origin https://github.com/CS144/minnow.git # 添加一个新的远程仓库 origin&#xff0c;指向自己的 GitHub 仓库git branch -M main #将当…...

解决IDEA中自动生成返回值带final修饰的问题

修改配置文件&#xff1a; 1、在settings选项下&#xff0c;Editor–Code Style–Java–Code Generation&#xff0c;确保红框内的两项不被勾选 2、在自动生成的地方,仔细观看final下面带有下划线,说明此处存在快捷键,这时按下ALT F, 选项框会取消勾选Declare final. 回车接…...

Java中的Exception和Error有什么区别?还有更多扩展

概念 在Java中&#xff0c;Exception和Error都是Throwable的子类&#xff0c;用于处理程序中的错误和异常情况。 然而&#xff0c;它们在用途和处理方式上有显著的不同&#xff1a; Exception&#xff1a; 用于表示程序在正常运行过程中可能出现的错误&#xff0c;如文件未找…...

什么是中性线、零线、地线,三相四线制如何入户用电

在变压器三相电侧&#xff0c;按照星形连接法&#xff0c;有一个中心点&#xff0c;这根线引出来的线接不接地&#xff1a;不接地就是中性线&#xff0c;接地就是零线 下面就是没有接地&#xff1a;中性线 接地了以后就可以叫做零线了 三相电在高压输电的时候是没有零线的&a…...

不用额外下载jar包,idea快速查看使用的组件源码

以nacos为例子&#xff0c;在idea中引入了nacos依赖&#xff0c;就可以查看源码了。 2. idea选择open&#xff08;不关闭项目直接选择file-open也可以&#xff09;, 在maven的仓库里找到对应的包&#xff0c;打开 2.idea中选择 jar包&#xff0c;选择 add as library 3.这样j…...

Ant Design X 和 Element-Plus-X

Ant Design X 是 Ant Design 的全新 AGI 组件库&#xff0c;旨在帮助开发者更轻松地研发 AI 产品用户界面。提供AI交互所需的Attachments、Sender、ThoughtChain等组件&#xff0c;以及useXAgent、XStream等hooks。 具备支持Vue和React两个版本 React&#xff1a; https://gi…...

jetson配置yolov5(tensor加速版)出现的问题(killed+tensor+~)

1.在cmake生成engine引擎文件时&#xff0c;出现一系列报错 make [ 20%] Building NVCC (Device) object CMakeFiles/myplugins.dir/myplugins_generated_yololayer.cu.o /home/lin/yolov5-4.0/yolov5/yololayer.h(54): error: member function declared with "override&…...

【华为战报】2025年3月 考试战报!

原创&#xff1a;厦门微思网络 了解更多往期考试→点 【考试战报】 华为认证 HCIA 3月 微思 | HCIA 考试战报 学员成绩单 华为认证 HCIP 3月 微思 | HCIP 考试战报 学员成绩单 学员证书 华为认证 HCIE 3月 微思 | HCIE 考试战报 学员成绩单 学员证书 华为认证 最新开班 厦门面授…...

daz3d ERC Freeze to Morph Target 和 另存为 Morph Asset(s)

. ERC 冻结至变形目标 (ERC Freeze to Morph Target) 核心目标&#xff1a;将骨架的调整与自定义造型的滑块关联起来。 详细解释&#xff1a; 当你创建一个自定义造型&#xff08;Morph&#xff09;并调整了骨架&#xff08;Rigging&#xff09;以适应这个新造型后&#xff…...

【网络安全 | 项目开发】Web 安全响应头扫描器(提升网站安全性)

未经许可,不得转载。 文章目录 项目简介项目功能示例输出技术栈:简单代码结构可选扩展功能项目简介 Web 安全响应头扫描器(Security Headers Checker),一个安全合规工具,用于检测目标网站是否配置了关键的 HTTP 安全头部,帮助开发者提升网站基础安全性。 项目功能 1.…...

Python - 爬虫-网页抓取数据-库requests

requests库是一个功能强大的HTTP库&#xff0c;用于发送各种HTTP请求&#xff0c;如GET、POST、PUT、DELETE等。 requests官网&#xff1a;Requests: HTTP for Humans™ — Requests 2.32.3 documentation 使用requests可以模拟浏览器的请求&#xff0c;比起之前用的urllib&a…...

antv x6使用(支持节点排序、新增节点、编辑节点、删除节点、选中节点)

项目需要实现如下效果流程图&#xff0c;功能包括节点排序、新增节点、编辑节点、删除节点、选中节点等 html部分如下&#xff1a; <template><div class"MindMapContent"><el-button size"small" click"addNode">新增节点&…...

Nginx 是什么?Nginx高并发架构拆解指南

你是一个程序员&#xff0c;你在电脑上编辑了一段文本&#xff0c;将它保存为 txt 文件。将它拖到浏览器打开&#xff0c;就能看到文件里的内容。 但这看起来太过单调&#xff0c;为了让画面更丰富&#xff0c;我们定个规则&#xff0c;在文本边上加个两个h1符号&#xff0c;文…...

JS forEach方法

遍历数组...

可道云支持群晖的docker安装了:全网唯一支持onlyoffice安装说明

在群晖系统上部署可道云面临显著的技术门槛。DSM7.2版本因不兼容Apache2.2等组件&#xff0c;用户需改用Docker手动配置环境&#xff0c;涉及PHP扩展、SQLite3适配及存储路径映射等复杂操作&#xff0c;且安装后需通过WebStation调整脚本语言参数&#xff0c;对非专业用户极不友…...

V4L2杂谈

V4L2的开发手册 在做v4l2的开发的时候&#xff0c; 可以使用v4l2-ctl命令协助调试和软件开发。关于linux多媒体开发可以参考链接&#xff1a;https://www.linuxtv.org/wiki/index.php/Main_Page关于v4l2的api接口开发可以参考&#xff1a;https://linuxtv.org/docs.php在linux…...

Java—HTML:3D形变

今天我要介绍的是在Java HTML中CSS的相关知识点内容之一&#xff1a;3D形变&#xff08;3D变换&#xff09;。该内容包含透视&#xff08;属性&#xff1a;perspective&#xff09;&#xff0c;3D变换&#xff0c;3D变换函数以及案例演示&#xff0c; 接下来我将逐一介绍&…...

Zotero PDF Translate 翻译插件使用OpenAI API配置教程

PDF Translate&#xff1a;提升 Zotero 内置 PDF 阅读器的翻译功能 “PDF Translate” 是一款为 Zotero 设计的插件&#xff0c;旨在方便用户在 Zotero 内置的 PDF 阅读器中进行划词或段落翻译&#xff0c;辅助阅读外文文献。 一、 安装插件 下载插件&#xff1a; 访问 PDF T…...

[raspberrypi 0w and respeaker 2mic]实时音频波形

0. 环境 ubuntu22主机&#xff0c; 192.168.8.162&#xff0c; raspberry 0w&#xff0c; 192.168.8.220 路由器 1. 树莓派 # rpi - send.py # 或者命令行&#xff1a;arecord -D plughw:1,0 -t wav -f cd -r 16000 -c 2 | nc 192.168.8.162 12345import socket imp…...

go-zero自动生成repository文件和测试用例

文章目录 repository的作用自动生成repository文件repo模板文件repo_test模板文件生成结果运行测试用例 repository的作用 在软件开发中&#xff0c;尤其是在采用分层架构或者领域驱动设计&#xff08;DDD&#xff09;的项目里&#xff0c;repository&#xff08;仓库&#xf…...

红宝书第三十六讲:持续集成(CI)配置入门指南

红宝书第三十六讲&#xff1a;持续集成&#xff08;CI&#xff09;配置入门指南 资料取自《JavaScript高级程序设计&#xff08;第5版&#xff09;》。 查看总目录&#xff1a;红宝书学习大纲 一、什么是持续集成&#xff1f; 持续集成&#xff08;CI&#xff09;就像咖啡厅的…...

【Java学习】如何利用AI学习Java语言开发(二)

利用AI辅助学习Java语言开发可以显著提高学习效率、解决实际问题和优化代码质量。以下是结合AI工具和方法的系统化学习路径: 一、AI辅助学习基础阶段 智能交互式学习平台 使用Codecademy(AI驱动版)或JetBrains Academy的Java课程,AI会根据你的代码实时提供修正建议 尝试Ch…...

【C++算法】53.链表_重排链表

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a; 题目链接&#xff1a; 143. 重排链表 题目描述&#xff1a; 解法 模拟 找到链表的中间节点 快慢双指针 把后面的部分逆序 双指针&#xff0c;三指针&#xff0c;头插法 合并两个链表 合并两个有…...

Ubuntu安装Docker引擎

安装Docker引擎 一、注意事项 防火墙兼容性 若使用 ufw​ 或 firewalld​&#xff0c;Docker 容器端口会绕过防火墙规则。建议通过 iptables​ 或 ip6tables​ 配置防火墙&#xff0c;并将规则添加到 DOCKER-USER​ 链。仅支持 iptables-nft​ 和 iptables-legacy​&#xff0…...

[目标检测]2023ICCV:DiffusionDet: Diffusion Model for Object Detection

作者&#xff1a;Shoufa Chen, Peize Sun, Yibing Song, Ping Luo 论文&#xff1a;https://arxiv.org/pdf/2211.09788v2 代码&#xff1a;https://github.com/ShoufaChen/DiffusionDet 摘要 我们提出了一个新的框架DiffusionDet&#xff0c; 将目标检测构建为从噪声框到目标…...

CExercise_09_结构体和枚举_2VS的Debug模式查看它的内存布局,采用结构体数组的方式存储信息,调用函数打印结构体数组.

题目&#xff1a; 下面结构体类型的变量的内存布局是怎样的&#xff1f;请使用VS的Debug模式查看它的内存布局 typedef struct stundent_s {int number;char name[25];char gender;int chinese;int math;int english; } Student;// 结构体对象的声明和初始化 Student s1 { 1, …...

LeetCode 热题 100_零钱兑换(85_322_中等_C++)(动态规划)

LeetCode 热题 100_零钱兑换&#xff08;85_322&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;动态规划&#xff09;&#xff1a; 代码实现代码实现&#xff08;思路一&#xff08;动态规划&#xff09;&a…...

Java——抽象方法抽象类 接口 详解及综合案例

1.抽象方法抽象类 介绍 抽象方法: 将共性的行为(方法)抽取到父类之后&#xff0c; 由于每一个子类执行的内容是不一样&#xff0c; 所以&#xff0c;在父类中不能确定具体的方法体。 该方法就可以定义为抽象方法。 抽象类: 如果一个类中存在抽象方法&#xff0c;那么该类就必须…...

国产芯片解析:LDR6501 Type-C接口OTG充电PD芯片详解

LDR6501 是一款专为 USB Type-C 设备设计的单C口DPR接口PD通信芯片&#xff0c;封装形式为 SOT23-6。此款芯片具有多项实用功能&#xff0c;在耳机转接器、领夹麦克风以及 OTG 转接头等应用中表现出色。 应用领域 ‌耳机转接器‌&#xff1a;许多新型耳机采用 Type-C 接口&am…...

Payoneer(P卡)会关联吗?如何有效防止P卡关联?

随着跨境电商和全球支付需求的增加&#xff0c;Payoneer&#xff08;简称P卡&#xff09;成为了许多商家和个人进行国际支付和收款的重要工具。Payoneer是一种全球支付平台&#xff0c;支持用户跨国收款、汇款&#xff0c;并提供多种货币的账户支持。 许多从事跨境电商的商家和…...

前端基础之《Vue(3)—计算属性》

一、computed选项 1、计算属性 语法&#xff1a;在computed选项中&#xff0c;定义计算属性方法&#xff0c;在方法体使用声明式变量进行若干计算。 2、计算属性一定是个函数。一定有返回值。 3、计算属性的作用 &#xff08;1&#xff09;用于优化指令的表达式&#xff0c;…...

【Linux】Linux 权限:数字背后的神秘 “门禁卡” 系统

目录 权限的基本概念Linux上用户的分类超级用户和普通用户用户之间的切换文件访问者的分类 文件属性与访问权限Linux下的文件类型文件后缀在Linux中的作用文件自身的属性【⭐】文件访问者的三种权限【rwx】文件权限值的表示方法 文件访问权限的相关设置方法chmod——设置文件的…...

Java中List方法的使用详解

目录 一、List接口概述二、List常用方法&#xff08;一&#xff09;创建List对象&#xff08;二&#xff09;添加元素&#xff08;三&#xff09;删除元素&#xff08;四&#xff09;查找元素&#xff08;五&#xff09;遍历列表&#xff08;六&#xff09;列表的大小&#xff…...

多模态大语言模型arxiv论文略读(十一)

Can We Edit Multimodal Large Language Models? ➡️ 论文标题&#xff1a;Can We Edit Multimodal Large Language Models? ➡️ 论文作者&#xff1a;Siyuan Cheng, Bozhong Tian, Qingbin Liu, Xi Chen, Yongheng Wang, Huajun Chen, Ningyu Zhang ➡️ 研究机构: 浙江大…...

JS—防抖和节流:1分钟掌握防抖和节流

个人博客&#xff1a;haichenyi.com。感谢关注 一. 目录 一–目录二–防抖三–节流四–进阶应用五–总结 二. 防抖&#xff08;Debounce&#xff09; 防抖&#xff08;Debebounce&#xff09;和节流&#xff08;Throttle&#xff09;都是前端开发中用于优化高频事件性能的两…...

MCP基础学习二:MCP服务搭建与配置

文章目录 MCP服务搭建与配置一&#xff0c;学习目标&#xff1a;二&#xff0c;学习内容&#xff1a;1. 如何搭建MCP服务端服务端初始化与配置MCP服务架构与数据流交互图核心实现注册服务功能服务器启动与API暴露 2. 本地应用与MCP服务的集成客户端SDK实现客户端应用实现功能演…...

MyBatis 操作数据库

目录 什么是MyBatis? 注释 Mapper注释的介绍和使用 Select注释的介绍和使用 SpringBootTest注释的介绍和使用 Test注释的介绍的使用 MyBatis入门​ 1&#xff09;准备工作 <1>创建工程​ <2>数据准备​ 2&#xff09;配置数据库连接字符串 3&#xff…...

蓉光:科技与自然的千年交响

故事背景 故事发生在中国四川成都&#xff0c;这座千年古城在近未来完成蜕变&#xff0c;青城山的云雾与锦江的碧波间&#xff0c;智能建筑如雨后春笋般生长。全城建筑采用太阳能皮肤&#xff0c;街道流淌着数字化的都江堰水系&#xff0c;杜甫草堂的飞檐与机械芙蓉树共舞&…...