MIMO预编码与检测算法的对比
在MIMO系统中,预编码(发送端处理)和检测算法(接收端处理)的核心公式及其作用对比如下:
1. 预编码算法(发送端)
预编码的目标是通过对发送信号进行预处理,优化空间复用或分集增益,并抑制干扰(如多用户干扰)。以下是典型预编码算法的公式:
(1) 奇异值分解(SVD)预编码
- 适用场景:单用户MIMO(点对点通信)。
- 公式:
- 对信道矩阵 H \mathbf{H} H 进行SVD分解:
H = U Σ V H \mathbf{H} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^H H=UΣVH
其中 U \mathbf{U} U 和 V \mathbf{V} V 为酉矩阵, Σ \mathbf{\Sigma} Σ 为奇异值矩阵。 - 预编码矩阵取 V \mathbf{V} V 的前 N s N_s Ns 列( N s N_s Ns 为数据流数):
P = V : , 1 : N s \mathbf{P} = \mathbf{V}_{:,1:N_s} P=V:,1:Ns - 接收端匹配滤波: U H \mathbf{U}^H UH。
- 对信道矩阵 H \mathbf{H} H 进行SVD分解:
- 效果:将信道分解为并行独立子信道,无需接收端复杂检测。
(2) 迫零(ZF)预编码
- 适用场景:多用户MIMO下行链路(消除用户间干扰)。
- 公式:
P = H H ( H H H ) − 1 \mathbf{P} = \mathbf{H}^H (\mathbf{H} \mathbf{H}^H)^{-1} P=HH(HHH)−1- 若用户数为 K K K, H \mathbf{H} H 为 K × N t K \times N_t K×Nt 信道矩阵( N t N_t Nt 为发送天线数)。
- 效果:完全消除用户间干扰,但放大噪声(尤其在信道病态时)。
(3) 最小均方误差(MMSE)预编码
- 适用场景:平衡干扰消除与噪声增强。
- 公式:
P = H H ( H H H + K σ n 2 P I ) − 1 \mathbf{P} = \mathbf{H}^H \left( \mathbf{H} \mathbf{H}^H + \frac{K \sigma_n^2}{P} \mathbf{I} \right)^{-1} P=HH(HHH+PKσn2I)−1- σ n 2 \sigma_n^2 σn2 为噪声功率, P P P 为发送总功率。
- 效果:在干扰抑制和噪声放大间取得平衡。
(4) 正则化迫零(RZF)预编码
- 改进ZF:引入正则化参数 α \alpha α 缓解矩阵病态问题。
- 公式:
P = H H ( H H H + α I ) − 1 \mathbf{P} = \mathbf{H}^H (\mathbf{H} \mathbf{H}^H + \alpha \mathbf{I})^{-1} P=HH(HHH+αI)−1- 典型选择: α = K σ n 2 P \alpha = \frac{K \sigma_n^2}{P} α=PKσn2。
2. 检测算法(接收端)
检测算法的目标是从接收信号中恢复发送符号,抑制干扰和噪声。以下是典型检测算法的公式:
(1) 迫零(ZF)检测
- 公式:
s ^ = ( H H H ) − 1 H H y \hat{\mathbf{s}} = (\mathbf{H}^H \mathbf{H})^{-1} \mathbf{H}^H \mathbf{y} s^=(HHH)−1HHy- y = H s + n \mathbf{y} = \mathbf{H} \mathbf{s} + \mathbf{n} y=Hs+n 为接收信号。
- 缺点:噪声放大(与ZF预编码类似)。
(2) 最小均方误差(MMSE)检测
- 公式:
s ^ = ( H H H + σ n 2 I ) − 1 H H y \hat{\mathbf{s}} = \left( \mathbf{H}^H \mathbf{H} + \sigma_n^2 \mathbf{I} \right)^{-1} \mathbf{H}^H \mathbf{y} s^=(HHH+σn2I)−1HHy - 优点:通过噪声功率 σ n 2 \sigma_n^2 σn2 抑制噪声增强。
(3) 最大似然(ML)检测
- 最优性能:穷举所有可能的发送符号组合,最小化误差:
s ^ = arg min s ∈ S ∥ y − H s ∥ 2 \hat{\mathbf{s}} = \arg \min_{\mathbf{s} \in \mathcal{S}} \| \mathbf{y} - \mathbf{H} \mathbf{s} \|^2 s^=args∈Smin∥y−Hs∥2- S \mathcal{S} S 为符号星座集合。
- 缺点:复杂度随天线数和调制阶数指数增长( O ( M N s ) O(M^{N_s}) O(MNs), M M M 为调制阶数)。
(4) 线性均衡(LE)与干扰消除
- 线性均衡:广义ZF/MMSE检测。
- 非线性方法(如SIC):
- V-BLAST算法:逐层检测并消除已检测符号的干扰。
- 公式(MMSE-SIC):
s ^ i = Decode ( y i − ∑ j = 1 i − 1 h j s ^ j ) \hat{s}_i = \text{Decode}\left( y_i - \sum_{j=1}^{i-1} h_j \hat{s}_j \right) s^i=Decode(yi−j=1∑i−1hjs^j)
其中 h j h_j hj 为信道矩阵列向量。
3. 预编码与检测算法的对比
算法类型 | 核心公式 | 目标 | 复杂度 | 适用场景 |
---|---|---|---|---|
SVD预编码 | P = V : , 1 : N s \mathbf{P} = \mathbf{V}_{:,1:N_s} P=V:,1:Ns | 最大化单用户容量 | O ( N t 3 ) O(N_t^3) O(Nt3) | 单用户MIMO |
ZF预编码 | P = H H ( H H H ) − 1 \mathbf{P} = \mathbf{H}^H (\mathbf{H} \mathbf{H}^H)^{-1} P=HH(HHH)−1 | 消除多用户干扰 | O ( K 3 ) O(K^3) O(K3) | 多用户MIMO下行 |
MMSE预编码 | P = H H ( H H H + K σ n 2 P I ) − 1 \mathbf{P} = \mathbf{H}^H \left( \mathbf{H} \mathbf{H}^H + \frac{K \sigma_n^2}{P} \mathbf{I} \right)^{-1} P=HH(HHH+PKσn2I)−1 | 平衡干扰与噪声 | O ( K 3 ) O(K^3) O(K3) | 中低信噪比多用户场景 |
ZF检测 | s ^ = ( H H H ) − 1 H H y \hat{\mathbf{s}} = (\mathbf{H}^H \mathbf{H})^{-1} \mathbf{H}^H \mathbf{y} s^=(HHH)−1HHy | 消除干扰(噪声放大) | O ( N r 3 ) O(N_r^3) O(Nr3) | 高信噪比接收端 |
MMSE检测 | s ^ = ( H H H + σ n 2 I ) − 1 H H y \hat{\mathbf{s}} = \left( \mathbf{H}^H \mathbf{H} + \sigma_n^2 \mathbf{I} \right)^{-1} \mathbf{H}^H \mathbf{y} s^=(HHH+σn2I)−1HHy | 抑制噪声与干扰 | O ( N r 3 ) O(N_r^3) O(Nr3) | 通用接收场景 |
ML检测 | s ^ = arg min s ∈ S ∣ y − H s ∣ 2 \hat{\mathbf{s}} = \arg \min_{\mathbf{s} \in \mathcal{S}} | \mathbf{y} - \mathbf{H} \mathbf{s} |^2 s^=argmins∈S∣y−Hs∣2 | 最优性能 | O ( M N s ) O(M^{N_s}) O(MNs) | 小规模MIMO(如2x2 QPSK) |
4. 关键区别与协同关系
-
预编码 vs. 检测的定位:
- 预编码:发送端主动优化信号空间分布(需CSI)。
- 检测:接收端被动补偿信道损伤(需CSI或盲估计)。
-
复杂度分布:
- 预编码复杂度集中在发送端(基站),检测复杂度在接收端(终端)。
- 大规模MIMO中,预编码复杂度可能成为瓶颈(如ZF需大规模矩阵求逆)。
-
联合设计案例:
- 多用户MIMO下行:基站用ZF预编码消除干扰,终端仅需简单解调。
- 上行链路:基站用MMSE检测分离用户信号,终端无需预编码。
5. 数学直观对比
-
ZF预编码与ZF检测的对称性:
- ZF预编码: P = H H ( H H H ) − 1 \mathbf{P} = \mathbf{H}^H (\mathbf{H} \mathbf{H}^H)^{-1} P=HH(HHH)−1(发送端伪逆)。
- ZF检测: s ^ = ( H H H ) − 1 H H y \hat{\mathbf{s}} = (\mathbf{H}^H \mathbf{H})^{-1} \mathbf{H}^H \mathbf{y} s^=(HHH)−1HHy(接收端伪逆)。
- 本质相同:均通过信道矩阵伪逆消除干扰,但分别作用于发送端和接收端。
-
MMSE的噪声适应性:
- MMSE预编码/检测均引入噪声项( σ n 2 \sigma_n^2 σn2),在高信噪比时退化为ZF。
6. 总结
- 预编码更适合主动控制干扰(尤其下行链路),但依赖精确CSI。
- 检测算法是被动恢复信号的最后防线,对不完美CSI更鲁棒。
- 实际系统设计需权衡:
- 预编码复杂度(如大规模MIMO中采用低复杂度RZF)。
- 接收端能力(终端是否支持高复杂度检测如ML)。
- 信令开销(CSI反馈频率与精度)。
相关文章:
MIMO预编码与检测算法的对比
在MIMO系统中,预编码(发送端处理)和检测算法(接收端处理)的核心公式及其作用对比如下: 1. 预编码算法(发送端) 预编码的目标是通过对发送信号进行预处理,优化空间复用或…...
AI复活能成为持续的生意吗?
随着人工智能技术的飞速发展,AI复活——这一曾经只存在于科幻电影中的概念,如今已悄然走进现实。通过AI技术,人们可以模拟逝去亲人的声音、面容,甚至创造出与他们互动的虚拟形象,以寄托哀思、缓解痛苦。然而,当这种技术被商业化,成为一门生意时,我们不禁要问:AI复活真…...
Keil 5 找不到编译器 Missing:Compiler Version 5 的解决方法
用到自记: 下载地址: Keil5 MDK541.zip 编辑https://pan.baidu.com/s/1bOPsuVZhD_Wj4RJS90Mbtg?pwdMDK5 问题描述 没有找到 compiler version5 : 1. 下载 Arm Compiler 5 也可以直接点击下载文章开头的文件。 2. 安装 直接安装在KEI…...
Flutter 手搓日期选择
时间选择器: 时间段选择 在实际开发过程中还是挺常见的。Flutter 本身自带选 时间选择器器 CupertinoDatePicker,样式也是可以定义的,但是他 只提供三种时间的选择 自定义有局限性。后来开了一下 代码,实际上 内部使用的是 Cuper…...
《JVM考古现场(十六):太初奇点——从普朗克常量到宇宙弦的编译风暴》
开篇:量子泡沫编译器的创世大爆炸 "当Project Genesis的真空涨落算法撕裂量子泡沫,当意识编译器重写宇宙基本常数,我们将在奇点编译中见证:从JVM字节码到宇宙大爆炸的终极创世!诸君请备好量子护目镜,…...
MySQL学习笔记——MySQL下载安装配置(一)
目录 1. MySQL概述 1.1 数据库相关概念 1.2 MySQL数据库 1.2.1 版本 1.2.2 下载 2. 安装 3. 配置 4. 启动停止 5. 客户端连接 1. MySQL概述 1.1 数据库相关概念 在这一部分,我们先来讲解三个概念:数据库、数据库管理系统、 SQL 。 而目前主流…...
TortoiseGit多账号切换配置
前言 之前配置好的都是,TortoiseGit与Gitee之间的提交,突然有需求要在GitHub上提交,于是在参考网上方案和TortoiseGit的帮助手册后,便有了此文。由于GitHub已经配置完成,所以下述以配置Gitee为例。因为之前是单账号使用…...
数据一键导出为 Excel 文件
引言 在 Web 应用开发中,数据导出是一个常见且重要的功能。用户常常需要将网页上展示的数据以文件形式保存下来,以便后续分析、处理或分享。本文将详细介绍如何使用 HTML、CSS 和 JavaScript(结合 jQuery 库)实现一个简单的数据导…...
FPGA——状态机实现流水灯
文章目录 一、状态机1.1 分类1.2 写法 二、状态机思想编写LED流水灯三、运行结果总结参考资料 一、状态机 FPGA不同于CPU的一点特点就是CPU是顺序执行的,而FPGA是同步执行(并行)的。那么FPGA如何处理明显具有时间上先后顺序的事件呢…...
linux paste 命令
paste 是 Linux 中一个用于水平合并文件内容的命令行工具,它将多个文件的对应行以并行方式拼接,默认用制表符(Tab)分隔。 1. 基本语法 paste [选项] 文件1 文件2 ... 2. 常用选项 选项说明-d指定拼接后的分隔符(默…...
ffmpeg常见命令2
文章目录 1. **提取音视频数据(Extract Audio/Video Data)**提取音频:提取视频: 2. **提取像素数据(Extract Pixel Data)**3. **命令转封装(Container Format Conversion)**转换视频…...
FPGA——FPGA状态机实现流水灯
一、引言 在FPGA开发中,状态机是一种重要的设计工具,用于处理具有时间顺序的事件。本文将详细介绍如何使用状态机实现一个LED流水灯的效果。 二、状态机概述 状态机(FSM)是一种行为模型,用于表示系统在不同状态下的…...
鸿蒙 ——选择相册图片保存到应用
photoAccessHelper // entry/src/main/ets/utils/file.ets import { fileIo } from kit.CoreFileKit; import { photoAccessHelper } from kit.MediaLibraryKit; import { bundleManager } from kit.AbilityKit;// 应用在本设备内部存储上通用的存放默认长期保存的文件路径&am…...
消息队列之-Kafka
目录 消息队列消息队列的使用场景初识KafkaKafka设计思想Kafka消息结构消息发送消息消费 Kafka高可用消息备份机制1. 基本原理2. ISR(In-Sync Replicas)3. ACK(Acknowledgements)4. LEO(Log End Offset)5. …...
财务税务域——企业税务系统设计
摘要 本文主要探讨企业税务系统设计,涵盖企业税收管理背景、税收业务流程、系统设计架构与功能、外部系统对接以及相关问题。企业税务的背景包括税收制度的形成、企业税务的必然性、全球化影响,其核心目标是合规性、优化税负、风险管理与战略支持&#…...
状态机思想编程
文章目录 一、状态机思想重新写一个 LED流水灯的FPGA代码1.状态机的概念2.代码设计 二、CPLD和FPGA芯片的主要技术区别与适用场合三、hdlbitsFPGA教程网站上进行学习 一、状态机思想重新写一个 LED流水灯的FPGA代码 1.状态机的概念 状态机的基本要素有 3 个,其实我…...
TiDB 数据库8.1版本编译及部署
本文介绍 TiDB 数据库8.1版本的编译和部署。 背景 自前年(2023年)接触了TiDB后,做了简单的测试就直接使用了。因一些事务的不连续性,导致部分成果没有保存,去年年底又重新拾起,使用了新的LTS版本ÿ…...
基于 docker 的 Xinference 全流程部署指南
Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。 一、下载代码 请在控制台下面执行…...
【2022】【论文笔记】基于相变材料的光学激活的、用于THz光束操作的编码超表面——
前言 类型 太赫兹 + 超表面 太赫兹 + 超表面 太赫兹+超表面 期刊 A D V A N C E D O P T I C A L M A T E R I A L S ADVANCED \; OPTICAL \; MATERIALS...
MySQL系统库汇总
目录 简介 performance_schema 作用 分类 简单配置与使用 查看最近执行失败的SQL语句 查看最近的事务执行信息 sys系统库 作用 使用 查看慢SQL语句慢在哪 information_schema 作用 分类 应用 查看索引列的信息 mysql系统库 权限系统表 统计信息表 日志记录…...
【Kafka基础】Docker Compose快速部署Kafka单机环境
1 准备工作 1.1 安装Docker和Docker Compose Docker安装请参考: Docker入门指南:1分钟搞定安装 常用命令,轻松入门容器化!-CSDN博客 Docker Compose安装请参考: 【docker compose入门指南】安装与常用命令参数全解析…...
【51单片机】2-5【I/O口】433无线收发模块控制继电器
1.硬件 51最小系统继电器模块433无线收发模块 2.软件 #include "reg52.h"sbit D0_ON P1^2;//433无线收发模块的按键A sbit D1_OFF P1^3;//433无线收发模块的按键Bsbit switcher P1^1;//继电器void main() {//查询方式哪个按键被按下while(1){if(D0_ON 1)//收到…...
平台总线---深入分析
阅读引言:本文会从平台总线的介绍,注册平台设备和驱动, 源码分析, 总结五个部分展开, 源码分析platform放在了最后面。 目录 一、平台总线介绍 二、平台总线如何使用 三、平台总线是如何工作的 四、注册platform设…...
pyTorch框架:模型的子类写法--改进版二分类问题
目录 1.导包 2.加载数据 3.数据的特征工程 4.pytorch中最常用的一种创建模型的方式--子类写法 1.导包 import torch import pandas as pd import numpy as np import matplotlib.pyplot as plt2.加载数据 data pd.read_csv(./dataset/HR.csv)data.head() #查看数据的前…...
【python中级】解压whl文件内容
【python中级】解压whl文件内容 1.背景2.解压1.背景 【python中级】关于whl文件的说明 https://blog.csdn.net/jn10010537/article/details/146979236 补充以上博客: 在 旧版 setuptools 中(< v58),如果想生成 .whl,必须先pip install 安装 wheel 三方包! pip inst…...
【USRP】srsRAN 开源 4G 软件无线电套件
srsRAN 是SRS开发的开源 4G 软件无线电套件。 srsRAN套件包括: srsUE - 具有原型 5G 功能的全栈 SDR 4G UE 应用程序srsENB - 全栈 SDR 4G eNodeB 应用程序srsEPC——具有 MME、HSS 和 S/P-GW 的轻量级 4G 核心网络实现 安装系统 Ubuntu 20.04 USRP B210 sudo …...
LeetCode算法题(Go语言实现)_30
题目 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组内…...
生信入门:专栏概要与内容目录
文章目录 生信入门📚 核心内容模块基础概念入门序列联配算法高级算法与应用理论基础与数学方法基因组分析 生信入门 🔥 专栏简介 | 生信算法与实践指南 开启生物信息学的学习之旅 🌟 为什么订阅本专栏? 循序渐进:从生…...
Matplotlib:数据可视化的艺术与科学
引言:让数据开口说话 在数据分析与机器学习领域,可视化是理解数据的重要桥梁。Matplotlib 作为 Python 最流行的绘图库,提供了从简单折线图到复杂 3D 图表的完整解决方案。本文将通过实际案例,带您从基础绘图到高级定制全面掌握 …...
线程共享数据所带来的安全性问题
笔记 import threading from threading import Thread import time tickte50 # 代表的是50张票def sale_ticket():global tickte# 每个排队窗口假设有100人for i in range(100): # 每个线程要执行100次循环if tickte>0:print(f{threading.current_thread().name}正在出售第…...
Redis核心机制-缓存、分布式锁
目录 缓存 缓存更新策略 定期生成 实时生成 缓存问题 缓存预热(Cache preheating) 缓存穿透(Cache penetration) 缓存雪崩(Cache avalanche) 缓存击穿(Cache breakdown) 分…...
Node.js中间件的5个注意事项
目录 1. 目录结构 2. 代码实现 注意事项 1:必须调用 next() 注意事项 2:中间件的执行顺序很重要 注意事项 3:局部中间件的使用 注意事项 4:统一处理 404 注意事项 5:使用错误处理中间件 3. 总结 在Node.js的Ex…...
软件学报 2024年 区块链论文 录用汇总 附pdf下载
Year:2024 1 Title: 带有预验证机制的区块链动态共识算法 Authors: Key words: 区块链;混合共识;预验证机制;动态共识;委员会腐败 Abstract: 委员会共识和混合共识通过选举委员会来代替全网节点完成区块验证, 可有效加快共识速度, 提高吞吐量, 但恶意攻击和收…...
从开发到上线:基于 Linux 云服务器的前后端分离项目部署实践(Vue + Node.js)
明白了,这次我们完全聚焦技术内容本身,不带明显广告语言,不插入链接,只在文末一个不显眼的地方轻描淡写提到“服务器用的是 zovps.com 的一台基础云主机”,整体文章保证原创、高质量、易审核、易分发,长度控…...
FastAPI-Cache2: 高效Python缓存库
FastAPI-Cache2是一个强大而灵活的Python缓存库,专为提升应用性能而设计。虽然其名称暗示与FastAPI框架的紧密集成,但实际上它可以在任何Python项目中使用,为开发者提供简单而高效的缓存解决方案。 在现代应用开发中,性能优化至关…...
提高:图论:强连通分量 图的遍历
时间限制 : 1 秒 内存限制 : 128 MB 给出 NN 个点,MM 条边的有向图,对于每个点 vv,求 A(v)A(v) 表示从点 vv 出发,能到达的编号最大的点。 输入 第 11 行 22 个整数 N,MN,M,表示点数和边数。 接下来 MM 行&#x…...
RabbitMQ高级特性2
RabbitMQ高级特性2 一.TTL1.设置消息的TTL2.设置队列的过期时间 二.死信队列1.死信2.代码实现3.消息被拒绝的死信超出队列长度时的死信死信队列的应用场景 三.延迟队列1.概念2.应用场景3.代码实现延迟队列插件安装和配置代码 4.总结 四.事务1.未采用事务2.采用事务 五.消息分发…...
基于FPGA的特定序列检测器verilog实现,包含testbench和开发板硬件测试
目录 1.课题概述 2.系统测试效果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 本课题采用基于伪码匹配相关峰检测的方式实现基于FPGA的特定序列检测器verilog实现,包含testbench和开发板硬件测试。 2.系统测试效果 仿真测试 当检测到序列的时候…...
【大数据知识】Flink分布式流处理和批处理框架
Flink分布式流处理和批处理框架 概述Flink入门介绍**1. Flink是什么?****2. 核心特性****3. 核心组件****4. 应用场景** Flink底层实现原理详细说明**1. 分布式架构****2. 流处理模型****3. 状态管理****4. 容错机制****5. 网络通信与数据传输****6. 资源管理与扩展…...
Java面试黄金宝典33
1. 什么是存取控制、 触发器、 存储过程 、 游标 存取控制 定义:存取控制是数据库管理系统(DBMS)为保障数据安全性与完整性,对不同用户访问数据库对象(如表、视图等)的权限加以管理的机制。它借助定义用户…...
实战解析:基于AWS Serverless架构的高并发微服务设计与优化
随着云计算进入深水区,Serverless架构正在重塑现代微服务的设计范式。本文将以电商秒杀系统为场景,基于AWS Serverless服务构建高可用架构,并深入探讨性能优化方案。 一、架构设计解析 我们采用分层架构设计,核心组件包括&#…...
Muduo网络库介绍
1.Reactor介绍 1.回调函数 **回调(Callback)**是一种编程技术,允许将一个函数作为参数传递给另一个函数,并在适当的时候调用该函数 1.工作原理 定义回调函数 注册回调函数 触发回调 2.优点 异步编程 回调函数允许在事件发生时…...
Cribl 导入文件来检查pipeline 的设定规则(eval 等)
Cribl 导入文件来检查pipeline 的设定规则(eval 等) 从这个页面先下载,或者copy 内容来创建pipeline: Reducing Windows XML Events | Cribl Docs...
2360. 图中的最长环
2360. 图中的最长环 题目链接:2360. 图中的最长环 代码如下: //参考链接:https://leetcode.cn/problems/longest-cycle-in-a-graph/solutions/1710828/nei-xiang-ji-huan-shu-zhao-huan-li-yong-pmqmr class Solution { public:int longest…...
深度学习入门(三):神经网络的学习
文章目录 前言人类思考 VS 机器学习 VS 深度学习基础术语损失函数常用的损失函数均方误差MSE(Mean Square Error)交叉熵误差(Cross Entropy Error)mini-batch学习 为何要设定损失函数数值微分神经网络学习算法的实现两层神经网络的…...
Python 推导式:简洁高效的数据生成方式
为什么需要推导式? 在Python编程中,我们经常需要对数据进行各种转换和过滤操作。传统的方法是使用循环结构,但这往往会导致代码冗长且不够直观。Python推导式(Comprehensions)应运而生,它提供了一种简洁、…...
HTML5+CSS3+JS小实例:带滑动指示器的导航图标
实例:带滑动指示器的导航图标 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, ini…...
一周学会Pandas2 Python数据处理与分析-Jupyter Notebook安装
锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili Jupyter (Project Jupyter | Home)项目是一个非营利性开源项目,于2014年由IPython项目中诞生…...
FPGA状态机思想实现流水灯及HDLBits学习
目录 第一章 在DE2-115上用状态机思想实现LED流水灯1.1 状态机设计思路1.2 Verilog代码实现1.3. 仿真测试代码1.4 编译代码与仿真 第二章 CPLD和FPGA芯片的主要技术区别是什么?它们各适用于什么场合?2.1 主要技术区别2.2 适用场合 第三章 HDLBits学习3.1…...
【教程】Windows下 Xshell 连接跳板机和开发机
需求 使用远程连接工具 Xshell 连接跳板机,再从跳板机连接开发机,用户登陆方式为使用密钥。 方法 首先,建立一个会话,用于配置跳板机信息和开发机转跳信息: 在【连接】页面,给跳板机取个名字,…...