108 年 國立成功大學生物醫學工程學系碩士班乙組《計算機概論》
第 1 題
題目:
You are assigned to design a device and the required server system with the following functions:
(a) The device itself is a wearable device, like a watch.
(b) The user may use it to measure his/her ECG(心電圖). The device will automatically record the ECG and analyze the ECG pattern to determine whether there is any abnormality.
(c) The device would upload the records to a remote server, so that the user can use the online data to evaluate his/her ECG history.
Answer the following questions:
(1) (9%) Your boss thinks you shall design the device so that it uses WiFi as the only communication media. Do you agree? Why or why not?
(2) (9%) If you wish to compress such data, shall you use lossless compression or lossy compression? Explain why.
(3) (9%) For your device, assume that it is a miniature computer. What OS would you choose for this computer? Why?
登入後即可作答並保存紀錄。
這組題目主要在測試考生對於嵌入式系統、通訊協定、資料壓縮、作業系統選擇以及軟體開發流程等基本概念的理解。
(1) 關於是否同意僅使用 WiFi 作為通訊媒體:
不同意。雖然 WiFi 頻寬較大,適合傳輸 ECG 資料,但其缺點是功耗較高,且覆蓋範圍有限。穿戴式裝置通常需要低功耗、隨時隨地可連線的通訊能力。如果僅依賴 WiFi,使用者在沒有 WiFi 熱點的環境下將無法傳輸資料或進行遠端監控,這與穿戴式裝置的便利性相悖。建議可以考慮結合藍牙 (Bluetooth) 或低功耗藍牙 (BLE) 作為主要或輔助通訊方式,用於近距離傳輸、配對或在 WiFi 不可用時的備援。
【答案】不同意。WiFi 功耗較高且覆蓋範圍有限,不適合作為穿戴式裝置唯一的通訊方式。應考慮搭配低功耗藍牙等其他通訊技術。
(2) 關於 ECG 資料的壓縮方式:
應使用無損壓縮 (lossless compression)。ECG 資料是生理訊號,任何微小的失真都可能影響醫療診斷的準確性。
第 2 題
題目:
(4) (9%) After you implement the software, it is important to perform software testing. Name at least two strategies for software testing.
(5) (9%) Explain what ‘sampling’ and ‘quantization’ mean for your device. (Such as, when do you need to perform these operations, what do they kind of data do they generate.)
(6) (9%) How do you determine which programming language to use for implementing the software of this wearable device? Name at least three factors to consider.
登入後即可作答並保存紀錄。
這組題目涵蓋了軟體測試、數位訊號處理中的基本概念(取樣與量化)以及程式語言選擇的考量因素。
(4) 軟體測試策略:
進行軟體測試是確保軟體品質和可靠性的關鍵步驟。以下是兩種常見的軟體測試策略:
a. 單元測試 (Unit Testing):針對軟體中的最小可測試單元(如函數、方法、類別)進行測試,以驗證每個單元是否按照預期工作。這通常在開發早期進行,有助於快速發現和修正錯誤。
b. 整合測試 (Integration Testing):測試不同模組或元件組合在一起時是否能正確協同工作。這有助於發現模組間介面或互動的問題。
其他常見策略還包括系統測試、使用者驗收測試、效能測試、安全性測試等。
【答案】單元測試 (Unit Testing)、整合測試 (Integration Testing)。
(5) Sampling (取樣) 與 Quantization (量化) 的意義:
在處理 ECG 訊號時,這兩個是將連續的類比訊號轉換為數位訊號的關鍵步驟。
a. 取樣 (Sampling):指在連續的時間軸上,以固定的時間間隔(稱為取樣週期 )擷取類比訊號的瞬時值。這個過程將連續的訊號離散化成一系列離散的點。取樣頻率 決定了訊號的離散化程度。例如,為了捕捉 ECG 的細節,我們需要足夠高的取樣頻率(例如 250 Hz 或 500 Hz)。取樣操作產生的數據是離散時間點上的類比訊號值。
b. 量化 (Quantization):指將取樣後得到的類比訊號值映射到一個有限的離散數值集合(稱為量化級)的過程。簡單來說,就是將連續的訊號值近似到最接近的預設值。
第 3 題
題目:
(7) (9%) Do you think this device belongs to 'IoT technology'? Why or why not?
(8) (9%) Your boss thinks you shall use ‘cloud computing’ to implement this system. Do you agree? Why or why not?
(9) (9%) During the software implementation, would you choose arrays or linked lists to store the data? Explain why.
(10) (9%) To store the ECG data, would you choose integer data types or floating point numbers to store them? Explain why.
(11) (10%) How would technologies of artificial intelligence or machine learning help you develop this system? Explain your reason.
登入後即可作答並保存紀錄。
這組題目探討了物聯網 (IoT)、雲端運算、資料結構、資料型態選擇以及人工智慧/機器學習的應用。
(7) 裝置是否屬於 IoT 技術:
是的,這個裝置屬於物聯網 (IoT) 技術。物聯網的核心概念是將傳統的物理設備連接到網際網路,使其能夠收集、傳輸和交換數據,並可能被遠端監控或控制。此 ECG 裝置具備以下 IoT 特徵:
a. 連網能力:裝置透過 WiFi 或其他通訊方式連接到網路。
b. 數據收集與傳輸:裝置收集生理數據 (ECG) 並將其傳輸到遠端伺服器。
c. 遠端監控與分析:使用者可以透過線上數據評估其 ECG 歷史,這意味著數據被集中處理和訪問。
d. 潛在的智慧化:裝置本身進行初步分析,未來也可能與雲端 AI 結合提供更智慧的功能。
【答案】是。因為該裝置具備連網能力、數據收集與傳輸、以及遠端監控與分析的功能,符合物聯網的定義。
(8) 是否同意使用雲端運算來實現系統:
同意。使用雲端運算來實現此系統有諸多好處:
a. 可擴展性 (Scalability):雲端平台可以輕鬆擴展以處理大量使用者和不斷增長的數據量,而無需在本地端建置昂貴的硬體。
b. 數據儲存與管理 (Data Storage and Management):雲端提供可靠、安全且易於存取的數據儲存解決方案,方便使用者隨時存取 ECG 歷史記錄。
c. 運算能力 (Computational Power):雲端可以提供強大的運算資源,用於執行複雜的 ECG 分析、機器學習模型,以及數據挖掘,這些可能超出穿戴式裝置本身的能力。
d. 可存取性 (Accessibility):使用者可以透過任何連網設備(電腦、手機)存取雲端上的數據和應用程式,不受裝置限制。
【答案】同意。雲端運算提供了可擴展性、強大的運算能力、便捷的數據儲存與管理,以及高可存取性,非常適合處理大量生理數據和複雜分析。
(9) 儲存數據的資料結構選擇 (Array vs. Linked List):
對於儲存 ECG 數據,陣列 (arrays) 通常是較好的選擇。原因如下:
a. 連續記憶體空間:陣列在記憶體中是連續儲存的,這有利於快取 (cache) 效能,當需要依序讀取大量 ECG 點時,陣列的存取速度通常比鏈結串列快。
b. 隨機存取:雖然 ECG 數據通常是連續讀取,但如果需要隨機存取(例如,跳到特定時間點進行分析),陣列的 存取時間優於鏈結串列的 。
c. 空間效率:鏈結串列需要額外的指標來指向下一個節點,這會增加記憶體開銷,對於資源受限的穿戴式裝置來說,陣列的空間效率更高。
鏈結串列在頻繁插入或刪除元素時有優勢,但 ECG 數據的記錄和讀取更偏向於連續寫入和讀取,陣列更適合此類應用。
【答案】陣列 (arrays)。因為陣列的連續記憶體空間有利於快取效能,隨機存取速度快,且空間效率較高,適合儲存連續的 ECG 數據。