本發明實施例涉及醫學超聲技術領域,尤其涉及一種基于醫學的超聲波信號處理方法及裝置。
背景技術:
當前,在醫學超聲診斷系統中,超聲波反射信號經探頭接收、模擬放大以及ad采樣后進入波束合成環節。波束合成是超聲波診斷系統中最關鍵的技術,波束合成的質量對超聲成像的精確度和分辨率有很大的影響。
在醫學超聲診斷系統中,信號從信號發生器發出之后經過焦點處返回至陣元處,對于任意一個陣元,信號從信號發生器發出后經不同的焦點返回至該陣元的時間不一致,對于其他每一個陣元,同樣如此。
醫學超聲診斷系統為每個陣元分配了一塊存儲器,為了從各個陣元的存儲器中讀取同一焦點返回的信號,對于任意一個焦點,需要計算信號從信號發生器發出之后經過該焦點至各個陣元的路徑,并將路徑轉化為讀地址,對于其他每一個焦點,同樣如此。
例如,假設,信號從信號發生器發出經過焦點f返回到陣元j所經過的路徑如圖1所示,在圖1中,信號發生器位于坐標原點o點,位于x軸上的每一個矩形均為陣元,且信號發生器發出的信號的傳播方向與y軸重合,則信號發生器發出的信號經過焦點f返回至陣元j的路程為
然而,發明人在實現本發明實施例的過程中發現,在計算信號從信號發生器發出經焦點f返回至陣元j的讀地址的過程中,需要進行開方運算,但是,在fpga中進行開方運算的復雜度較高,且會浪費較多的fpga的時鐘資源。
技術實現要素:
為克服相關技術中存在的問題,本發明實施例提供一種基于醫學的超聲波信號處理方法及裝置。
根據本發明實施例的第一方面,提供一種基于醫學的超聲波信號處理方法,所述方法包括:
獲取本地預先存儲的、第一焦點與目標陣元之間的第一地址間隔;
將所述第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔;
將所述第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔;
獲取所述第二焦點與所述目標陣元之間的第四地址間隔的平方;
在多個不同的第三地址間隔中,選擇平方與所述第四地址間隔的平方之間的差值小于預設閾值的目標第三地址間隔;
將所述第二焦點與信號發生器之間的地址間隔,以及,目標第三地址間隔相加,得到信號從所述信號發生器發出經所述第二焦點返回至所述目標陣元的讀地址。
其中,所述將所述第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔,包括:
在所述第二地址間隔中的起始位置與終點位置之間選擇一個指定位置;
將位于所述第二地址間隔中的起始位置與所述指定位置之間的部分確定為第一子地址間隔;
將位于所述第二地址間隔中的所述指定位置與結束位置之間的部分劃分為多個第二子地址間隔。
其中,所述將所述第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔,包括:
將所述第一子地址間隔分別與不同數量的第二子地址間隔相加,得到多個不同的子地址間隔組合;
將所述第一地址間隔分別與每一個子地址間隔組合相加,得到多個不同的第三地址間隔。
其中,所述在多個不同的第三地址間隔中,選擇平方與所述第四地址間隔的平方之間的差值小于預設閾值的目標第三地址間隔,包括:
對于每一個第三地址間隔,計算本地預先存儲的所述第一地址間隔的平方;計算所述第三地址間隔與所述第一地址間隔之間的差值、所述第一地址間隔以及預設數值之間的乘積;計算所述第三地址間隔與所述第一地址間隔之間的差值的平方;將所述第三地址間隔與所述第一地址間隔之間的差值的平方、所述第一地址間隔的平方以及所述乘積求和,得到所述第三地址間隔的平方;
在得到的所述第三地址間隔的平方中,選擇與所述第四地址間隔的平方之間的差值最小的第三地址間隔的平方;
根據選擇的第三地址間隔的平方確定所述目標第三地址間隔。
其中,所述計算所述第三地址間隔與所述第一地址間隔之間的差值、所述第一地址間隔以及預設數值之間的乘積,包括:
利用移位算法計算所述第三地址間隔與所述第一地址間隔之間的差值、所述第一地址間隔以及預設數值之間的乘積。
其中,所述在得到的所有第三地址間隔的平方中,選擇與所述第四地址間隔的平方之間的差值最小的第三地址間隔的平方,包括:
將得到的所有第三地址間隔的平方按照大小順序排序;
計算排序后的每相鄰的兩個第三地址間隔的平方的平均值,得到按照大小順序排列的多個平均值;
將順序排列的每相鄰的兩個平均值分別組成平均值區間;
在多個平均值區間中,選擇起始端點小于第四地址間隔的平方且結束端點大于第四地址間隔的平方的平均值區間;
獲取位于選擇的平均值區間內的第三地址間隔的平方。
根據本發明實施例的第二方面,提供一種基于醫學的超聲波信號處理裝置,所述裝置包括:
第一獲取模塊,用于獲取本地預先存儲的、第一焦點與目標陣元之間的第一地址間隔;
劃分模塊,用于將所述第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔;
第一相加模塊,用于將所述第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔;
第二獲取模塊,用于獲取所述第二焦點與所述目標陣元之間的第四地址間隔的平方;
選擇模塊,用于在多個不同的第三地址間隔中,選擇平方與所述第四地址間隔的平方之間的差值小于預設閾值的目標第三地址間隔;
第二相加模塊,用于將所述第二焦點與信號發生器之間的地址間隔,以及,目標第三地址間隔相加,得到信號從所述信號發生器發出經所述第二焦點返回至所述目標陣元的讀地址。
其中,所述劃分模塊包括:
第一選擇單元,用于在所述第二地址間隔中的起始位置與終點位置之間選擇一個指定位置;
第一確定單元,用于將位于所述第二地址間隔中的起始位置與所述指定位置之間的部分確定為第一子地址間隔;
劃分單元,用于將位于所述第二地址間隔中的所述指定位置與結束位置之間的部分劃分為多個第二子地址間隔。
其中,所述第一相加模塊包括:
第一相加單元,用于將所述第一子地址間隔分別與不同數量的第二子地址間隔相加,得到多個不同的子地址間隔組合;
第二相加單元,用于將所述第一地址間隔分別與每一個子地址間隔組合相加,得到多個不同的第三地址間隔。
其中,所述選擇模塊包括:
第一計算單元,用于對于每一個第三地址間隔,計算本地預先存儲的所述第一地址間隔的平方;第二計算單元,用于計算所述第三地址間隔與所述第一地址間隔之間的差值、所述第一地址間隔以及預設數值之間的乘積;第三計算單元,用于計算所述第三地址間隔與所述第一地址間隔之間的差值的平方;求和單元,用于將所述第三地址間隔與所述第一地址間隔之間的差值的平方、所述第一地址間隔的平方以及所述乘積求和,得到所述第三地址間隔的平方;
第二選擇單元,用于在得到的所述第三地址間隔的平方中,選擇與所述第四地址間隔的平方之間的差值最小的第三地址間隔的平方;
第二確定單元,用于根據選擇的第三地址間隔的平方確定所述目標第三地址間隔。
其中,所述第二計算單元具體用于:利用移位算法計算所述第三地址間隔與所述第一地址間隔之間的差值、所述第一地址間隔以及預設數值之間的乘積。
其中,所述選擇單元,用于包括:
排序子單元,用于將得到的所有第三地址間隔的平方按照大小順序排序;
計算子單元,用于計算排序后的每相鄰的兩個第三地址間隔的平方的平均值,得到按照大小順序排列的多個平均值;
組成子單元,用于將順序排列的每相鄰的兩個平均值分別組成平均值區間;
選擇子單元,用于在多個平均值區間中,選擇起始端點小于第四地址間隔的平方且結束端點大于第四地址間隔的平方的平均值區間;
獲取子單元,用于獲取位于選擇的平均值區間內的第三地址間隔的平方。
本發明實施例提供的技術方案可以包括以下有益效果:
在本發明實施例中,通過將第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔;將第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔;在多個第三地址間隔中,選擇平方與第四地址間隔的平方之間差值最小的目標第三地址間隔,并將目標第三地址間隔作為第二焦點與目標陣元之間的地址間隔,再將第二焦點與信號發生器之間的地址間隔,以及,目標第三地址間隔相加,得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址。整個計算過程中無需進行開方運算,使得整個計算過程在fpga中容易實現,且節省了fpga的時鐘資源。
其次,現有技術的整個計算過程都是以路程為單位,計算信號從信號發生器發出經第二焦點返回至目標陣元所經過的路程,然后再將路程除以信號的傳輸速度與采樣頻率之間的比值,進而得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址,上述過程需要進行將路程轉化為讀地址的除法操作,不利于fpga的運算,需要耗費較多的fpga的時鐘資源。
而在本發明實施例中,在計算信號從信號發生器發出經第二焦點返回至目標陣元的讀地址之前,會將所有路程單位都轉化為地址,例如,將每一個焦點各自分別與信號發生器之間的距離除以信號的傳輸速度與采樣頻率之間的比值,得到每一個焦點各自分別與信號發生器之間的地址間隔,以及,將每一個陣元各自分別與信號發生器之間的距離除以信號的傳輸速度與采樣頻率之間的比值,得到每一個陣元各自分別與信號發生器之間的地址間隔。如此使得在計算的過程中,可以直接利用地址計算,進而得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址,無需在每一次的計算過程中都進行將路程轉化為讀地址的除法操作,有利于fpga的運算,節省了時鐘資源。
應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本發明實施例。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發明的實施例,并與說明書一起用于解釋本發明實施例的原理。
圖1是現有技術示出的一種場景示意圖;
圖2是根據一示例性實施例示出的一種基于醫學的超聲波信號處理方法的流程圖;
圖3是根據一示例性實施例示出的一種基于醫學的超聲波信號處理方法的流程圖;
圖4是根據一示例性實施例示出的一種基于醫學的超聲波信息處理裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發明實施例相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發明實施例的一些方面相一致的裝置和方法的例子。
圖2是根據一示例性實施例示出的一種基于醫學的超聲波信號處理方法的流程圖,如圖2所示,該方法包括以下步驟。
在步驟s101中,獲取本地預先存儲的、第一焦點與目標陣元之間的第一地址間隔;
在本發明實施例中,在信號發生器發射的信號的傳輸路線上分布有多個焦點,且任意位置相鄰的兩個焦點的距離都相同。信號發生器發出的信號可以為聲波信號或者電磁波信號等等。
在本發明實施例僅以多個焦點中的任意兩個相鄰的焦點進行舉例,但不作為對本發明保護范圍的限制。在本發明實施例中,兩個相鄰的焦點為第一焦點和第二焦點,第二焦點與信號發生器之間的距離大于第一焦點與信號發生器之間的距離。
在本發明實施例中,每當計算得到某一焦點與目標陣元之間地址間隔之后,就會將該焦點的焦點標識與該地址間隔組成一條記錄,并存儲在目標陣元對應的、焦點標識與地址間隔之間的對應關系中。且,通常情況下,會先計算距離信號發生器較近的焦點與目標陣元之間的地址間隔,然后在計算距離信號發生器較近的焦點與目標陣元之間的地址間隔。
因此,在本步驟中,可以在上述對應關系中查找與第一焦點的焦點標識相對應的地址間隔,并作為第一焦點與目標陣元之間的第一地址間隔。
其中,焦點的焦點標識可以為焦點的編號或名稱等等,本發明實施例對此不加以限定。
本發明的信號發生器可以為聲電轉換器等等。
在步驟s102中,將第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔;
其中,可以將第二地址間隔劃分為等分的多個子地址間隔,也可以劃分為不等分的多個子地址間隔。
在本發明實施例中,為了提高計算信號從信號發生器發出經第二焦點返回至目標陣元的讀地址精準度,可以將劃分的子地址間隔的數量盡可能地增多。
在步驟s103中,將第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔;
在步驟s104中,獲取第二焦點與目標陣元之間的第四地址間隔的平方;
在本發明實施例中,每一個焦點各自分別與信號發生器之間的地址間隔是已知的,且每一個陣元各自分別與信號發生器之間的地址間隔也是已知的。因此,在本步驟中,可以獲取第二焦點與信號發生器之間的地址間隔,以及獲取目標陣元與信號發生器之間的地址間隔,計算第二焦點與信號發生器之間的地址間隔的平方,以及計算目標陣元與信號發生器之間的地址間隔的平方,再將第二焦點與信號發生器之間的地址間隔的平方與目標陣元與信號發生器之間的地址間隔的平方求和,得到第二焦點與目標陣元之間的第四地址間隔的平方。
在步驟s105中,在多個不同的第三地址間隔中,選擇平方與第四地址間隔的平方之間的差值小于預設閾值的目標第三地址間隔;
在本發明實施例中,分別計算每一個第三地址間隔的平方,由于任意兩個第三地址間隔都不相同,因此,每一個第三地址間隔的平方均不相同,如此,在所有第三地址間隔的平方中,存在與第四地址間隔的平方之間的差距小于預設閾值的第三地址間隔的平方。預設閾值為技術人員在本地事先設置的數值。
所以,本步驟可以利用第三地址間隔的平方,從多個不同的第三地址間隔中,選擇出平方與第四地址間隔的平方之間的差距小于預設閾值的目標第三地址間隔,具體見如下圖3所示的實施例,在此不做詳述。
其中,在本發明實施例中,從多個不同的第三地址間隔中,可以選擇平方與第四地址間隔的平方之間的差距最小的目標第三地址間隔。
在步驟s106中,將第二焦點與信號發生器之間的地址間隔,以及,目標第三地址間隔相加,得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址。
在本發明實施例中,通過將第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔;將第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔;在多個第三地址間隔中,選擇平方與第四地址間隔的平方之間差值最小的目標第三地址間隔,并將目標第三地址間隔作為第二焦點與目標陣元之間的地址間隔,再將第二焦點與信號發生器之間的地址間隔,以及,目標第三地址間隔相加,得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址。整個計算過程中無需進行開方運算,使得整個計算過程在fpga中容易實現,且節省了fpga的時鐘資源。
其次,現有技術的整個計算過程都是以路程為單位,計算信號從信號發生器發出經第二焦點返回至目標陣元所經過的路程,然后再將路程除以信號的傳輸速度與采樣頻率之間的比值,進而得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址,上述過程需要進行將路程轉化為讀地址的除法操作,不利于fpga的運算,需要耗費較多的fpga的時鐘資源。
而在本發明實施例中,在計算信號從信號發生器發出經第二焦點返回至目標陣元的讀地址之前,會將所有路程單位都轉化為地址,例如,將每一個焦點各自分別與信號發生器之間的距離除以信號的傳輸速度與采樣頻率之間的比值,得到每一個焦點各自分別與信號發生器之間的地址間隔,以及,將每一個陣元各自分別與信號發生器之間的距離除以信號的傳輸速度與采樣頻率之間的比值,得到每一個陣元各自分別與信號發生器之間的地址間隔。如此使得在計算的過程中,可以直接利用地址計算,進而得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址,無需在每一次的計算過程中都進行將路程轉化為讀地址的除法操作,有利于fpga的運算,節省了時鐘資源。
在本發明另一實施例中,在步驟s102中,在第二地址間隔中的起始位置與終點位置之間選擇一個指定位置;例如,選擇靠近第二地址間隔中的中點位置或者中點位置附近的位置。然后將位于第二地址間隔中的起始位置與該指定位置之間的部分確定為第一子地址間隔;以及,將位于第二地址間隔中的該指定位置與結束位置之間的部分劃分為多個第二子地址間隔。
相應地,在步驟s103中,可以將第二地址間隔中的位于起始位置與該指定位置之間的部分分別與不同數量的第二子地址間隔相加,得到多個不同的子地址間隔組合;將第一地址間隔分別與每一個子地址間隔組合相加,得到多個不同的第三地址間隔。
如果將整個第二地址間隔等分為多個子地址間隔,進而第一地址間隔分別與不同數量的第二子地址間隔相加得到多個第三子地址間隔。
第三地址間隔是由第二地址間隔中的一部分以及第一地址間隔之和組成,經過技術人員事先多次統計,在與第四地址間隔之間的差值最小的第三地址間隔中,第二地址間隔中的一部分通常大于第二地址間隔的一半。
也即,將第二地址間隔中的小于第二地址間隔的一半的部分與第一地址間隔相加得到的第三地址間隔通常不是與第四地址間隔的差值最小的第三地址間隔。但是,計算第二地址間隔中的小于第二地址間隔的一半的部分與第一地址間隔相加得到的第三地址間的過程會耗費較多的fpga的時鐘資源以及時間。
因此,為了在得到與第四地址間隔之間的差值最小的目標第三地址間隔的同時能夠節省fpga的時鐘資源以及時間,在本發明另一實施例中,無需將整個第二地址間隔等分為多個子地址間隔。在本發明實施例中,無需在第二地址間隔中的位于起始位置與該指定位置之間的部分劃分子地址間隔,可以將位于第二地址間隔中的起始位置與該指定位置之間的部分確定為第一子地址間隔;以及,將位于第二地址間隔中的該指定位置與結束位置之間的部分劃分為多個第二子地址間隔。例如,將第二地址間隔中的位于該指定位置與結束位置之間的部分劃分為多個等分的子地址間隔。
其中,優選的,該指定位置為第二地址間隔的中點位置,將該指定位置設置為第二地址間隔的中點位置,有助于該指定位置的定位準確和波束合成中接收延時參數的實時計算速率和計算準確度。
相應地,在將第一地址間隔分別與不同數量的子地址間隔相加的過程中,可以將第二地址間隔中的位于起始位置與該指定位置之間的部分分別與不同數量的子地址間隔相加,得到多個不同的子地址間隔組合;將第一地址間隔分別與每一個子地址間隔組合相加,得到多個不同的第三地址間隔。
其中,每一個地址間隔組合均大于第二地址間隔中的一半,從而可以避免出現將小于第二地址間隔的一半的部分與第一地址間隔相加的計算過程,進而實現在得到與第四地址間隔之間的差值最小的目標第三地址間隔的同時能夠節省fpga的時鐘資源以及時間。
例如,假設第二地址間隔為m,選擇的位置為第二地址間隔的中點位置,第二地址間隔中的位于起始位置與中點位置之間的部分為
將第二地址間隔中的位于起始位置與中點位置之間的部分為
在本發明另一實施例中,參見圖3,步驟s105包括:
在步驟s201中,對于每一個第三地址間隔,計算本地預先存儲的第一地址間隔的平方;計算第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積;計算第三地址間隔與第一地址間隔之間的差值的平方;將第三地址間隔與第一地址間隔之間的差值的平方、第一地址間隔的平方以及該乘積求和,得到第三地址間隔的平方;
在本發明實施例中,對于任意一個第三地址間隔,需要計算該第三地址間隔的平方,由于該第三地址間隔是由該第三地址間隔與第一地址間隔之間的差值,以及第一地址間隔構成的,則在計算該第三地址間隔的平方時,首先,需要計算第一地址間隔的平方,由于本地預先存儲有第一地址間隔,因此,可以直接從本地獲取第一地址間隔,并計算第一地址間隔的平方。其次,需要計算第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積,在本發明實施例中,可以通過移位算法計算第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積。然后,需要計算第三地址間隔與第一地址間隔之間的差值的平方,再將第一地址間隔的平方、該乘積以及該第三地址間隔與第一地址間隔之間的差值的平方求和得到該第三地址間隔的平方。
對于其他每一個第三地址間隔,同樣執行上述操作,如此可以得到每一個第三地址間隔的平方。
其中,在本發明實施例中,由于第一焦點與第二焦點之間的地址間隔是利用第一焦點與第二焦點之間的距離乘以采樣頻率,再除以信號的傳輸速度而得到的,且由于第一焦點與第二焦點之間的距離的2倍等于信號的傳輸速度與采樣頻率之間的比值。因此,第一焦點與第二焦點之間的地址間隔等于
可見,當將第一焦點與第二焦點之間的地址間隔拆分為2的n次方個子地址間隔時,n為正整數,則在計算第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積時,可以利用移位算法計算第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積。
其中,在二進制乘法運算中,需要將被乘數左移相應的位數,在二進制除法運算中,需要將被除數右移相應的位數,因此,在本發明實施例中,可以將十進制的除法運算轉換為二進制的除法運算,根據除數確定右移位數,再將被除數右移該右移位數,再將得到的數值轉換為10進制數,進而得到第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積。
例如,令第一地址間隔為a,將第一焦點與第二焦點之間的地址間隔
其中,在計算
在計算
在計算
在本發明實施例中,無需利用乘法器計算第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積,通過移位算法就可以計算得到第三地址間隔與第一地址間隔之間的差值、第一地址間隔以及預設數值之間的乘積,從而可以節省乘法器資源,進而降低成本。
在步驟s202中,在得到的第三地址間隔的平方中,選擇與第四地址間隔的平方之間的的差值小于預設閾值的第三地址間隔的平方;
在現有技術中,需要分別計算每一個第三地址間隔的平方分別與第二地址間隔的平方之間的差值的絕對值,然后選擇與第二地址間隔的平方的差值的絕對值小于預設閾值的第三地址間隔的平方。但是,先相減,再求絕對值,然后求絕對值的最小值這種需要使用浮點數減法的方法,在fpga中實現起來較困難,不僅算法復雜且需要耗費較多的fpga的時鐘資源。
因此,為了在fpga中實現起來較便捷,以及節省fpga時鐘資源,在本步驟中,可以將得到的所有第三地址間隔的平方按照大小順序排序;計算排序后的每相鄰的兩個第三地址間隔的平方的平均值,得到按照大小順序排列的多個平均值;將順序排列的每相鄰的兩個平均值分別組成平均值區間;在多個平均值區間中,選擇起始端點小于第四地址間隔的平方且結束端點大于第四地址間隔的平方的平均值區間;獲取位于選擇的平均值區間內的第三地址間隔的平方。
在本發明實施例中,求平均值的過程不會使用浮點數減法運算,且選擇起始端點小于第二地址間隔的平方且結束端點大于第二地址間隔的平方的平均值區間的過程僅僅需要將第二地址間隔的平均值區間的端點比較,不會使用到浮點數減法運算,因此,相對于現有技術,本發明實施例在fpga中實現起來較便捷,且可以節省較多的時鐘資源。
在步驟s203中,根據選擇的第三地址間隔的平方確定目標第三地址間隔。
在本發明實施例中,每當得到一個第三地址間隔的平方,就會將該第三地址間隔與該第三地址間隔的平方組成一條記錄,并存儲在地址間隔與地址間隔的平方之間的對應關系中。因此,在本步驟中,可以在地址間隔與地址間隔的平方之間的對應關系中查找與選擇的第三地址間隔的平方相對應的地址間隔,并作為目標第三地址間隔。
圖4是根據一示例性實施例示出的一種基于醫學的超聲波信號處理裝置的框圖。參照圖4,該裝置包括:
第一獲取模塊11,用于獲取本地預先存儲的、第一焦點與目標陣元之間的第一地址間隔;
劃分模塊12,用于將所述第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔;
第一相加模塊13,用于將所述第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔;
第二獲取模塊14,用于獲取所述第二焦點與所述目標陣元之間的第四地址間隔的平方;
選擇模塊15,用于在多個不同的第三地址間隔中,選擇平方與所述第四地址間隔的平方之間的差值小于預設閾值的目標第三地址間隔;
第二相加模塊16,用于將所述第二焦點與信號發生器之間的地址間隔,以及,目標第三地址間隔相加,得到信號從所述信號發生器發出經所述第二焦點返回至所述目標陣元的讀地址。
其中,所述劃分模塊12包括:
第一選擇單元,用于在所述第二地址間隔中的起始位置與終點位置之間選擇一個指定位置;
第一確定單元,用于將位于所述第二地址間隔中的起始位置與所述指定位置之間的部分確定為第一子地址間隔;
劃分單元,用于將位于所述第二地址間隔中的所述指定位置與結束位置之間的部分劃分為多個第二子地址間隔。
其中,所述第一相加模塊13包括:
第一相加單元,用于將所述第一子地址間隔分別與不同數量的第二子地址間隔相加,得到多個不同的子地址間隔組合;
第二相加單元,用于將所述第一地址間隔分別與每一個子地址間隔組合相加,得到多個不同的第三地址間隔。
其中,所述選擇模塊15包括:
第一計算單元,用于對于每一個第三地址間隔,計算本地預先存儲的所述第一地址間隔的平方;第二計算單元,用于計算所述第三地址間隔與所述第一地址間隔之間的差值、所述第一地址間隔以及預設數值之間的乘積;第三計算單元,用于計算所述第三地址間隔與所述第一地址間隔之間的差值的平方;求和單元,用于將所述第三地址間隔與所述第一地址間隔之間的差值的平方、所述第一地址間隔的平方以及所述乘積求和,得到所述第三地址間隔的平方;
第二選擇單元,用于在得到的所述第三地址間隔的平方中,選擇與所述第四地址間隔的平方之間的差值最小的第三地址間隔的平方;
第二確定單元,用于根據選擇的第三地址間隔的平方確定所述目標第三地址間隔。
其中,所述第二計算單元具體用于:利用移位算法計算所述第三地址間隔與所述第一地址間隔之間的差值、所述第一地址間隔以及預設數值之間的乘積。
其中,所述選擇單元,用于包括:
排序子單元,用于將得到的所有第三地址間隔的平方按照大小順序排序;
計算子單元,用于計算排序后的每相鄰的兩個第三地址間隔的平方的平均值,得到按照大小順序排列的多個平均值;
組成子單元,用于將順序排列的每相鄰的兩個平均值分別組成平均值區間;
選擇子單元,用于在多個平均值區間中,選擇起始端點小于第四地址間隔的平方且結束端點大于第四地址間隔的平方的平均值區間;
獲取子單元,用于獲取位于選擇的平均值區間內的第三地址間隔的平方。
在本發明實施例中,通過將第一焦點與第二焦點之間的第二地址間隔劃分為多個子地址間隔;將第一地址間隔分別與不同數量的子地址間隔相加,得到多個不同的第三地址間隔;在多個第三地址間隔中,選擇平方與第四地址間隔的平方之間差值最小的目標第三地址間隔,并將目標第三地址間隔作為第二焦點與目標陣元之間的地址間隔,再將第二焦點與信號發生器之間的地址間隔,以及,目標第三地址間隔相加,得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址。整個計算過程中無需進行開方運算,使得整個計算過程在fpga中容易實現,且節省了fpga的時鐘資源。
其次,現有技術的整個計算過程都是以路程為單位,計算信號從信號發生器發出經第二焦點返回至目標陣元所經過的路程,然后再將路程除以信號的傳輸速度與采樣頻率之間的比值,進而得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址,上述過程需要進行將路程轉化為讀地址的除法操作,不利于fpga的運算,需要耗費較多的fpga的時鐘資源。
而在本發明實施例中,在計算信號從信號發生器發出經第二焦點返回至目標陣元的讀地址之前,會將所有路程單位都轉化為地址,例如,將每一個焦點各自分別與信號發生器之間的距離除以信號的傳輸速度與采樣頻率之間的比值,得到每一個焦點各自分別與信號發生器之間的地址間隔,以及,將每一個陣元各自分別與信號發生器之間的距離除以信號的傳輸速度與采樣頻率之間的比值,得到每一個陣元各自分別與信號發生器之間的地址間隔。如此使得在計算的過程中,可以直接利用地址計算,進而得到信號從信號發生器發出經第二焦點返回至目標陣元的讀地址,無需在每一次的計算過程中都進行將路程轉化為讀地址的除法操作,有利于fpga的運算,節省了時鐘資源。
關于上述實施例中的裝置,其中各個模塊執行操作的具體方式已經在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
本領域技術人員在考慮說明書及實踐這里公開的發明后,將容易想到本發明的其它實施方案。本申請旨在涵蓋本發明實施例的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發明實施例的一般性原理并包括本發明實施例未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本發明實施例的真正范圍和精神由所附的權利要求指出。
應當理解的是,本發明實施例并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本發明實施例的范圍僅由所附的權利要求來限制。