基於Qt環境下物理實驗數據處理系統的設計與實現

2020-11-21 電子產品世界

摘要:基於物理實驗數據的處理複雜性與繁瑣性,採用Qt軟體所提供的C++編程環境,進行實驗數據處理軟體開發。以麥可遜幹涉儀實驗數據處理為實例,設計研發得到一套實驗數據計算分析的處理軟體。可適應麥可遜於涉儀實驗數據處理需求,可運行於windows 98、windows 7、Unix等不同平臺,方便各個不同系統地移植使用。其兼容逐差法、最小二乘法等多種不同算法。界面美觀,設計合理,提供了一個通用型實驗數據處理平臺。

本文引用地址:http://www.eepw.com.cn/article/201610/307168.htm

應用現代軟體科學技術改進傳統實驗,是適應大學物理實驗課程創新發展的需求。研製具有簡潔方便的實驗數據處理工作平臺,應用於繁瑣的物理實驗數據處理中,適應於不同物理參數的測試需求;並且具備有其自身的個性化特點,適合特殊性物理參數測試需求。全篇以麥可遜實驗數據處理軟體實例作為個案來展開,具體描述整個軟體的設計與開發。

Qt作為系統開發的環境,具有不可替代的優勢。Qt提供的C++應用程式開發框架,可以輕鬆實現「一次編寫,隨處編譯」的跨平臺解決方案,編寫的應用程式能完美運行於從windows 98到windows 7,從Mac OSX到Linux,從Solaris,HP—UX到其他基於X11的眾多Unix平臺上。這讓編寫的應用程式可以運行在不同的系統,方便移植,甚至能夠在經過簡單的修改後輕鬆移植至應用廣泛的android平臺。Qt設計師是強大的跨平臺GUI布局和格式構建器。

同時Qt是一個跨平臺的圖形用戶界面應用程式開發的C++工具箱。它提供給應用程式開發者建立藝術級的圖形用戶界面所需的各種功能,從而直觀的對可視化用戶交互界面進行設計。Qt是完全面向對象的,易於擴展,並且允許真正地組件編程。

1 實驗原理簡介

麥可遜幹涉儀實驗原理如圖1所示,從光源S發出的光線經半反射鏡的反射和透射後分為兩束光線,一束向上一束向右,向上的光線又經C反射回來,向右的光線經補償板後被反射鏡D反射回來在半反射鏡處被再次反射向下,最後兩束光線在觀察屏上相遇,產生幹涉。幹涉儀的整體結構如圖2所示,圖中1~16為儀器上各個部件的數字編號,可查詢相關資料。

2 系統軟體總架構

軟體功能的實現依靠3種機制:C++面向對象編程機制,Qt的信號與槽機制,Qt的事件機制。

Qt編程是由C++體系實現,面向對象的編程方法和Qt豐富的類庫,使用戶能夠更簡單靈活的實現各種功能。在QtCreator的幫助模式下,可以查詢所有類的信息。應用這種機制,可以使程序結構靈活,層次感強。

軟體整體構架包括主界面與啟動界面兩大部分構成。學生在做完相應的麥可遜幹涉實驗後,即可啟動軟體,進行數據輸入與計算。在數據的輸入過程辨清環變數與數據組數,使用不同算法進行數據處理,採用二者比較精確值,操作簡便和人性化。系統構架圖如圖3所示。

其中qidong.cpp類下提供的軟體信息包括軟體版本號,開發作者,開發日期等並且添加圖片使界面更為美觀。log.cpp提供包括學生信息錄入,和學號信息驗證提示等功能。mainwindow.cpp提供的主程序界面內容及其所包含的兩個核心文件,zuixiao.cpp和zhucha.cpp這是該軟體主要算法程序最小二乘法和逐差法包括它們相應的誤差計算方法。最後mvedit.cpp是界面美觀與焦點等複合問題處理。

3 界面設計與布局優化

3.1 啟動界面優化

1)布局優化:啟動程序,進入啟動界面,界面出現版本號,開發作者等信息優化布局。

2)界面美觀:在Qt樣式表中添加相應的彩圖達到美觀界面的效果。

3.2 登陸界面設計

1)登陸信息:進入啟動界面4~5秒後,出現登陸界面,包括學生學號信息錄入和身份驗證。

2)錯誤警示:如果學生未錄入信息將不能進入主程序,出現警示窗口。在這裡體現到了Qt中最為核心的信號與槽的關鍵應用。通過信號和槽的應用實現各個界面和數據等的傳遞。比如,點擊按鈕「關閉窗口」就會發出一個信號,對應的槽函數close()會被調用以響應這個信號。這種機制使部件與部件,部件與後臺,部件與其他窗口,窗口與窗口之間可以進行交流。

3.3 主界面布局設計

為了方便師生們對本物理實驗數據處理系統的使用,提升用戶體驗,需要對主界面進行合理的布局與適當的美化。在窗口組件的分布方面,採用左右布局使界面更加緊湊。而在對窗口組件的美化方面,首先添加資源文件,然後使用其設計面下的Qt樣式表,修改界面中的文字格式和添加彩圖等功能對主界面進行美觀優化。

例如:為了對文字做美化處理,在Qt更改樣式中添加如下代碼

QPushButton{ffbnt:75 18pt「華文楷體」;color:rgb(0,0,255);}

從而對按鈕進行美化處理,將字體變為楷體,調整其大小,並且改變按鈕字體顏色為藍色,從而讓使用者身心更為愉悅。

3.4 焦點光標的可控性

在實際使用中,由於本實驗數據個數相對較多,因此簡化對於焦點光標的控制十分重要。

故定義繼承自LineEdit類的自定義類QMyEdit,在類內以鍊表形式建立對象間順序的邏輯關係。

類定義頭文件qMyEdit.h如下

而後將LineEdit類的文本框對象提升為QMyEdit類,並重寫QMyEdit類的默認鍵盤事件函數,捕捉上/下方向鍵的輸入,並按順序移動文本框焦點,從而實現對焦點光標的便捷控制,簡化使用時的輸入操作。

鍵盤事件函數重寫方式如下

3.5 雙算法的實現與變量數據的可控性

1)多種算法綜合實現:mainwindow類下有兩個程序zuixiao.cpp和zhucha.cpp,分別執行該軟體的兩種核心算法:最小二乘法和逐差法,並計算兩種算法相應的誤差。逐差法在數據處理中較為普遍,而最小二乘法則是利用呈線性關係的兩組數據擬合為直線,在本實驗的數據處理中只需獲取其斜率及誤差。

兩種算法的綜合應用是一個較為新穎的數據處理方法。學生的實驗數據輸入後,通過信號和槽的應用,將數據從主界面傳遞至計算部分,在處理完畢後再將結果返回主界面並顯示。同時顯示兩種方法的結果與其對應誤差,增強計算結果的可信度。

2)數據可控的實現:數據可控是指對實驗數據的個數和實驗中兩次獲取數據的間隔間光屏上環數的改變數進行控制,從而不為單一的實驗數據獲取方式所局限。在主界面上放置兩個spin部件,用以改變輸入數據個數和環的變化個數,同時允許通過滑鼠點擊改變數據大小。在實驗時可以根據實際情況改變數據組數與環的變化個數,從而擴大軟體的適用範圍。

4 實驗測試與反饋

通過對多組不同的數據對軟體進行測試,並改變數據組數與變化環數,將軟體計算結果與傳統計算結果比較,結果完全吻合。

在有效數字保留方面保持了前後一致,確保數據處理的精確度。

5 結束語

1)軟體投入到實驗教學中後,得到了廣大師生的一致好評。方便了學生對於繁瑣數據的處理,學生在實驗方面積極性與活躍性得到了一定程度的提高。同時也使得教師在教學方面得到了相當大的幫助,提升了教學質量。

2)在本軟體中通過對所有用戶可見的文本使用QString,對動態文本使用QString::arg()函數,對所有文字文本使用tr()函數來實現國際化。

3)Qt完全面向對象,方便了系統的開發。Qt的跨平臺特性簡化了移植過程,針對不同的軟體平臺,應用程式只需要一次性開發可實現多次編譯;實驗教學也是一門很重要的學科應用。

相關焦點

  • 基於S3C44B0的布拉格光纖光柵傳感信號處理系統的設計與實現
    布拉格光纖光柵傳感器就是利用布拉格光纖光柵的這一性質設計的各種物理量傳感器,如應變、壓力、溫度等,通過檢測這些傳感器反射光的波長變化,就可以得到所需的被測物理量。由於光和光纖的特有性質,布拉格光纖光柵傳感器作為一類新型傳感器 ,具有靈敏度高、性能穩定、抗電磁幹擾和惡劣環境能力強、與電隔離安全級別高等系列優點,受到工程應用領域越來越多的關注,特別是如大型結構永久性變形和強度監測系統、油氣等易燃易爆高危環境現場監測等,更是亟待具有這類特殊性質的傳感器。 布拉格光纖光柵傳感器的輸出是光信號,分析識 別這些光信號的波長,才能得到被測信號的物理量。
  • 5G通信信號處理系統的設計與實現
    1 5G通信高速數據傳輸系統1.1 高速數據傳輸系統硬體構成  數據傳輸系統受制於其硬體處理能力[6-9],5G通信高速數據傳輸系統硬體平臺主要由獨立本振模塊、高性能AD/DA模塊、高性能FPGA+DSP+CPU模塊等組成。
  • 基於STM32的直流電機PID調速系統設計與實現
    順應調速系統智能化、簡單化的發展趨勢,本設計採用一款性價比高、功耗低的基於ARMCortex⁃M3內核的STM32單片機為控制核心,結合PID控制技術,實現了直流電機範圍大、精度高的調速性能。 1、系統的總體設計 該調速系統能夠實現對電機的啟動、制動、正反轉調速、測速和數據上傳等功能,可方便地實現直流電機的四象限運行。
  • 在MPSoC上運行基於eglfs_kms的QT應用程式
    在MPSoC上運行基於eglfs_kms的QT應用程式 賽靈思中文社區論 發表於 2021-01-14 10:29:12 1 Xilinx backend Xilinx為MPSoC支持4種libMali
  • 基於MAX6675多路溫度採集系統設計與實現
    摘要 應用溫度採集晶片MAX6675,將其與K型熱電偶結合,利用CPLD對其進行控制,實現一個多路溫度採集系統。文中介紹了系統的硬體電路結構,並根據晶片的內部時序介紹了CPLD內部邏輯電路的設計。通過兩種溫度環境下的系統測試,給出了溫度數據的統計圖,證明了MAX6675及設計的多路溫度採集系統的良好性能。
  • 基於RS485總線的溫溼度監控系統設計
    整個系統在監控系統治理軟體的控制下,同一協調工作,完成設計功能。  2.2 主從式通訊網絡  監控系統中網絡通訊採用RS-485串行總線連接,串行通訊具有傳輸間隔長、連接簡單、使用靈活方便、數據傳輸可靠性高的特點,在產業監控、數據採集和實時控制系統中得到了廣泛應用。
  • 在Linux下用Qt開發新一代DTS圖形數據系統的分析
    文中詳細分析和設計了該系統。而本系統則將原有UNIX下Motif開發的系統向Linux下移植,並用更為結構化的C++語言和更方便的Qt 3.0圖形界面類庫來對其進行修改並完善其功能,從而使之向國際標準IEC61970靠攏,同時也提高了與其它系統的互操作性。3 體系結構設計選擇合適的體系結構,對於軟體開發者來說是最重要的決策之一。
  • 基於電磁感應的液體粘度測量系統設計
    其中,硬體程序主要實現測量系統的控制功能和處理功能以及與上位機的通信,上位機程序主要實現與下位機的通信以及測量數據的處理和顯示。本章將對以上幾個方面進行詳細的介紹。本章根據以上原理和理論基礎,搭建了基於電磁感應的液體粘度測量系統,並進行了測量系統的可行性驗證實驗,且對測量結果進行了數據分析和探討。5.1 系統實驗裝置在前面幾章的基礎上,依據基於電磁感應的液體粘度測量方法的工作原理、理論分析和設計方案搭建了系統試驗平臺。其實物圖如圖5-1所示。
  • 基於32位高性能數位訊號處理器實現飛機測控終端系統的設計
    基於32位高性能數位訊號處理器實現飛機測控終端系統的設計 郭曉康,姬勞,謝拴 發表於 2020-12-25 10:20:39 引言 作為飛機電氣系統的重要組成部分,飛機配電系統主要用於實現電功功率的合理分配和控制
  • 基於MEMS的慣性導航教學實驗系統*
    基於此,設計了一套基於MEMS的慣性導航實驗系統,系統由慣性測量單元,上位機,雙軸電動轉臺及轉臺控制器組成。該慣性測量單元由六軸慣性測量組合[2-4],包含三軸陀螺儀、三軸加速度計,該實驗平臺能滿足導航、制導與控制專業的學生了解慣性導航原理,有助於學生理解、熟悉、掌握慣性導航和運動狀態採集的原理、技術及應用。
  • 基於DSP的語音識別系統的實現及分析
    2.1 Matlab平臺上的仿真實現  2.1.1 實驗數據的建立  基於Matlab平臺,本文實驗語音信號在安靜的實驗室環境下用普通的麥克風通過Windows音頻設備和Cool edit軟體進行錄製,語速一般,音量適中,文件存儲格式為wav文件。
  • 基於Small RTOS51的光電效應實驗系統
    所以,進行光電效應實驗並通過實驗求取普朗克常數有助於人們理解量子理論和更好地認識這個普適常數。然而傳統手動測量和數據處理方法採集的數據量非常有限,不但引入很大人為誤差,而且限制了各種數位訊號處理方法的使用,從而引入系統誤差。
  • 基於LabWindows/CVI的光譜分析系統的設計與實現
    採用自製的RS232串口通訊接口卡,並運用美國NI公司的虛擬儀器程式語言LabWindows/CVI開發分析軟體,實現了單色儀的自動定位、掃描、數據分析、數據處理等功能。該光譜分析系統運行良好,提高了測試效率。
  • 基於FPGA的OFDM系統設計與實現
    ifftt.tbl、datain.dat,用datain.dat 中的隨機數代替ifft.tbl 中的 IQ 數據,保存ifft.tbl;  在QuartusII中打開 ifft.tbl,將IQ複製到 ifft.vwf 中,開始運行仿真;  ·將仿真結果另存為dataout.tbl,用Matlab讀取與原數據在Matlab下的IFFT變換結果進行比較分析。
  • 基於傳感器SHT75和乙太網實現現場環境溫溼度數據採集系統的設計
    基於傳感器SHT75和乙太網實現現場環境溫溼度數據採集系統的設計 劉鋒,王平,付蔚 發表於 2020-04-28 10:14:22 引言 在工業現場,特別是那些環境因素對生產過程影響比較大的車間
  • 基於MEMS六軸傳感器的可穿戴運動監測系統設計
    另一方面,由於缺乏大規模的數據處理能力、多維度的數據分析能力,以及深入的數據挖掘能力,即便收集的數據裡蘊含大量有用信息,甚至包括可以直接用於分析運動的數據,基於數據處理挖掘能力問題,也會被海量數據淹沒。  鑑於此,文中提出了一種新的可穿戴系統。
  • 基於非特定人車載音響語音控制系統的設計與實現
    本文首次提出了一種的以專用語音處理晶片UniSpeech-SDA80D51為核心組成非特定人車載音響語音控制系統的設計方案,並實現了系統樣機的研製。該系統在江淮同悅SL1102C1型車載音響上進行了語音控制實驗,實驗數據表明系統語音識別率可達到95%,為下一步項目產品化開發奠定了基礎。
  • 基於nRF51822的心電監測系統設計
    編者按:本文介紹了一種基於nRF51822的心電監測系統,該心電監測系統採用基於低功耗藍牙4.0的nRF51822作為核心處理晶片,採用AD823傳感器及其外圍電路組成心電採集模塊,採集使用者的心電信息,同時針對人體心電信息存在的噪聲幹擾、信號微弱等問題,本文提出了基於小波變換閾值去噪法
  • 線上實驗應對數字社會的「反身性」:基於兩個研究設計的比較
    選舉結束後,聊天機器人將數據發送給一家專門研究選民數據的公司Catalist LLC,該公司對數據和實地投票選民數據進行匹配和分析。圖2:聊天機器人選民動員實驗二眾包是發起者將一項工作在網絡上分包給工作者共同完成的行為,工作者基於獲得金錢報酬、熱情助人或打發時間等動機積極參與其中。
  • 基於CORS系統的高精度RTK定位技術設計詳解
    2.3 3G網絡模塊 數據鏈系統也稱為數據傳輸系統,是實現RTK定位技術的關鍵部分。其主要的功能是完成RTK終端機與CORS中心的數據交互。現在移動網際網路覆蓋面積十分廣泛,本文採用華為公司的MU709網絡模塊,基於低功耗設計思想,睡眠模式電流僅為1 mA,且內部整合TCP/IP協議和擴展TCP/IP協議,用AT命令容易操作。