一、准备工作

电脑发出数据的波形图绘制在我的另一篇博客有详细介绍:

根据Wireshark捕获数据包时间和长度绘制电脑发射信号波形-CSDN博客

路由器发送给电脑数据的波形图绘制也在我的另一篇博客有详细介绍:

根据Wireshark捕获数据包时间和长度绘制路由器发送给电脑数据的信号波形-CSDN博客

这里额外介绍了下怎么便捷保存MATLAB变量,可以用来保存绘制的电脑发射信号波形数据和路由器发射信号波形数据:
MATLAB变量便捷存储方法-CSDN博客

二、比较波形绘制

本篇文章把两个波形图绘制在一起,进行比较。程序:

%zhouzhichao
%2025年8月20日
%观察路由器、电脑互相发送的信号
clc
close all
clear
load("D:\无线通信网络认知\通信学报\5G信号\Wireshark波形绘制\direction_192_168_1_103.mat")
y_plot_1 = y_plot;
t_plot_1 = t_plot;
load("D:\无线通信网络认知\通信学报\5G信号\Wireshark波形绘制\source_192_168_1_103.mat")
y_plot_2 = y_plot;
t_plot_2 = t_plot;%% 绘图
figure; 
stairs(t_plot_1, y_plot_1, 'LineWidth', 1.5);
hold on
y_plot_2=y_plot_2+1;
stairs(t_plot_2, y_plot_2, 'LineWidth', 1.5);ylim([-0.2 2.2]);
xlabel('Time (s)');
ylabel('Signal Wave');
title('Waveform from Wireshark Packets');
grid on;set(gca, 'FontName', 'Times New Roman')
set(gca, 'FontSize', 15)save("D:\无线通信网络认知\通信学报\5G信号\Wireshark波形绘制\save_test.mat","t_plot","y_plot")

source=192.168.1.103的波形和direction=192.168.1.103的波形,其中上面是我的电脑发出的信号波形,下面是我的电脑收到的信号波形(路由器发送):

三、波形多尺度观察

绿色框里电脑和路由器的波形表现出明显的相互性:

但是黄色框里电脑和路由器的波形显现得比较独立:

最前面我的电脑(红色)发了好多波形,路由器没响应;最后这个其实响应还比较明显,路由器(蓝色)发了很多数据,电脑收到后逐个响应。

放大波形看看:

[3.1, 3.3]

[3.19, 3.194]

xlim([3.19184,3.19187])

四、搭上载波

[3.19184,3.19187]这段信号时长3.19187-3.19184=0.00003s=0.03ms=30ns

2.4GHz下设置24GHz的采样率的话

0.00003s*24GHz=0.00003*24*10^9=720000采样点=72万个采样点

试试能不能仿真出来:

4.1 截取信号

首先把y_plot_1,t_plot_1在[3.19184,3.19187]进行截取:

%% 截取信号
% 定义时间区间
t_start = 3.19184;
t_end = 3.19187;% 找到在这个时间区间内的索引
indices = t_plot_1 >= (t_start-0.1) & t_plot_1 <= (t_end+0.1);% 截取数据
t_plot_1_segment = t_plot_1(indices);
y_plot_1_segment = y_plot_1(indices);% 绘制截取后的波形
figure;
stairs(t_plot_1_segment, y_plot_1_segment, 'LineWidth', 1.5);
xlim([t_start, t_end]);
ylim([-0.2, 2.2]);
xlabel('Time (s)');
ylabel('Signal Wave');
title('Segmented Waveform from Wireshark Packets');
set(gca, 'FontName', 'Times New Roman');
set(gca, 'FontSize', 15);

再绘制波形:

MATLAB直接仿真2.4GHz的载波有些太困难了。

降低采样率:

% 定义载波频率和采样率
fc = 2.4e9;       % 2.4 GHz 载波频率
Fs = 5e9;        % 采样率 24 GHz

4.2 时间轴递增

K>> fprintf('%.8f\n', t_plot_1_segment(1));
3.10319956
K>> fprintf('%.8f\n', t_plot_1_segment(2));
3.10319956
K>> fprintf('%.8f\n', t_plot_1_segment(3));
3.10320100
K>> fprintf('%.8f\n', t_plot_1_segment(4));
3.10320100

把t轴上一样的数值第一次出现时-0.00001:

% 初始偏移量
offset = 0.00001;% 初始化一个新数组,用于存储调整后的值
t_plot_1_segment_adjusted = t_plot_1_segment;% 遍历 `t_plot_1_segment` 数组
for i = 2:length(t_plot_1_segment)% 如果当前值与前一个值相同,调整当前值if t_plot_1_segment_adjusted(i) == t_plot_1_segment_adjusted(i-1)t_plot_1_segment_adjusted(i-1) = t_plot_1_segment_adjusted(i-1) - offset;end
end

4.3 插值

插值思路:

对y_plot_1_segment和t_plot_1_segment_adjusted进行插值。

首先检查y_plot_1_segment中的两个挨在一起的1,中间补充1,补充1的数量根据两个挨在一起的1对应的t_plot_1_segment_adjusted中的数值差,和采样率Fs计算;

然后,检查y_plot_1_segment中的两个挨在一起的0,中间补充0,补充0的数量根据两个挨在一起的0对应的t_plot_1_segment_adjusted中的数值差,和采样率Fs计算;

最后,检查y_plot_1_segment中的两个挨在一起的0和1,0和1之间补充0,补充0的数量根据两个挨在一起的0对应的t_plot_1_segment_adjusted中的数值差,和采样率Fs计算。

内存还是不够,降低中心频率和采样率:

% 定义载波频率和采样率
fc = 1.2e9;       % 2.4 GHz 载波频率
Fs = 39;        % 采样率 24 GHz

4.4 电磁波

本来还想在调制载波之后优化为电磁波图:

(27 封私信) 用什么软件能画出这样的图? - 知乎


x = (0:2:300)/50;
y = -sin(x*pi); z = cos(x*pi);
[m,M] = cellfun(@(t)deal(min(t),max(t)),{x,y,z});
[yc,zc,xc] = cylinder(1,500); xc = xc*M(1);
figure('render','painter','color','w'), view(44,14), axis image ij off, hold on
line(x,y,z,'linewidth',2,'color','r')
line(xc',yc',zc','color',[1 0.7 0.7])
h = surface(xc,yc,zc,'facecolor','none','edgecolor','r','edgealpha',0.02);
quiver3(x,0*x,0*z,0*x,y,z,0,'k','linewidth',1,'maxhead',0.06);
quiver3([m(1) 0 0],[0 m(2) 0],[0 0 m(3)],...[1.2*(M(1)-m(1)) 0 0],[0 1.3*(M(2)-m(2)) 0],[0 0 1.3*(M(3)-m(3))],0,...'linewidth',2,'color','k','maxhead',0.08)

现在连载波也仿真不出。

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

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

相关文章

汽车ECU实现数据安全存储(机密性保护)的一种方案

一、 综述在车辆ECU中总是有一些密钥或重要数据需进行机密性保护&#xff0c;但因产品选型、成本等考虑&#xff0c;导致一些ECU的芯片不支持硬件安全模块&#xff08;例如HSM、TEE等&#xff09;。此时&#xff0c;为保障数据的机密性&#xff0c;可考虑通过软件实现数据的安全…

AI 效应: GPT-6,“用户真正想要的是记忆”

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

云计算学习100天-第25天

部署LNMP环境安装软件#在前一天已经安装nginx的基础上安装MariaDB&#xff0c;php和php-fpm yum -y install mariadb mariadb-server mariadb-devel php php-mysqlnd php-fpm #mariadb&#xff08;数据库客户端软件&#xff09;、mariadb-server&#xff08;数据库服务器软件&…

细化的 Spring Boot 和 Spring Framework 版本对应关系

注:本文由ai辅助,个人整理,有问题可留言 Spring Boot 3.x 系列 (基于 Spring Framework 6.x) Spring Boot 版本 对应的 Spring Framework 版本 Java 支持版本 3.1.5 (最新) 6.0.15 Java 17+ 3.1.4 6.0.14 Java 17+ 3.1.3 6.0.12 Java 17+ 3.1.2 6.0.11 Java 17+ 3.1.1 6.0.…

PyTorch API 1

文章目录torch张量创建操作索引、切片、连接与变异操作加速器生成器随机采样原地随机采样准随机采样序列化并行计算局部禁用梯度计算数学运算常量逐点运算归约操作比较运算频谱操作其他操作BLAS 和 LAPACK 运算遍历操作实用工具符号数字导出路径控制流优化方法操作符标签torch.…

基于FPGA的实时图像处理系统(2)——VGA显示彩条和图片

VGA显示彩条和图片 文章目录VGA显示彩条和图片一、VGA简介二、功能设计1、彩条设计2、图片设计三、结果展示四、代码一、VGA简介 VGA(Video Graphics Array)是IBM在1987年随PS/2机⼀起推出的⼀种视频&#xff0c;具有分辨率⾼、显⽰速率快、颜⾊丰富等优点&#xff0c;在彩 ⾊…

【网络运维】Linux 文本处理利器:sed 命令

Linux 文本处理利器&#xff1a;sed 命令 sed 简介 sed&#xff08;Stream Editor&#xff09;是一款非交互式的流编辑器&#xff0c;诞生于 1973–1974 年间的贝尔实验室&#xff0c;由 McMahon 开发。它专为文本处理而生&#xff0c;功能强大&#xff0c;是 Linux 文本处理常…

week2-[一维数组]出现次数

week2-[一维数组]出现次数 题目描述 给定 NNN 个整数A1,A2,…,ANA_1,A_2,\ldots,A_NA1​,A2​,…,AN​。请求出这 NNN 个数中出现次数最多的数的出现次数&#xff0c;以及出现次数最少的数的出现次数。 输入格式 读入包括 222 行。第一行只有 111 个整数 NNN&#xff0c;表示数…

力扣 hot100 Day79

215. 数组中的第K个最大元素 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 class…

C++围绕音视频相关的资料都有哪些?如何进行学习

音视频技术涉及的内容广泛而深入。我会根据自己的知识给你提供一个系统性的音视频相关资料梳理&#xff0c;主要分为学习路径与核心知识、开源项目与实战、开发者资源以及热点与趋势几个方面&#xff0c;希望能帮助你高效地学习和探索。 先用一个表格来概览主要的学习方向和资…

AI自动化测试,解决传统自动化测试中​​脚本维护成本高、用例覆盖不全、缺陷发现滞后​​等痛点

AI自动化测试&#xff0c;解决传统自动化测试中​​脚本维护成本高、用例覆盖不全、缺陷发现滞后​​等痛点AI自动化测试通过机器学习&#xff08;ML&#xff09;、自然语言处理&#xff08;NLP&#xff09;、计算机视觉&#xff08;CV&#xff09;等技术&#xff0c;解决了传统…

Laravel 事件与监听器

下面是一个完整的用户注册事件和监听器的实现示例&#xff0c;包含事件、监听器、注册、触发等完整流程。一、软件版本 php: 8.2.20laravel: 11mysql: 8.0.29 二、完整实现过程 1.创建事件 1.1 首先创建用户注册事件 php artisan make:event UserRegistered1.2 编辑app/Events/…

前端 React 实现数据懒加载-滚动触底加载数据

在 React 中使用 Intersection Observer API 实现触底加载分页&#xff08;无限滚动&#xff09;1.基本实现思路 在列表底部放置一个 哨兵元素&#xff08;Sentinel&#xff09;&#xff08;如 <div>&#xff09;。使用 IntersectionObserver 监听该元素是否进入视口&…

MySQL 50 道经典练习题及答案

目录 一、数据表设计与初始化 1. 数据表结构说明 2. 建表语句 3. 插入测试数据 二、练习题及答案 1. 查询 "01" 课程比 "02" 课程成绩高的学生的信息及课程分数 2. 查询同时存在 "01" 课程和 "02" 课程的情况 3. 查询存在 &qu…

电竞护航小程序搭建三角洲俱乐部护航派单小程序开发游戏派单系统定制开发

成品系统&#xff0c;可以快速搭建。功能概述&#xff1a;商家入驻、老板点单、快捷发单、自定义发单、发单列表、管事入驻、订单审核裁决、打手入驻、打手排行榜、邀请排行榜、账户充值、余额提现、成为客服等

MYSQL-增删查改CRUD

目录 &#x1f33f;前言&#xff1a; &#x1f33f;增-C-Create-新增 &#x1f9ca;单行数据全列插入 &#x1f34b;‍&#x1f7e9;语法&#xff1a; &#x1f34b;‍&#x1f7e9;演示&#xff1a; &#x1f9ca;指定列插入 &#x1f34b;‍&#x1f7e9;语法&#xf…

【Loss学习笔记】Focal loss、QFL、DFL、VFL——目标检测定位损失函数详解

文章目录Focal loss&#xff08;2018 ICCV &#xff0c;RetinaNet&#xff09;1、Focal Loss 提出背景问题一&#xff1a;正负样本数量不均衡问题问题二&#xff1a;难分类/易分类样本数量不均衡问题对两个问题的解决2、正负样本数量不均衡问题的解决&#xff1a;Focal loss 的…

nertctl使用了解

测试了几个容器&#xff0c;似乎未对k8s的containerd产生影响&#xff0c;都能访问 再次测试&#xff0c;containerd发生了重启&#xff0c;nrtdctl启动的容器都没了 #### sealos 创建containerd集群 sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.29…

三、k8s 1.29 之 资源清单

一、什么是资源 资源(Resources) 是指集群中可被分配、管理和调度的各种实体,既包括计算、存储、网络等基础设施资源,也包括 K8s 自身定义的 API 对象(如 Pod、Deployment 等)。这些资源是 K8s 调度和管理工作负载的核心基础。 Kubernetes 中的资源本质上是 “可被操作的…

React中常用的Hook(useEffect、useRef、useMemo、useNavigate、useParams)

React hook1&#xff1a;useEffect 在编程中&#xff0c;副作用是指函数或表达式在执行过程中对外部环境产生影响的行为。例如&#xff1a; 修改外部变量&#xff08;如全局变量、DOM、API 请求、设置定时器等&#xff09; 什么是纯函数&#xff1f; // 纯函数&#xff1a;输入…