Wireshark捕獲電腦與路由器通信數據,繪制波形觀察

一、準備工作

電腦發出數據的波形圖繪制在我的另一篇博客有詳細介紹:

根據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;輸入…