為了更好地滿足現代超聲骨密度測量的要求,從軟件方面提出并實現改進測量骨密度精度和速度的方案。采用高速USB接口芯片FT232H,配合高速AD轉換芯片,通過PC軟件處理計算超聲聲速(SOS)與寬帶超聲衰減(BUA)等骨密度參數。該方案提高了測量數據的精度,減少了測量時間,提高了圖像顯示質量。本設計通過高速USB接口技術和軟件處理技術可以有效提高骨密度測量數據的精度和傳輸速度。
引用本文: 俞政濤, 楊戀, 許士界, 鄧將軍, 董慶慶, 何愛軍. 一種改進的超聲骨密度儀軟件設計. 生物醫學工程學雜志, 2014, 31(5): 1061-1064. doi: 10.7507/1001-5515.20140199 復制
引言
隨著人們保健意識的增強,具有預診斷功能的檢測類儀器的市場逐漸發展起來。骨密度檢測儀是其中的一種,其檢測結果主要反映了人體的骨骼健康狀況,對于判斷老年人骨質疏松的程度以及青少年骨質發育的程度具有重要的參考意義。
常用的骨密度檢測儀有雙能X線吸收法骨密度儀、定量CT、定量超聲骨密度儀等[1]。其中超聲骨密度儀具有無創、無輻射、廉價等優點,適合作為日常檢查的儀器。
超聲骨密度儀主要依靠超聲聲速(speed of sound,SOS)與寬帶超聲衰減(broadband ultrasound attenuation,BUA)兩個參數判斷骨密度和骨結構強度[2]。根據這兩個參數與大量臨床測量數據的比對可以計算出T-score和Z-score。T-score是被測患者的相關測量數據與年輕人群比較后得到的結果,常被用于判斷骨質疏松的程度;而Z-score是與同齡人群比較的結果,常被用于預測兒童身高與骨折風險[3]。
我們選取了市售的一款韓國進口、型號為OsteoPro的超聲骨密度儀作為改進對象。該儀器的測量部位為人體跟骨,左右探頭一個負責發射超聲波,一個負責接收,主要檢測指標為SOS和BUA,探頭聲工作頻率為0.5 MHz,一次完整的測量時間約25 s,測量SOS的誤差約為±5 m/s,采用串口與PC通信,并在PC端顯示結果。該儀器在實際使用中受數據傳輸速度及采樣精度的限制,導致一次完整的測量時間偏長,對同一個測試者多次測量的結果偏差較大,我們利用該儀器對同一測試者的10次測量結果比對中,SOS的測量結果從1 345.3~1 360.4 m/s不等,這對于骨質疏松指數的判斷產生了比較大的影響,容易影響對測試者骨質情況的判斷。另外,測試界面中的波形顯示分辨率也不夠理想。因此,針對其技術參數及存在的不足,我們對其上、下位機各提出了一種改進方案,以全面提高儀器性能。整個系統的示意圖如圖 1所示。本文主要敘述上位機改進方案。

1 材料與方法
根據下位機改進方案,采用10位高速A/D轉換芯片MAX1449,采樣率大幅提高,達100 MHz,單位時間內的數據量明顯增大,串行接口的傳輸速率已無法滿足通信的要求,因此我們設計的系統采用了USB傳輸方式,以提高數據傳輸速率,增加數據的測量精度,減少測量時間,再通過上位機對接收到的數據進行一系列處理與計算。
1.1 USB通信
我們選用FTDI公司的高速USB接口芯片FT232H。FT232H不僅支持異步串行接口(universal asynchronous receiver/transmitter,UART),還透過其內建的多重協議同步串行引擎(MPSSE)支持許多同步IO接口,比如SPI,I2C,JTAG以及FPGA接口。內建1.8 V和3.3 V低壓穩壓器,減少了所需外部組件,同時與現有的USB2.0兼容的全速產品比較而言,1 K字節大的收發數據緩存器加上USB2.0高速技術大大改善了數據傳輸功能,縮減了延遲相應時間[4]。
根據官方提供的驅動,獲得設備的名稱、管道號的分配等基本信息,再根據VC提供的接口函數,以編寫USB通信程序。USB通信分為發送與接收兩部分,在本設計中,發送(寫入)部分主要用于向下位機發送開始或結束測試、自動增益調節、儀器檢測等控制信號,而接收(讀取)部分主要負責接收測量到的數據以及下位機反饋的信號。通信部分的應用程序框圖如圖 2、3所示。


本設計中,USB的通信速度約23.5 MB/s,一次測量約傳輸400 KB數據,一次測量時間約0.1 s,而OsteoPro骨密度儀通過串口通信,最高傳輸速度約14 KB/s,一次測量約傳輸8 KB數據,一次測量時間約1 s。相比之下,本設計的數據傳輸速率與獲得的數據量都有了顯著增加。
1.2 SOS的測量
由于骨質密度的不同導致了超聲在骨中傳播速度的差異,我們可以根據這一物理特性用超聲聲速反應骨的質量好壞。
首先通過計算機向下位機周期性發送探頭激勵信號,檢測下位機自動增益調節穩定后的某個周期內發送激勵信號到接收超聲波信號的時間差,再根據跟骨寬度可算出SOS。當檢測到信號的幅度有波動時,即認為接收探頭接收到了超聲波信號。
1.3 BUA的測量
BUA是反映跟骨對不同頻率的超聲波衰減程度的一個重要指標。近似認為在某一寬帶頻率內,衰減A(f)與頻率f成一次線性關系[5],具體關系為
$A\left( f \right)=20lg\frac{\left| {{V}_{w}}\left( f \right) \right|}{\left| {{V}_{b}}\left( f \right) \right|}=C+BUA\cdot f,$ |
式中Vw(f)為超聲波經過水后的頻域信號,Vb(f)為超聲波經過跟骨后的頻域信號,C為常數。
在用超聲波對跟骨進行測量時,發射探頭發射固定頻率0.5 MHz的脈沖波。對接收探頭接收到的信號進行分析,在0.3 MHz~0.7 MHz的脈寬范圍內超聲衰減與頻率近似成線性,因此取該頻率范圍內的數據進行BUA的計算。對接收到的信號進行采樣并送到上位機進行快速傅里葉變換(fast Fourier transform,FFT)后,可以得到超聲波信號在頻段內各頻點上的幅值。以同樣的方法將測試對象換作水,并將其各頻點上的幅值保存在上位機,作為未衰減的頻域信號,每次測量時通過式(1)求得各頻點的衰減值。
具體實現時,我們進行了多次測量取平均值,測量次數在20次以上,以減少噪聲的影響,由于數據傳輸速率較高,多次測量對測量時間的影響不大。 經FFT變換后的波形平穩性較差,我們選用巴特沃茲濾波器進行濾波,因其具有通帶內最大平坦的振幅特性[6],故經過一四階巴特沃茲濾波器濾波后,A(f)波動明顯變小,這對BUA計算精度的提高有一定作用。
由于實際測量的數據會有偏差,所以還需要將各頻點上的衰減值通過最小二乘法擬合成一條直線[7],由式(1)可知,該直線的斜率即BUA的值:
$BUA=\frac{\overline{f\cdot A\left( f \right)}-\overline{f\cdot A\left( f \right){{f}^{2}}}}{\overline{{{f}^{2}}}-\overline{{{f}^{2}}}}~,$ |
其中:
$\begin{align} & f=\frac{1}{n}\sum\limits_{i=1}^{n}{{{f}_{i}}},\overline{A\left( f \right)}=\frac{1}{n}\sum\limits_{i=1}^{n}{A({{f}_{i}})}\text{ }, \\ & \overline{{{f}^{2}}}=\frac{1}{n}\sum\limits_{i=1}^{n}{{{f}_{i}}^{2}},\overline{f\cdot A\left( f \right)}=\frac{1}{n}\sum\limits_{i=1}^{n}{{{f}_{i}}\cdot A({{f}_{i}})}\text{ }, \\ \end{align}$ |
n為頻帶內所取的頻點數,fi為頻率值,A(fi)為fi處的幅值。
2 結果
經測試與計算,測量聲速為1 660 m/s的試塊時,OsteoPro測量的SOS最大誤差為±5 m/s,誤差率為0.36%,而本設計測得的SOS最大誤差為±0.4 m/s,誤差率為0.029%。精度提升效果十分顯著。
我們同樣對人體跟骨做了對比測試,SOS精度同樣提升明顯,對5位受測者每人每臺儀器進行10次測量,結果如表 1所示。

相比于原機型,由于采樣率的極大提高,在0.3~0.7 MHz的脈寬范圍內可以用于線性擬合以求解BUA的點數明顯增加,有效減少了因被測物體輕微晃動、移位而造成的不穩定現象。與SOS的改進效果類似,BUA的測試穩定性也得到了顯著地提升。軟件測試界面中波形的顯示及其FFT變換后的波形如圖 4所示。

3 結論
該軟件系統實現了骨密度儀數據采集與顯示、重要參數分析計算的功能,還實現了對骨密度評價有參考價值的骨質疏松指數、T-score、Z-score、同齡比、成人比等參數的計算。經驗證,前文所述的數據采集與處理計算方案可行,實際使用情況良好,圖像質量提升明顯。本儀器還有進一步改進的空間,如可以考慮增加溫度補償以提高該儀器的精度[8]。
引言
隨著人們保健意識的增強,具有預診斷功能的檢測類儀器的市場逐漸發展起來。骨密度檢測儀是其中的一種,其檢測結果主要反映了人體的骨骼健康狀況,對于判斷老年人骨質疏松的程度以及青少年骨質發育的程度具有重要的參考意義。
常用的骨密度檢測儀有雙能X線吸收法骨密度儀、定量CT、定量超聲骨密度儀等[1]。其中超聲骨密度儀具有無創、無輻射、廉價等優點,適合作為日常檢查的儀器。
超聲骨密度儀主要依靠超聲聲速(speed of sound,SOS)與寬帶超聲衰減(broadband ultrasound attenuation,BUA)兩個參數判斷骨密度和骨結構強度[2]。根據這兩個參數與大量臨床測量數據的比對可以計算出T-score和Z-score。T-score是被測患者的相關測量數據與年輕人群比較后得到的結果,常被用于判斷骨質疏松的程度;而Z-score是與同齡人群比較的結果,常被用于預測兒童身高與骨折風險[3]。
我們選取了市售的一款韓國進口、型號為OsteoPro的超聲骨密度儀作為改進對象。該儀器的測量部位為人體跟骨,左右探頭一個負責發射超聲波,一個負責接收,主要檢測指標為SOS和BUA,探頭聲工作頻率為0.5 MHz,一次完整的測量時間約25 s,測量SOS的誤差約為±5 m/s,采用串口與PC通信,并在PC端顯示結果。該儀器在實際使用中受數據傳輸速度及采樣精度的限制,導致一次完整的測量時間偏長,對同一個測試者多次測量的結果偏差較大,我們利用該儀器對同一測試者的10次測量結果比對中,SOS的測量結果從1 345.3~1 360.4 m/s不等,這對于骨質疏松指數的判斷產生了比較大的影響,容易影響對測試者骨質情況的判斷。另外,測試界面中的波形顯示分辨率也不夠理想。因此,針對其技術參數及存在的不足,我們對其上、下位機各提出了一種改進方案,以全面提高儀器性能。整個系統的示意圖如圖 1所示。本文主要敘述上位機改進方案。

1 材料與方法
根據下位機改進方案,采用10位高速A/D轉換芯片MAX1449,采樣率大幅提高,達100 MHz,單位時間內的數據量明顯增大,串行接口的傳輸速率已無法滿足通信的要求,因此我們設計的系統采用了USB傳輸方式,以提高數據傳輸速率,增加數據的測量精度,減少測量時間,再通過上位機對接收到的數據進行一系列處理與計算。
1.1 USB通信
我們選用FTDI公司的高速USB接口芯片FT232H。FT232H不僅支持異步串行接口(universal asynchronous receiver/transmitter,UART),還透過其內建的多重協議同步串行引擎(MPSSE)支持許多同步IO接口,比如SPI,I2C,JTAG以及FPGA接口。內建1.8 V和3.3 V低壓穩壓器,減少了所需外部組件,同時與現有的USB2.0兼容的全速產品比較而言,1 K字節大的收發數據緩存器加上USB2.0高速技術大大改善了數據傳輸功能,縮減了延遲相應時間[4]。
根據官方提供的驅動,獲得設備的名稱、管道號的分配等基本信息,再根據VC提供的接口函數,以編寫USB通信程序。USB通信分為發送與接收兩部分,在本設計中,發送(寫入)部分主要用于向下位機發送開始或結束測試、自動增益調節、儀器檢測等控制信號,而接收(讀取)部分主要負責接收測量到的數據以及下位機反饋的信號。通信部分的應用程序框圖如圖 2、3所示。


本設計中,USB的通信速度約23.5 MB/s,一次測量約傳輸400 KB數據,一次測量時間約0.1 s,而OsteoPro骨密度儀通過串口通信,最高傳輸速度約14 KB/s,一次測量約傳輸8 KB數據,一次測量時間約1 s。相比之下,本設計的數據傳輸速率與獲得的數據量都有了顯著增加。
1.2 SOS的測量
由于骨質密度的不同導致了超聲在骨中傳播速度的差異,我們可以根據這一物理特性用超聲聲速反應骨的質量好壞。
首先通過計算機向下位機周期性發送探頭激勵信號,檢測下位機自動增益調節穩定后的某個周期內發送激勵信號到接收超聲波信號的時間差,再根據跟骨寬度可算出SOS。當檢測到信號的幅度有波動時,即認為接收探頭接收到了超聲波信號。
1.3 BUA的測量
BUA是反映跟骨對不同頻率的超聲波衰減程度的一個重要指標。近似認為在某一寬帶頻率內,衰減A(f)與頻率f成一次線性關系[5],具體關系為
$A\left( f \right)=20lg\frac{\left| {{V}_{w}}\left( f \right) \right|}{\left| {{V}_{b}}\left( f \right) \right|}=C+BUA\cdot f,$ |
式中Vw(f)為超聲波經過水后的頻域信號,Vb(f)為超聲波經過跟骨后的頻域信號,C為常數。
在用超聲波對跟骨進行測量時,發射探頭發射固定頻率0.5 MHz的脈沖波。對接收探頭接收到的信號進行分析,在0.3 MHz~0.7 MHz的脈寬范圍內超聲衰減與頻率近似成線性,因此取該頻率范圍內的數據進行BUA的計算。對接收到的信號進行采樣并送到上位機進行快速傅里葉變換(fast Fourier transform,FFT)后,可以得到超聲波信號在頻段內各頻點上的幅值。以同樣的方法將測試對象換作水,并將其各頻點上的幅值保存在上位機,作為未衰減的頻域信號,每次測量時通過式(1)求得各頻點的衰減值。
具體實現時,我們進行了多次測量取平均值,測量次數在20次以上,以減少噪聲的影響,由于數據傳輸速率較高,多次測量對測量時間的影響不大。 經FFT變換后的波形平穩性較差,我們選用巴特沃茲濾波器進行濾波,因其具有通帶內最大平坦的振幅特性[6],故經過一四階巴特沃茲濾波器濾波后,A(f)波動明顯變小,這對BUA計算精度的提高有一定作用。
由于實際測量的數據會有偏差,所以還需要將各頻點上的衰減值通過最小二乘法擬合成一條直線[7],由式(1)可知,該直線的斜率即BUA的值:
$BUA=\frac{\overline{f\cdot A\left( f \right)}-\overline{f\cdot A\left( f \right){{f}^{2}}}}{\overline{{{f}^{2}}}-\overline{{{f}^{2}}}}~,$ |
其中:
$\begin{align} & f=\frac{1}{n}\sum\limits_{i=1}^{n}{{{f}_{i}}},\overline{A\left( f \right)}=\frac{1}{n}\sum\limits_{i=1}^{n}{A({{f}_{i}})}\text{ }, \\ & \overline{{{f}^{2}}}=\frac{1}{n}\sum\limits_{i=1}^{n}{{{f}_{i}}^{2}},\overline{f\cdot A\left( f \right)}=\frac{1}{n}\sum\limits_{i=1}^{n}{{{f}_{i}}\cdot A({{f}_{i}})}\text{ }, \\ \end{align}$ |
n為頻帶內所取的頻點數,fi為頻率值,A(fi)為fi處的幅值。
2 結果
經測試與計算,測量聲速為1 660 m/s的試塊時,OsteoPro測量的SOS最大誤差為±5 m/s,誤差率為0.36%,而本設計測得的SOS最大誤差為±0.4 m/s,誤差率為0.029%。精度提升效果十分顯著。
我們同樣對人體跟骨做了對比測試,SOS精度同樣提升明顯,對5位受測者每人每臺儀器進行10次測量,結果如表 1所示。

相比于原機型,由于采樣率的極大提高,在0.3~0.7 MHz的脈寬范圍內可以用于線性擬合以求解BUA的點數明顯增加,有效減少了因被測物體輕微晃動、移位而造成的不穩定現象。與SOS的改進效果類似,BUA的測試穩定性也得到了顯著地提升。軟件測試界面中波形的顯示及其FFT變換后的波形如圖 4所示。

3 結論
該軟件系統實現了骨密度儀數據采集與顯示、重要參數分析計算的功能,還實現了對骨密度評價有參考價值的骨質疏松指數、T-score、Z-score、同齡比、成人比等參數的計算。經驗證,前文所述的數據采集與處理計算方案可行,實際使用情況良好,圖像質量提升明顯。本儀器還有進一步改進的空間,如可以考慮增加溫度補償以提高該儀器的精度[8]。