現今,由於穿戴式裝置之普及,光體積變化描記訊號(PPG)可以應用於記錄手腕或手指之血流量變化,訊號之成份波可以使用波形拆解進行分析。使用五個高斯函數作為成份波之函數,十五個高斯函數之係數,波形振幅、波形位置、波形寬度可作為神經網路之特徵,應用於脈波傳導速度、血壓等估測。 波形拆解之處理時間需小於心跳週期才能達到即時處理。因為波形拆解使用加權式均方差做為目標函數,波形拆解後之係數須滿足約束條件,所以此數學問題屬於約束最佳化問題,可使用內點法實現波形拆解。基於內點法之波形拆解疊代之中,計算目標函數、微分矩陣以及解線性方程組需要較多處理時間。微分矩陣之計算可以使用查表法,降低重複運算之部分,內點法解線性方程組之矩陣必定為對稱矩陣,使用部分軸元法之LDLT分解求解線性方程組降低運算複雜度,調整參數減少計算目標函數次數以及設定提早結束條件達到即時處理。 本論文使用C語言進行程式碼撰寫並使用GCC編譯器,測試於Intel CPU i7-6700,記憶體DDR4 32GB Ubuntu 18.04之裝置。分別使用單精確度與雙精確度之運算進行波形拆解,統計拆解之波形拆解訊號品質以及處理時間。測試資料集之中,相較於使用MATLAB求解器預設設定下,拆解後手腕訊號未達波形拆解訊號品質之比例約為12.5%,手指訊號未達波形拆解訊號品質之比例約為2.7%,本論文實作之拆解後手腕訊號未達波形拆解訊號品質之比例約為2.8%,手指訊號未達波形拆解訊號品質之比例約為2%,有明顯改善。而使用單精確度運算之處理時間平均需0.09秒,使用雙精確度運算之處理時間平均需0.12秒,可達即時處理需求。 ;Nowadays, Photoplethysmography(PPG) is applied to wearable devices. The received signal can reflect the wrist or finger blood volume changes. The signal can be analyzed by waveform decomposition. Five Gaussian kernel functions are used as the fitting model of waveform decomposition. Fifteen Gaussian coefficients that are amplitude gain, peak position, wave width of the five component waves solved by the waveform decomposition can be used as features for applications such as pulse wave velocity estimation and blood pressure estimation. The processing time of waveform decomposition should be less than the heartbeat cycle for the condition of real-time processing. The objective function is defined as weighted mean square error between received signal after pre-processing and the fitting function. The Gaussian coefficients should satisfy all the constraints. Hence, acquiring coefficients of waveform decomposition belongs to the optimization problem with constraints which can be solved by the interior point method. At each iteration of the interior point method, calculations of objective function, derivative matrices and solving the system of linear system dominate the processing time. Calculations of the derivative matrices using the look-up table method, LDLT decomposition with partial pivoting to exploit the symmetry property, adjustments of parameters and the early termination settings for the reduction of objective function calls have been applied to meet the real-time processing condition. The program of this work is written by C and compiled with GCC. The simulation and measurements are carried out on the device with Intel CPU i7-6700, DDR4 32GB, Ubuntu 18.04 operating system. Waveform decomposition signal quality index (WDSQI) and processing time with single or double precision arithmetic are tested respectively. In the data set, the failure rate that does not meet the WDSQI is about 2.8% for the wrist PPG and 2% for the finger PPG while using the MATLAB solver with default settings, the failure rate is about 12.5% for the wrist PPG and 2.7% for the finger PPG. The average processing time is about 0.09 seconds with the use of single precision arithmetic. The average processing time is about 0.12 seconds with the use of double precision arithmetic.