使用Python对CSI相位进行矫正,并进行图像调整

news2024/11/17 7:52:30

一、前言

我记得我是最早将《MatLab对CSI的相位进行矫正》代码上传至网上的,后面陆续有人进行抄袭,不得已把一些细节和代码进行隐藏。今天整理之前Python代码的时候,发现一些不规范的问题,所以写了这篇博客。

二、使用Python对CSI相位矫正

这部分代码参考之前的文章,因为我两套代码都是类似的,只是分别用MATLAB和Python写了一遍而已。如果你对CSI相位不了解的话,建议将我往期的文章都看一遍。

如何使用MatLab对CSI的相位进行矫正_csi相位解卷绕_数产小黑娃的博客-CSDN博客

[final_phase,unwrap_phase] = phase_correction(raw_phase)

矫正之后的k与b取值(截取了部分数据)

k: -0.2813, b: -9.6485
k: -0.2973, b: -5.6541
k: -0.3149, b: -7.7716
k: -0.2844, b: -9.9642
k: -0.3001, b: -5.6084
k: -0.3186, b: -7.7602
k: -0.2872, b: -9.8381
k: -0.3049, b: -5.6557
k: -0.2736, b: -7.6461
k: -0.2906, b: -9.7018
k: -0.3094, b: -11.5847
k: -0.2774, b: -7.5641
k: -0.2956, b: -9.6131
k: -0.3136, b: -11.9447

三、CSI相位矫正可视化

plt.figure(figsize=(12, 6))

plt.subplot(131)
plt.plot(raw_phase.iloc[0, :])
plt.title('原始相位')
plt.xlabel('子载波')
plt.ylabel('相位')

plt.subplot(132)
plt.plot(Unwrapped_phase.iloc[0, :])
plt.title('解包缠相位')
plt.xlabel('子载波')
plt.ylabel('相位')

plt.subplot(133)
plt.plot(final_phase.iloc[0, :])
plt.title('最终相位')
plt.xlabel('子载波')
plt.ylabel('相位')

我们发现上面的图片画的很难看,首先图标都挤一块去了,其次刻度都朝外面。如何画的更好看呢?

1、为了让图标更加美观,我们只需要加一句代码即可,当然如果要加点的样式等等,可以根据自己的需求来弄!

plt.tight_layout()

2、如何让刻度朝内呢?也只需一行代码即可!

plt.tick_params(axis='both', which='both', direction='in')

3、如果要对x轴进行划分呢?

ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.tick_params(axis='both', which='both', direction='in', pad=10,labelrotation=45)

4、最后的画图效果,怎么样?是不是好看多了。

博主的每篇博文都是用心去写的,喜欢的可以多多支持和收藏,创作不易,未经作者允许,请勿转载或者抄袭。因为抄袭风气盛行,故一些细节或者代码没有展示,敬请谅解,如有疑问,可以加入我们的室内定位大家庭!

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

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

相关文章

大数据基础设施搭建 - Hive

文章目录 一、上传压缩包二、解压压缩包三、配置环境变量四、初始化元数据库4.1 配置MySQL地址4.2 拷贝MySQL驱动4.3 初始化元数据库4.3.1 创建数据库4.3.2 初始化元数据库 五、启动元数据服务metastore5.1 修改配置文件5.2 启动/关闭metastore服务 六、启动hiveserver2服务6.1…

手动实现 git 的 git diff 功能

这是 git diff 后的效果,感觉挺简单的,不就是 比较新旧版本,新增了就用 "" 显示新加一行,删除了就用 "-" 显示删除一行,修改了一行就用 "-"、"" 显示将旧版本中的该行干掉了并…

C#FlaUI.UIA实现发送微信消息原理

一 准备 .NetFramework 4.8 FlaUI.UIA3 4.0.0 FlaUInspect V1.3.0 1下载FlaUInspect https://github.com/FlaUI/FlaUInspect FlaUInspect V1.3.0 百度网盘下载 2 NuGet 引用 flaUI.UIA3 4.0.0 二代码部分 1 引用FlaUI using FlaUI.Core; using FlaUI.Core.Automatio…

深度学习基于Python+TensorFlow+Django的水果识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介技术组合系统功能使用流程 二、功能三、系统四. 总结 一项目简介 # 深度学习基于PythonTensorFlowDjango的水果识别系统介绍 简介 该水果识别系统基于…

比较2个点的3种结构在不规则平面上的占比

2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 3 3 3 x 3 3 2 2 2 1 2 2 2 2 2 1 2 2 在平面上有一个点x,再增加一个点,11的操作把平面分成了3部分2a1,2a2,2a3,3部分的比值是 2a1 2a2 2a3 5 25 …

单词接龙00

题目链接 单词接龙 题目描述 注意点 1 < beginWord.length < 10endWord.length beginWord.lengthwordList[i].length beginWord.lengthbeginWord、endWord 和 wordList[i] 由小写英文字母组成wordList 中的所有字符串 互不相同 解答思路 从beginWord开始&#xff…

最新版灵沐V3.3微信资源类小程序源码支持流量主

源码简介 最新版灵沐V3.3微信资源类小程序源码支持流量主&#xff0c;一套不错的流量主变现资源下载小程序&#xff0c;它支持在微信、QQ和抖音平台上运行。这次更新主要集中在全局UI设计的升级&#xff0c;并依然注重资源下载和激励视频变现的功能。另外&#xff0c;还新增了…

智慧楼宇可视化视频综合管理系统,助力楼宇高效安全运行

随着互联网技术的进步和发展&#xff0c;智能化的楼宇建设也逐步成为人们选择办公场所是否方便的一个重要衡量因素。在智能化楼宇中&#xff0c;安全管理也是重要的一个模块。得益于互联网新兴技术的进步&#xff0c;安防视频监控技术也得到了快速发展并应用在楼宇的安全管理中…

羊大师:强健身体是成功的关键

健康是一项无价的财富&#xff0c;拥有强健的身体是实现人生目标的关键。而如何保持健康并拥有一个强健的身体呢&#xff1f;下面就为大家分享一些有效的健身方法和建议&#xff0c;帮助您达到健美身材的目标。 良好的饮食习惯是形成强健身体的基石。我们要摄入足够的营养物质…

uniapp开发的微信小程序进行代码质量控制,分包+压缩js+组件按需注入等

小程序代码分包的操作请看另外一篇文章&#xff1a;uniapp分包优化&#xff0c;包括分包路由跳转规则-CSDN博客 JS文件压缩&#xff1a;在工具「详情」-「本地设置」中开启「上传代码时自动压缩脚本文件」的设置 代码包&#xff1a;组件 > 启用组件按需注入解决办法 在小程…

如何选择ZK-friendly 哈希函数?

1. 引言 在What’s the deal with hash functions in Zero Knowledge?中&#xff0c;研究了哈希函数对ZKP场景的用途。当前有各种ZK-friendly 哈希函数设计&#xff0c;各有优缺点&#xff0c;且针对不同的性能维度进行了优化&#xff0c;如&#xff1a; MiMCGMiMCPoseidonP…

Instrumentation 是什么?和 ActivityThread 是什么关系?

Instrumentation 可以理解为应用进程管家&#xff0c;ActivityThread 要执行创建或暂停某个 Activity 的操作时&#xff0c;都需要通过 Instrumentation 来进行具体的操作&#xff0c;即回调 Activity 的生命周期。 每一个应用程序只有一个 Instrumentation 对象&#xff0c;每…

ubuntu挂载硬盘方法

1.关闭服务器加上新硬盘 2.启动服务器&#xff0c;以root用户登录 3.查看硬盘信息 fdisk -l4.格式化分区 找到需要分区的目录,并记录分区的uuid&#xff0c;用于后面修改/etc/fstab永久挂载配置文件 mkfs.ext4 /dev/nvme0n1 mkfs.ext4 /dev/nvme1n1 Filesystem UUID: a1c…

修改mysql的密码(每一步都图文解释哦)

当你想要连接本机数据库时&#xff0c;是不是有可能突然忘记了自己的数据库密码? 在此文中&#xff0c;我们来详细解决一下如何去修改自己的数据库密码&#xff0c;并使用Navicat来连接测试 1.停止mysql服务 打开终端&#xff0c;键入命令,将mysql服务先停止掉&#xff0c;…

【正点原子STM32连载】 第六十章 串口IAP实验(Julia分形)实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32F407最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html## 第六十…

手把手用GPT开发小程序全流程!就是这么easy~

大家好&#xff0c;我是五竹。 前段时间用GPT开发了一款小程序:GPT真牛批&#xff01;三天开发一个小程序&#xff0c;三天积累了2000的用户&#xff0c;上周末抽空又接入了流量主&#xff0c;感兴趣的同学可以围观一下。 今天就来带大家走一遍用GPT开发一款小程序的全过程&a…

怎么禁止员工私自修改ip地址

在许多组织中&#xff0c;网络管理员负责配置和管理网络&#xff0c;包括为员工分配静态IP地址。然而&#xff0c;有些员工可能会试图修改这些分配的IP地址&#xff0c;这可能会导致一系列问题&#xff0c;包括网络性能下降、安全风险增加等。 因此&#xff0c;禁止员工私自修…

羊奶加西柚,羊大师教你减少自由基

羊奶加西柚&#xff0c;减少自由基的好处真的是多得数不胜数。无论是从营养角度&#xff0c;还是从健康角度考虑。羊奶富含蛋白质、维生素和矿物质&#xff0c;西柚富含维生素C和抗氧化剂。结合起来&#xff0c;它们可以提供许多健康益处&#xff0c;并为我们的身体抵御自由基的…

轻松搬运!手推小车助力制造企业高效装卸

手推车是一种非常方便高效的搬运工具。它可以帮助我们轻松搬运重物&#xff0c;节省时间和精力。不论是在仓库、工厂、商场还是家庭&#xff0c;手推车都扮演着重要的角色。 在现代物流与生产领域&#xff0c;高效的装卸作业是确保生产流程畅通的重要环节。手推小车作为一种便…

[HCIE] IPSec-VPN (IKE自动模式)

概念&#xff1a; IKE&#xff1a;因特网密钥交换 实验目标&#xff1a;pc1与pc2互通 步骤1&#xff1a;R1与R3配置默认路由 R1&#xff1a; ip route-static 0.0.0.0 0.0.0.0 12.1.1.2 R2&#xff1a; ip route-static 0.0.0.0 0.0.0.0 23.1.1.2 步骤2&#xff1a;配ACL…