999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

通過Python 實現WiFi 測試數據分析

2020-05-27 12:15:14周春宇
通信電源技術 2020年6期
關鍵詞:按鈕分析

周春宇

(英華達(上海)科技有限公司,上海 201114)

0 引言

如今工程師、分析師在數據分析上面臨眾多挑戰,他們希望用最小的編程代價進行數據分析,Python 是滿足他們需要的一個利器。Python 是一種流行的通用編程語言,使用Python 可以寫出簡潔、易讀、缺陷少的代碼[1]。使用Python 對XML 格式的測試數據進行分析前,須先對XML 的數據結構進行分析,即分析XML中有哪些數據是需要獲取的。因為WiFi 工作在兩個頻率段2.4 GHz 和5 GHz,每個頻段有許多的信道,需要對獲取的數據按照信道來進行分類,對同信道的數據進行分析才有意義。此外,使用Qt Designer 制作一個GUI 程序界面,批量導入和解析測試數據,然后使用模塊matplotlib 對數據進行圖型分析。

1 解析XML 數據

1.1 分析XML 格式

通過分析WiFi 的XML 數據格式(見圖1),發現每個TestStep 節點包含頻率Freq,TestStep 下面的節點Meas 包含測項名稱POWER_AVG_DBM 和測試值Val,我們需要將測試值按照測試項目名稱和頻率獲取放入列表中。

1.2 獲取XML 數據

使用xml.dom.minidom 模塊來讀取XML,獲取需要的節點數據,相關代碼如下。

圖1 WiFi 的XML 數據格式

到此已經獲取POWER_AVG_DBM測試值的列表,其他的測試值依此方式獲取,將解析XML 數據的代碼存儲成模塊Traversal_xml_path,以便后續調用。

2 測試數據分類

下面對POWER_AVG_DBM 測試值按照信道進行分類,需要對每個頻點的測試項目撰寫一個獲取數據的函數,以獲取信道CH1 的POWER_AVG_DBM 為例,代碼如下。

函數最后返回一個名稱為tx_2412_0_power_list 的列表,信道CH1 測項POWER_AVG_DBM 的測試數據就存儲在這個列表中,其他的測試值依此方式分類,將實現測試數據分類的代碼存儲成模塊Test_Value,以便后續調用。

3 GUI 界面

本文使用Qt Designer來創建GUI界面。Qt Designer 可以用來創建主窗口、自定義窗口部件等用戶界面。這里創建一個Widget 窗口,然后在窗口上創建控 件Label、LineEdit、PushButton、ComboBox。Label是標簽,用來顯示文字,搭配其他控件使用,顯示控件的名稱;LineEdit 是單行文本編輯框,用于顯示已選擇測試數據文件夾的路徑;PushButton 是按鈕,點擊后實現被調用函數的功能;ComboBox 是下拉列表框,列表中編輯多個選項,使用時根據需求選擇列表中的某個選項[3]。最后創建成功的GUI 界面如圖2 所示。

圖2 創建成功的GUI 界面

窗口創建好后保存會生成一個.ui 的文件,使用pyuic5 可以把它轉化為python 的純代碼形式。新建一個bat 批處理文件,文件內編輯如下指令,運行后就會生成一個.py 的文件。

接下來對新生成的.py 文件,編寫控件需要實現的功能函數。

3.1 按鈕Select Path 功能

點擊這個按鈕后,會出現選擇存放數據的文件夾窗口,同時會把已選擇的文件夾的路徑顯示在文本編輯框內。

3.2 按鈕Load Data 功能

解析所選文件夾內的測試數據。

3.3 按鈕Calculate WiFi Chart 功能

將解析的XML 測試數據生成圖形,可以使用matplotlib 模塊來實現,這里以直方圖為例來進行分析。使用matplotlib 模塊前需先導入模塊,代碼是import matplotlib.pyplot as plt[2]。下面代碼中“chal”“chan”“test”分別為下拉列表框“Channel”“Chain”“TestItem”選擇的值。

3.4 信號槽

利用信號槽機制,將各個控件與事件函數連接起來。下面代碼是與按鈕相連接的函數名,按鈕被觸發時函數就被執行。

到此,整個GUI 界面及相應的功能都已經被實現。

4 生成直方圖

直接運行這個GUI 程序,選取數據路徑并進行數據解析,選取“Channel”“Chain”“TestItem”的值,點擊按鈕Calculate WiFi Chart,就會生成直方圖,如圖3 所示,到這里基本上實現了通過python 解析XML 測試數據進行圖形分析的要求。這里只是以直方圖為例進行說明,當然也可以使用matplotlib 模塊進行其他的圖形分析,如折線圖、散點圖等。

圖3 直方圖

5 結論

由于Python 結構簡單,代碼定義清晰,易維護,且Python 擁有豐富的庫,特別是matplotlib、pandas 等進行圖形分析和數據分析的庫,因此利用Python 對測試數據進行分析起到方便高效的作用。本文闡述了如何通過Python 對智能音響WiFi 的XML 測試數據,進行解析、分類、圖形分析等,所提及的方法對其他電子產品WiFi 測試數據的分析是很好的借鑒。

猜你喜歡
按鈕分析
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
當你面前有個按鈕
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
死循環
電力系統及其自動化發展趨勢分析
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
中西醫結合治療抑郁癥100例分析
在線教育與MOOC的比較分析
主站蜘蛛池模板: 在线看AV天堂| 国产精品欧美日本韩免费一区二区三区不卡 | 丰满人妻久久中文字幕| 国产欧美精品午夜在线播放| 97在线公开视频| www.亚洲国产| 国产91无码福利在线| 在线人成精品免费视频| 91精品在线视频观看| 久久精品人妻中文视频| 亚洲午夜久久久精品电影院| 久久99国产综合精品1| 国产二级毛片| 夜夜操天天摸| 一级毛片免费观看久| 久久精品中文字幕免费| 国产高清在线精品一区二区三区 | 激情六月丁香婷婷四房播| 亚洲人成网线在线播放va| 国产午夜在线观看视频| 国产一级小视频| 亚洲综合九九| 欧美成在线视频| 午夜啪啪福利| 国产女人在线视频| 国产精品2| 国产精品九九视频| 日韩123欧美字幕| 多人乱p欧美在线观看| 中文字幕av无码不卡免费| 国产人成在线观看| 992Tv视频国产精品| 精品亚洲欧美中文字幕在线看| 六月婷婷激情综合| 在线免费无码视频| 久久伊伊香蕉综合精品| 亚洲不卡影院| 一级毛片中文字幕| 国产精品一区不卡| 青青青伊人色综合久久| 国产手机在线小视频免费观看| a毛片免费看| 青青热久免费精品视频6| 青青草欧美| 国产成人精品一区二区| 欧美成人免费午夜全| 亚洲成av人无码综合在线观看| 亚洲精品色AV无码看| 久久久受www免费人成| 日韩色图区| 亚洲精品日产精品乱码不卡| 成人国产免费| 亚洲欧美成人影院| 影音先锋丝袜制服| 国产亚洲精品自在久久不卡| 国产美女自慰在线观看| 无码aⅴ精品一区二区三区| 日韩精品中文字幕一区三区| 久久精品欧美一区二区| 亚洲中文无码h在线观看| 91在线一9|永久视频在线| 成年人国产网站| 高清色本在线www| 激情乱人伦| 亚洲精品成人片在线观看| 久久国产黑丝袜视频| 亚洲美女视频一区| 久久综合五月| 国产91高跟丝袜| 老色鬼久久亚洲AV综合| 40岁成熟女人牲交片免费| 99re热精品视频中文字幕不卡| 欧美无专区| 4虎影视国产在线观看精品| 波多野结衣无码中文字幕在线观看一区二区 | 久久无码免费束人妻| 99精品在线看| 99热这里只有精品2| 亚洲成人精品久久| 欧美成人区| 国产精品视频系列专区| 国产精品无码AV片在线观看播放|