專利名稱:抽取濾波的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及超聲成像中的濾波方法及裝置,尤其涉及一種實(shí)現(xiàn)任意分?jǐn)?shù)比率抽取 的抽取濾波的方法及裝置。
背景技術(shù):
在數(shù)字超聲診斷系統(tǒng)中,經(jīng)過(guò)波束合成后得到的射頻RF&adiofrequency)回波 信號(hào)在進(jìn)行彩色血流成像、脈沖頻譜多普勒成像和二維剖面成像之前,均需要對(duì)射頻信號(hào) 進(jìn)行正交解調(diào)處理,射頻回波信號(hào)首先分別與余弦和正弦相乘,然后經(jīng)過(guò)低通濾波,得到解 調(diào)后的I (inphase),Q(quadrature)兩路信號(hào),最后對(duì)I、Q兩路信號(hào)進(jìn)行彩色血流成像、脈 沖多普勒成像和二維剖面成像處理。由于最后用于顯示圖像的視頻采樣率比前端數(shù)字射頻采樣率小很多,所以在后續(xù) 數(shù)字信號(hào)處理中不需要使用和射頻采樣率相同的采樣率。高采樣率會(huì)增大系統(tǒng)軟件和硬件 上的負(fù)擔(dān),卻不能夠較大改善圖像的性能,因此在正交解調(diào)過(guò)程中,可以將低通濾波器設(shè)計(jì) 成為抽選低通濾波器,這個(gè)濾波器在實(shí)現(xiàn)低通濾波的同時(shí)降低信號(hào)采樣率,低通抽選濾波 器針對(duì)射頻采樣率進(jìn)行了調(diào)整,又稱為二次采樣。當(dāng)一個(gè)數(shù)字濾波器的輸入采樣率是輸出采樣率的M倍時(shí),我們稱其為抽選濾波 器,并稱M為抽選比率(decimation rate)。現(xiàn)有的抽選濾波器中,通常是實(shí)現(xiàn)整數(shù)倍的抽 選,也就是抽選比率M為整數(shù)。抽選比率為整數(shù)的抽選濾波器的不足是不能夠滿足超聲圖像對(duì)于抽選比率的精 細(xì)調(diào)節(jié)。在實(shí)際情況中,很難保證抽選比率M為整數(shù),尤其是在探測(cè)深度較淺的情況下,不 妨假設(shè)數(shù)字超聲成像系統(tǒng)中射頻采樣率是fs,那么抽選濾波的抽選比率從1變化到2時(shí),進(jìn) 行信號(hào)處理的采樣率變化了 1/2 fs ;抽選比率從2變化到3時(shí),進(jìn)行信號(hào)處理的采樣率變 化了 1/6 fs;抽選比率從3變化到4時(shí),進(jìn)行信號(hào)處理的采樣率變化了 1/12 fs。在深度比 較淺的情況下,信號(hào)處理的采樣率可以選擇檔位之間變化太大。在超聲圖像上表現(xiàn)為深度 調(diào)節(jié)時(shí),深度的檔位跨度較大,不均勻,不能夠滿足超聲圖像對(duì)于抽選比率的精細(xì)調(diào)節(jié)。因 此,需要一種可以任意分?jǐn)?shù)抽取比率抽取的濾波器,實(shí)現(xiàn)抽選比率為任意分?jǐn)?shù)的抽選濾波。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能實(shí)現(xiàn)任意分?jǐn)?shù)比率抽取的抽取濾波方法和裝置,其 可以根據(jù)需要實(shí)現(xiàn)任意分?jǐn)?shù)比率的抽取濾波,滿足超聲圖像對(duì)于精細(xì)調(diào)節(jié)抽選比率的要 求。為了解決上述問(wèn)題,本發(fā)明的一個(gè)實(shí)施例中,提供了一種用于超聲成像的抽取濾 波方法包括存儲(chǔ)濾波器系數(shù);將輸入信號(hào)進(jìn)行L級(jí)鎖存,其中L為濾波中使用的乘法累加 器個(gè)數(shù);對(duì)每一級(jí)鎖存后的輸入信號(hào),從系數(shù)存儲(chǔ)器中讀取其中存儲(chǔ)的序號(hào)為K的濾波器 系數(shù),與該級(jí)鎖存后的輸入信號(hào)進(jìn)行乘累加計(jì)算,其中讀取的濾波器系數(shù)的序號(hào)K由當(dāng)前 鎖存級(jí)的輸入信號(hào)的序號(hào)rmm、當(dāng)前計(jì)算的輸出信號(hào)的序號(hào)m、抽取因子D、插值因子I計(jì)算獲得;將L級(jí)鎖存的乘累加計(jì)算結(jié)果累加,得到濾波后的輸出信號(hào)。針對(duì)上述方法,本發(fā)明的另一個(gè)實(shí)施例中,提供了一種用于超聲成像的抽取濾波 裝置,包括系數(shù)存儲(chǔ)器,所述系數(shù)存儲(chǔ)器存儲(chǔ)濾波器系數(shù);移位寄存器,對(duì)輸入信號(hào)進(jìn)行L 級(jí)鎖存,其中L為濾波器中使用的乘法累加器個(gè)數(shù),所述移位寄存器包括串聯(lián)的L個(gè)觸發(fā) 器,所述L個(gè)觸發(fā)器輸出端分別與L個(gè)乘法累加器的輸入端相連,每個(gè)觸發(fā)器對(duì)輸入信號(hào)進(jìn) 行一級(jí)鎖存;L個(gè)乘法累加器,所述乘法累加器輸入端與所述系數(shù)存儲(chǔ)器和所述觸發(fā)器的 輸出端相連,每個(gè)乘法累加器完成L級(jí)鎖存中其中一級(jí)鎖存后的輸入信號(hào)與濾波器系數(shù)的 乘累加計(jì)算;控制單元,所述控制單元與系數(shù)存儲(chǔ)器、移位寄存器和乘法累加器相連,對(duì)每 一級(jí)鎖存后的輸入信號(hào),控制單元控制從系數(shù)存儲(chǔ)器中讀取其中存儲(chǔ)的序號(hào)為K的濾波器 系數(shù),并將所述濾波器系數(shù)輸出到進(jìn)行該級(jí)鎖存的乘累加計(jì)算的乘法累加器中進(jìn)行乘累加 計(jì)算,其中讀取的濾波器系數(shù)的序號(hào)K由當(dāng)前鎖存級(jí)的輸入信號(hào)的序號(hào)num、當(dāng)前計(jì)算的輸 出信號(hào)的序號(hào)m、抽取因子D、插值因子I計(jì)算獲得;累加器,用于L個(gè)累加乘法累加器的乘 累加計(jì)算結(jié)果。本發(fā)明的實(shí)施例中,由當(dāng)前鎖存級(jí)的輸入信號(hào)的序號(hào)rmm、當(dāng)前計(jì)算的輸出信號(hào)的 序號(hào)m、抽取因子D、插值因子I計(jì)算與輸入信號(hào)進(jìn)行濾波計(jì)算的濾波器系數(shù)的序號(hào),用這些 濾波器系數(shù)與輸入信號(hào)進(jìn)行濾波計(jì)算,而不是所有的濾波器系數(shù)與所有插入零值之后的輸 入信號(hào)進(jìn)行濾波計(jì)算。這樣,剔除了插值插入的零值與濾波系數(shù)進(jìn)行濾波計(jì)算的項(xiàng),由原始 輸入信號(hào)直接與與其對(duì)應(yīng)的濾波器系數(shù)乘累加,不僅實(shí)現(xiàn)了任意分?jǐn)?shù)比率的抽取濾波,也 減少了計(jì)算量,降低了實(shí)現(xiàn)這種抽取濾波需要的資源開(kāi)銷。
圖1為本發(fā)明一個(gè)實(shí)施例的超聲成像系統(tǒng)結(jié)構(gòu)示意圖;圖2為輸入信號(hào)插值I后抽取D的示意圖;圖3為整數(shù)D抽取濾波器示意圖;圖4為本發(fā)明任意分?jǐn)?shù)比率抽取濾波器的示意圖;圖5為本發(fā)明一個(gè)實(shí)施例的任意分?jǐn)?shù)比率抽取濾波器的結(jié)構(gòu)框圖;圖6為本發(fā)明實(shí)施例一的抽取比率為9/4的抽取濾波器的結(jié)構(gòu)框圖;圖7為本發(fā)明實(shí)施例一的抽取比率為9/4的抽取濾波器的時(shí)序圖;圖8為本發(fā)明實(shí)施例一的抽取比率為9/4的抽取濾波器的另一種結(jié)構(gòu)框具體實(shí)施例方式在數(shù)字超聲診斷系統(tǒng)的信號(hào)處理流程中,彩色血流成像,脈沖多普勒成像和二維 剖面成像等均需要對(duì)射頻信號(hào)進(jìn)行正交解調(diào)處理。射頻回波信號(hào)首先分別與余弦和正弦相 乘,然后經(jīng)過(guò)低通濾波,得到解調(diào)后的I,Q兩路信號(hào),再分別對(duì)兩路IQ信號(hào)進(jìn)行彩色血流成 像,脈沖多普勒成像和二維剖面成像處理。為了減少系統(tǒng)的計(jì)算量,需要降低射頻信號(hào)的采 樣率。如圖1所示,可以將其中兩個(gè)低通濾波器設(shè)計(jì)為兩個(gè)抽選低通濾波器(其抽選比率 為射頻采樣率與視頻采樣率之比,一般大于1),在實(shí)現(xiàn)低通濾波的同時(shí)實(shí)現(xiàn)抽選濾波。不妨假設(shè)抽選比率為非整數(shù),即M = D/I時(shí),其中D大于I。為了達(dá)到此抽選比率, 設(shè)計(jì)該抽選濾波器時(shí)可以考慮先插值I (在相鄰兩個(gè)抽樣點(diǎn)之間插入I-I個(gè)抽樣值),再抽取D(每隔D-I個(gè)抽取出一個(gè))。濾波器結(jié)構(gòu)框圖如圖2所示。x(n)為輸入的信號(hào)。其中 個(gè)I表示在x(n)的相鄰抽樣點(diǎn)間補(bǔ)I-I個(gè)零點(diǎn),也就是零值插值,x0 (k)表示插零后的信 號(hào),丨D表示在補(bǔ)零后的信號(hào)中抽取D,y(m)表示經(jīng)過(guò)濾波和抽取后的信號(hào),h0(n)代表一個(gè) 非抽選濾波器。其中,圖2中的濾波和抽取部分可以用一個(gè)抽選濾波器代替,如圖3所示。 其中hd(n)代表抽選濾波器,此時(shí)抽選比率為整數(shù)D。假設(shè)濾波器的參數(shù)已定,并用其單位沖擊響應(yīng)表示為{h(n),n = 0,1,2,... N_l}, 則非抽選濾波器的算法可以表示為
抽選比率為D的抽選濾波器的算法可以表示為 即
(3)由上式可知,抽選比率為D的抽選濾波器的輸出實(shí)際上相當(dāng)于在非抽選濾波器的 所有輸出中每D個(gè)中抽選一個(gè)。以上表達(dá)式可以繼續(xù)分解為 其中L為整數(shù),LXD = N。這樣分解的好處在于,每個(gè)分項(xiàng)均可以用一個(gè)乘法累加器實(shí)現(xiàn),一共只需要L個(gè) 乘法累加器。一個(gè)2L階非抽選有限沖擊響應(yīng)(FIR)濾波器要用L個(gè)乘法器實(shí)現(xiàn)。而對(duì)于 一個(gè)抽選比率為D的FIR濾波器,用L個(gè)乘法累加器可以實(shí)現(xiàn)LXD階的FIR濾波。圖3所示系統(tǒng)實(shí)際上輸出y(m)僅與輸入χ (η)相關(guān)而與中間結(jié)果xO (k)無(wú)關(guān),因 此可以設(shè)計(jì)為一個(gè)抽選比率為M(M為非整數(shù))的抽選濾波器,如圖4所示。根據(jù)前述公式(4),插零后的中間信號(hào)序列xO (k)經(jīng)過(guò)抽選比率D的抽選濾波器后 輸出序列y(m)的表達(dá)式可整理為 先考察其中第1項(xiàng)乘累加項(xiàng)(幻。
根據(jù)上述插值規(guī)則,原始信號(hào)序列χ (η)在每相鄰信號(hào)序列之間插入I-I個(gè)零值后 得到中間信號(hào)序列x0 (k),因此x0 (k)中有許多零點(diǎn),中間信號(hào)序列只有在x0(0),xO(I), x0 (21),x0 (31) · · ·等序號(hào)為I的整數(shù)倍時(shí)才為非零,此時(shí)對(duì)應(yīng)原始輸入χ(0), χ (1),χ⑵, x(3)...。在此累加項(xiàng)中,其中的h(k)與插入的零值相乘的結(jié)果為零,因此,可以把上式中 h(k)與插入的零值相乘的項(xiàng)省略。由插值后的中間序列與原始序列的關(guān)系可知,當(dāng)(mD-k)為I的整數(shù)倍時(shí), x0 (mD-k)項(xiàng)不為零,此時(shí)記,!的整數(shù)部分為pm, k,當(dāng)當(dāng)前計(jì)算的輸出序列序號(hào)m確定 時(shí),其為k的函數(shù)。設(shè)第1項(xiàng)乘累加項(xiàng)中計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí)參與計(jì)算的輸入信號(hào)的項(xiàng)數(shù)為Nm, 則第1項(xiàng)乘累加項(xiàng)可表示為
D-INm-I 其中;£表示將上述Nm個(gè)參與計(jì)算的輸入信號(hào)項(xiàng)與其各自對(duì)應(yīng)的h(k)相乘后的 乘積累加,P mD~k 表示向下取整,即Pm, k為mD-A的整數(shù)部分,當(dāng)輸出序列序
號(hào)m確定時(shí),其為k的函數(shù)。由式(6)可見(jiàn),計(jì)算結(jié)果與中間結(jié)果xO (k)無(wú)關(guān),僅與輸入信 號(hào)x(n)有關(guān)。顯然k = 0時(shí)pm, k值最大,又因?yàn)閜m, k為整數(shù),令gm為f的整數(shù)部分,則pm, k的
最大值與gm相等。因此,對(duì)應(yīng)于當(dāng)前輸出序列y(m),參與第1項(xiàng)乘累加項(xiàng)的輸入信號(hào)中最 后一個(gè)輸入信號(hào)為x(gm),當(dāng)x(gm)輸入后,意味著第1項(xiàng)乘累加項(xiàng)對(duì)應(yīng)當(dāng)前輸出信號(hào)y(m) 的計(jì)算結(jié)束,當(dāng)前計(jì)算結(jié)果輸出并清空緩存。下一個(gè)輸入信號(hào)x(gm+l)輸入時(shí),第1項(xiàng)乘累 加項(xiàng)對(duì)應(yīng)的計(jì)算過(guò)程屬于y(m+l)的計(jì)算過(guò)程。計(jì)算時(shí)輸入信號(hào)序列X(Ii)是按順序依次輸入的,第1個(gè)乘累加項(xiàng)中,對(duì)應(yīng)當(dāng)前輸 出信號(hào)y (m),參與計(jì)算的輸入信號(hào)共有Nm個(gè),最后一個(gè)為x(gm),即對(duì)應(yīng)當(dāng)前計(jì)算的輸出信 號(hào)y(m),參入第一個(gè)乘累加項(xiàng)計(jì)算的輸入信號(hào)序列為x[gm-(Nm-I) ],x[gm-(Nm-2)],..., x[gm-i],x(gm) °參與計(jì)算的每個(gè)輸入信號(hào)對(duì)應(yīng)與沖擊響應(yīng)序列的一個(gè)系數(shù)(即本發(fā)明實(shí)施例的 非整數(shù)抽選濾波器的系數(shù))相乘,序號(hào)為num(比如gm-(Nm-l)、gm-(Nm_2). . . gm_l、gm等)的 輸入信號(hào)序列對(duì)應(yīng)的沖擊響應(yīng)序列的序號(hào)K為mD-numl,因此,由當(dāng)前輸入信號(hào)χ (η)的序號(hào) num,按照mXD-numXI即可計(jì)算出與當(dāng)前輸入信號(hào)相乘的濾波器系數(shù)的序號(hào)K,其中m為當(dāng) 前計(jì)算的輸出信號(hào)y(m)的序號(hào)。相乘的結(jié)果與之前的輸入信號(hào)和其對(duì)應(yīng)的濾波器系數(shù)的 乘積累加,累加結(jié)果緩存到緩沖存儲(chǔ)器。當(dāng)計(jì)算當(dāng)前的輸出信號(hào)y(m)時(shí)參與第1個(gè)乘累加 項(xiàng)的最后一個(gè)輸入信號(hào)x(gm)輸入并乘累加后,將計(jì)算結(jié)果輸出,并將緩沖存儲(chǔ)器清零。下 一個(gè)輸入信號(hào)x(gm+l)輸入后,開(kāi)始輸出信號(hào)y(m+l)的計(jì)算過(guò)程。
其中,參與第1項(xiàng)乘累加項(xiàng)的輸入信號(hào)項(xiàng)數(shù)Nm可以用下式得到 其中g(shù)m為計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí)參與第1項(xiàng)乘累加項(xiàng)計(jì)算的最后一個(gè)輸入信 號(hào)的序號(hào),即f的整數(shù)部分,gy為計(jì)算輸出信號(hào)y(m-l)時(shí)參與第1項(xiàng)乘累加項(xiàng)計(jì)算的最
后一個(gè)輸入信號(hào)的序號(hào),即(m^1)D的整數(shù)部分。類似地,可以得到其它各項(xiàng)的計(jì)算過(guò)程 對(duì)于第2項(xiàng)乘累加項(xiàng)2>0(歷D — 幻K免+ D)。由插值后的中間序列與原始序列的關(guān)系可知,當(dāng)(mD-D-k)為I的整數(shù)倍時(shí), x0 (mD-D-k)項(xiàng)不為零,此時(shí)記"^一,"^ = ^^^的整數(shù)部分為Pnri, k,當(dāng)輸出序列序 號(hào)m確定時(shí),其為k的函數(shù)。設(shè)第2項(xiàng)乘累加項(xiàng)中計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí)參與計(jì)算的輸入信號(hào)的項(xiàng)數(shù)為 Nnrl,則第2項(xiàng)乘累加項(xiàng)可表示為 其中$表示將上述Nnri個(gè)參與計(jì)算的輸入信號(hào)項(xiàng)與其各自對(duì)應(yīng)的h(k)相乘后
表示向下取整,即Pnrf, k為@ _ 1)£> _ &的整數(shù)部分,
當(dāng)輸出序列序號(hào)m確定時(shí),其為k的函數(shù)。由式(7)可見(jiàn),計(jì)算結(jié)果也與中間結(jié)果x0(k)無(wú) 關(guān),僅與輸入信號(hào)χ (η)有關(guān)。同樣,當(dāng)k = 0時(shí)P11^k值最大,又因?yàn)镻nri,k為整數(shù),令gy為^^的整數(shù)部分,
則Pm-Lk的最大值與gy相等。因此,對(duì)應(yīng)于當(dāng)前輸出序列y(m),參與第2項(xiàng)乘累加項(xiàng)的輸 入信號(hào)中最后一個(gè)輸入信號(hào)為dgy),當(dāng)WgM)輸入后,意味著第2項(xiàng)乘累加項(xiàng)對(duì)應(yīng)當(dāng)前 輸出信號(hào)y(m)的計(jì)算結(jié)束,當(dāng)前計(jì)算結(jié)果輸出并清空緩存。下一個(gè)輸入信號(hào)xfey+l)輸 入時(shí),第2項(xiàng)乘累加項(xiàng)對(duì)應(yīng)的計(jì)算過(guò)程屬于y (m+1)的計(jì)算過(guò)程。計(jì)算時(shí)輸入信號(hào)序列x(n)按順序輸入,第2個(gè)乘累加項(xiàng)中,對(duì)應(yīng)當(dāng)前輸出信號(hào) y(m),參與計(jì)算的輸入信號(hào)共有Nnrl個(gè),最后一個(gè)為Wglrt),即對(duì)應(yīng)當(dāng)前計(jì)算的輸出信號(hào) y (rn),參入第2個(gè)乘累加項(xiàng)計(jì)算的輸入信號(hào)序列為X [gm_「(Nm_「l) ],X [gm_「(Nm_「2)],..., x[gm-「l],X (gm-i) °參與計(jì)算的每個(gè)輸入信號(hào)對(duì)應(yīng)與沖擊響應(yīng)序列的一個(gè)系數(shù)(即本發(fā)明實(shí)施例的 非整數(shù)抽選濾波器的系數(shù))相乘,序號(hào)為num(比如Snrl-(Nlrt-I)、gm_「(Nm_「2). . . S1^-Lgnrl 等)的輸入信號(hào)序列對(duì)應(yīng)的沖擊響應(yīng)序列的序號(hào)K為mD-numl,因此,由當(dāng)前輸入信號(hào)χ (η) 的序號(hào)num,按照mXD-numX I即可計(jì)算出與當(dāng)前輸入信號(hào)相乘的濾波器系數(shù)的序號(hào)K,其中m為當(dāng)前計(jì)算的輸出信號(hào)y(m)的序號(hào)。相乘的結(jié)果與之前的輸入信號(hào)和其對(duì)應(yīng)的濾波 器系數(shù)的乘積累加,累加結(jié)果緩存到緩沖存儲(chǔ)器。當(dāng)計(jì)算當(dāng)前的輸出信號(hào)y(m)時(shí)參與第2 個(gè)乘累加項(xiàng)的最后一個(gè)輸入信號(hào)Hgy)輸入并乘累加后,即將計(jì)算結(jié)果輸出,并將緩沖存 儲(chǔ)器清零。下一個(gè)輸入信號(hào)dgy+l)輸入后,第2項(xiàng)乘累加項(xiàng)開(kāi)始輸出信號(hào)y(m+l)的計(jì) 算過(guò)程。 其中,參與第2項(xiàng)乘累加項(xiàng)的輸入信號(hào)項(xiàng)數(shù)Nnrl可以用下式得到
_1] Nnrl = gw-gw其中g(shù)y為計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí)參與第2項(xiàng)乘累加項(xiàng)計(jì)算的最后一個(gè)輸入 信號(hào)的序號(hào),即("^1P的整數(shù)部分,gm_2為計(jì)算輸出信號(hào)y (m-1)時(shí)參與第2項(xiàng)乘累加項(xiàng)計(jì)
算的最后一個(gè)輸入信號(hào)的序號(hào),即的整數(shù)部分。
I同理,可以得到,設(shè)第L項(xiàng)乘累加項(xiàng)中計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí)參與計(jì)算的輸入 信號(hào)的項(xiàng)數(shù)為凡《,第L項(xiàng)乘累加項(xiàng)可表示為 ^ 其中表示將上述Nm_a_D個(gè)參與計(jì)算的輸入信號(hào)項(xiàng)與其各自對(duì)應(yīng)的h(k)
A=O
相乘后的乘積累加,Ami-似=(m~(L-^D~k,U表示向下取整,即P111Hk為
-&的整數(shù)部分,當(dāng)輸出序列序號(hào)m確定時(shí),其為k的函數(shù)。由式⑶可見(jiàn),計(jì) 算結(jié)果也與中間結(jié)果xO(k)無(wú)關(guān),僅與輸入信號(hào)x(n)有關(guān)。同樣,當(dāng)k= 0時(shí)Pm^k值最大,又因Spm-(H)^為整數(shù),令%{m-{L~l))D
的整數(shù)部分,則Pm-a—D, k的最大值與gm-a—D相等。因此,對(duì)應(yīng)于當(dāng)前輸出序列y (m),參與第 L項(xiàng)乘累加項(xiàng)的輸入信號(hào)中最后一個(gè)輸入信號(hào)為xfem-a-D),當(dāng)XfemK)輸入后,意味著第 L項(xiàng)乘累加項(xiàng)對(duì)應(yīng)當(dāng)前輸出信號(hào)y(m)的計(jì)算結(jié)束,當(dāng)前計(jì)算結(jié)果輸出并清空緩存。下一個(gè) 輸入信號(hào)xfem-a-D+l)輸入時(shí),第L項(xiàng)乘累加項(xiàng)對(duì)應(yīng)的計(jì)算過(guò)程屬于y(m+l)的計(jì)算過(guò)程。計(jì)算時(shí)輸入信號(hào)序列x(n)按順序輸入,第L個(gè)乘累加項(xiàng)中,對(duì)應(yīng)當(dāng)前輸出信 號(hào)y(m),參與計(jì)算的輸入信號(hào)共有Nm_a_D個(gè),最后一個(gè)為Hgm^)),即對(duì)應(yīng)當(dāng)前計(jì)算 的輸出信號(hào)y(m),參入第L個(gè)乘累加項(xiàng)計(jì)算的輸入信號(hào)序列為=Xtgm-(L-D-(NmK)-I)],
X[gm-(L-l)_(Nm—(L—1廠2) ],· · ·,X[gm-(L-I)~l],X(gm—(L-1))。參與計(jì)算的每個(gè)輸入信號(hào)對(duì)應(yīng)與沖擊響應(yīng)序列的一個(gè)系數(shù)(即本發(fā)明實(shí)施例的 非整數(shù)抽選濾波器的系數(shù))相乘,序號(hào)為num(比如gd-D-(Ικ-Ι) >gffl-(L-1)-(Nffl_(L_1)-2)… g^a-D-U gffl-(L-1)等)的輸入信號(hào)序列對(duì)應(yīng)的沖擊響應(yīng)序列的序號(hào)K為mD-numl,因此,由當(dāng) 前輸入信號(hào)x(n)的序號(hào)num,按照mXD-numXI即可計(jì)算出與當(dāng)前輸入信號(hào)相乘的濾波器
系數(shù)的序號(hào)K,其中m為當(dāng)前計(jì)算的輸出信號(hào)y(m)的序號(hào)。相乘的結(jié)果與之前的輸入信號(hào) 和其對(duì)應(yīng)的濾波器系數(shù)的乘積累加,累加結(jié)果緩存到緩沖存儲(chǔ)器。當(dāng)計(jì)算當(dāng)前的輸出信號(hào) y(m)時(shí)參與第L個(gè)乘累加項(xiàng)的最后一個(gè)輸入信號(hào)X(S111K)輸入并乘累加后,將計(jì)算結(jié)果 輸出,并將緩沖存儲(chǔ)器清零。下一個(gè)輸入信號(hào)xfem-a-D+l)輸入后,第L項(xiàng)乘累加項(xiàng)開(kāi)始輸 出信號(hào)y(m+l)的計(jì)算過(guò)程。其中,參與第L項(xiàng)乘累加項(xiàng)的輸入信號(hào)項(xiàng)數(shù)Nm_a_D可以用下式得到Nm-(H) = gm_ (Hrgm-L其中SmK為計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí)參與第L項(xiàng)乘累加項(xiàng)計(jì)算的最后一個(gè)輸 入信號(hào)的序號(hào),即的整數(shù)部分,gffl-L為計(jì)算輸出信號(hào)y (m-1)時(shí)參與第L項(xiàng)乘累
加項(xiàng)計(jì)算的最后一個(gè)輸入信號(hào)的序號(hào),即一一7Z)D的整數(shù)部分。如前所述,當(dāng)各個(gè)乘累加項(xiàng)的參與計(jì)算當(dāng)前輸出信號(hào)y(m)的最后一個(gè)輸入信號(hào) 輸入并乘累加后,各個(gè)乘累加項(xiàng)的計(jì)算結(jié)果輸出,各緩沖存儲(chǔ)器清零。將各個(gè)乘累加項(xiàng)輸出 的計(jì)算結(jié)果累加,即得到當(dāng)前輸出信號(hào)y(m)的計(jì)算結(jié)果。因此,如圖4所示,可以直接設(shè)計(jì)為非整數(shù)抽選比率的抽選濾波器h(n)。其輸出 y(m)可以表示為 式(9)中各符號(hào)的意義與前文中相同。如圖5所示,為本發(fā)明任意比率抽選濾波器的一個(gè)實(shí)施例的框圖,其中式(9)中每 一個(gè)乘累加項(xiàng)用一個(gè)乘法累加器實(shí)現(xiàn),乘法累加器1實(shí)現(xiàn)第1項(xiàng)乘累加項(xiàng)的計(jì)算,乘法累加 器2實(shí)現(xiàn)第2項(xiàng)乘累加項(xiàng)的計(jì)算,以此類推,乘法累加器L實(shí)現(xiàn)第L項(xiàng)乘累加項(xiàng)的計(jì)算。由前述各累加項(xiàng)的計(jì)算說(shuō)明可以看出,計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí),參與第2累加 項(xiàng)的輸入信號(hào)與計(jì)算輸出信號(hào)y (m-1)時(shí)參與第1累加項(xiàng)計(jì)算的輸入信號(hào)相同,參與第3累 加項(xiàng)計(jì)算的輸入信號(hào)與計(jì)算輸出信號(hào)y (m-Ι)時(shí)參與第2累加項(xiàng)計(jì)算的輸入信號(hào)相同,以此 類推,同樣的,計(jì)算當(dāng)前輸出信號(hào)y(m)時(shí)參與每個(gè)累加項(xiàng)計(jì)算的輸入信號(hào)都與相鄰的前一 累加項(xiàng)計(jì)算y (m-Ι)時(shí)參與的輸入信號(hào)相同。也就是第2項(xiàng)累加項(xiàng)的輸入信號(hào)是第一項(xiàng)累 加項(xiàng)的輸入信號(hào)鎖存后的信號(hào),第3項(xiàng)累加項(xiàng)的輸入信號(hào)是第2項(xiàng)累加項(xiàng)輸入信號(hào)鎖存后 的信號(hào),以此類推,每個(gè)累加項(xiàng)的輸入信號(hào)都是前一累加項(xiàng)的輸入信號(hào)鎖存后的信號(hào)。因此,在本實(shí)施例中,對(duì)輸入信號(hào)進(jìn)行L級(jí)鎖存。如圖5所示,輸入序列x(n)按順 序依次輸入移位寄存器104,然后分別進(jìn)入各個(gè)乘法累加器。移位寄存器104包括L個(gè)觸發(fā) 器,輸入的χ (η)通過(guò)觸發(fā)器D1,觸發(fā)器Dl完成第0級(jí)鎖存,經(jīng)過(guò)了觸發(fā)器Dl (即經(jīng)過(guò)了第 0級(jí)鎖存)后的輸入信號(hào)輸入第1個(gè)乘法累加器,同時(shí)也輸入到觸發(fā)器D2后,觸發(fā)器D2完 成第1級(jí)鎖存,經(jīng)過(guò)了觸發(fā)器D2(即經(jīng)過(guò)了第1級(jí)鎖存)后的輸入信號(hào)輸入乘法累加器2,
同時(shí)也輸入至觸發(fā)器D3......以此類推,直到經(jīng)過(guò)觸發(fā)器DL輸入乘法累加器L,觸發(fā)器DL
完成第L-I級(jí)鎖存。每一級(jí)鎖存后的輸入信號(hào)均在對(duì)應(yīng)的乘法累加器中與相應(yīng)的濾波器系數(shù)進(jìn)行乘累加計(jì)算,L級(jí)鎖存中其中一級(jí)鎖存后的輸入信號(hào)與相應(yīng)濾波器系數(shù)的乘累加計(jì) 算,即對(duì)應(yīng)完成式(9)中的一項(xiàng)乘累加項(xiàng)的計(jì)算,第0級(jí)鎖存后的乘累加計(jì)算對(duì)應(yīng)式(9)中 第1項(xiàng)乘累加項(xiàng),第1級(jí)鎖存后的乘累加計(jì)算對(duì)應(yīng)式(9)中第2項(xiàng)乘累加項(xiàng),以此類推,第 L-I級(jí)鎖存的乘累加計(jì)算對(duì)應(yīng)式(9)中第L項(xiàng)乘累加項(xiàng)。其中,觸發(fā)器Dl DL可以是D觸發(fā)器,也可以是其它可以實(shí)現(xiàn)輸入信號(hào)鎖存的觸 發(fā)器。本發(fā)明的一個(gè)實(shí)施例中,把濾波器系數(shù)存儲(chǔ)于系數(shù)存儲(chǔ)器108中,對(duì)每一級(jí)鎖存 后的輸入信號(hào),從系數(shù)存儲(chǔ)器108中讀取其中存儲(chǔ)的與當(dāng)前輸入信號(hào)對(duì)應(yīng)的序號(hào)為K的濾 波器系數(shù),與該級(jí)鎖存后的輸入信號(hào)進(jìn)行乘累加計(jì)算,其中對(duì)于某一級(jí)鎖存后的輸入信號(hào), 讀取的對(duì)應(yīng)的濾波器系數(shù)的序號(hào)K可以由當(dāng)前鎖存級(jí)的輸入信號(hào)的序號(hào)num、當(dāng)前計(jì)算的 輸出信號(hào)的序號(hào)m、抽取因子D、插值因子I計(jì)算獲得。這樣,在計(jì)算的時(shí)候,并不是所有的 濾波器系數(shù)與所有插入零值之后的輸入信號(hào)乘累加,而是剔除了插值插入的零值與濾波系 數(shù)乘累加的項(xiàng),由原始輸入信號(hào)直接與與其對(duì)應(yīng)的濾波器系數(shù)乘累加,不僅實(shí)現(xiàn)了任意分 數(shù)比率的抽取濾波,也減少了計(jì)算量,降低了實(shí)現(xiàn)這種抽取濾波需要的資源開(kāi)銷。本發(fā)明的一個(gè)實(shí)施例中,可以把濾波器的系數(shù)(即沖擊響應(yīng)序列)分為L(zhǎng)組,設(shè)
f約分后的最簡(jiǎn)式的分子為T,則每組T個(gè)系數(shù),一組濾波器系數(shù)存儲(chǔ)于一個(gè)系數(shù)存儲(chǔ)區(qū)域
中,共包括L個(gè)系數(shù)存儲(chǔ)區(qū)域,每個(gè)系數(shù)存儲(chǔ)區(qū)域?qū)?yīng)一個(gè)乘法累加器,也就是對(duì)應(yīng)一級(jí)鎖 存后的乘累加計(jì)算,每個(gè)系數(shù)存儲(chǔ)區(qū)域中存儲(chǔ)的系數(shù)為其對(duì)應(yīng)的鎖存后的乘累加計(jì)算(即 該級(jí)鎖存對(duì)應(yīng)的乘法累加器)需要使用的濾波器系數(shù)。其中,每個(gè)存儲(chǔ)區(qū)域中存儲(chǔ)的濾波 器系數(shù)的序號(hào)k可以按照下面的方式計(jì)算k = uXD-vXI(10)其中u、v為大于或等于零的整數(shù),且gu_t-[Nu_t_l]彡ν彡gu_t,其中g(shù)u_t為^^ 的整數(shù)部分,Nu_t = gu_t-gu_t_10這樣,在存儲(chǔ)區(qū)域中只存儲(chǔ)了在濾波過(guò)程中需要使用到的濾波器系數(shù)(即與原始 輸入信號(hào)對(duì)應(yīng)的濾波器系數(shù)),而不包括僅與插值插入的零值對(duì)應(yīng)的濾波器系數(shù),減少了濾 波器需要的存儲(chǔ)空間。系數(shù)存儲(chǔ)器中存儲(chǔ)了其對(duì)應(yīng)的乘法累加器使用的濾波器系數(shù)。輸入信號(hào)輸入乘法 累加器,從系數(shù)存儲(chǔ)器中讀出相應(yīng)的序號(hào)為K的濾波器系數(shù)與輸入信號(hào)相乘,并和之前的 輸入信號(hào)與與其對(duì)應(yīng)的濾波系數(shù)相乘的乘積累加。如前文所述,可以由當(dāng)前輸入信號(hào)χ (η) 的序號(hào)num,按照mXD-numXI計(jì)算出與當(dāng)前輸入信號(hào)相乘的濾波器系數(shù)的序號(hào)K,其中m 為當(dāng)前計(jì)算的輸出信號(hào)y(m)的序號(hào)。本發(fā)明的一個(gè)實(shí)施例中,每個(gè)乘法累加器對(duì)應(yīng)有一個(gè)緩沖存儲(chǔ)器(B1、B2、. . . BL), 每個(gè)乘法累加器的乘累加計(jì)算結(jié)果緩存在緩沖存儲(chǔ)器中。由前文所述可以看出,對(duì)于一個(gè)乘法累加器或乘累加項(xiàng),隨著輸入信號(hào)的依次輸
入,其使用的濾波器系數(shù)是循環(huán)的,因此,在本發(fā)明的一個(gè)實(shí)施例中,可以按照式(10)的方
法,按照所述U從零開(kāi)始由小到大的順序依次取值、同時(shí)對(duì)于每個(gè)u的取值其中的V按從小
到大的順序依次取值計(jì)算濾波器系數(shù)的序號(hào),然后按照序號(hào)計(jì)算的順序?qū)⒂?jì)算出的序號(hào)對(duì)
應(yīng)的濾波器系數(shù)在存儲(chǔ)區(qū)域中依次存儲(chǔ),當(dāng)讀取系數(shù)時(shí),對(duì)此存儲(chǔ)區(qū)域中的濾波器系數(shù)從
11開(kāi)始位置依次讀取即可,當(dāng)最后一個(gè)系數(shù)讀取后,返回開(kāi)始位置繼續(xù)讀取,如此循環(huán)讀取即 可。這樣,可以很方便的對(duì)存儲(chǔ)區(qū)域中的濾波器系數(shù)進(jìn)行讀取操作。由前文所述可知,對(duì)于第t級(jí)鎖存后的乘累加計(jì)算,當(dāng)輸入信號(hào)的序號(hào)等于gm_t,
即等于 ^ ^的整數(shù)部分時(shí),說(shuō)明此輸入信號(hào)為計(jì)算當(dāng)前輸入信號(hào)y (m)時(shí),參與此第t級(jí)
鎖存后的乘累加計(jì)算的最后一個(gè)輸入信號(hào)。此時(shí),將此輸入信號(hào)進(jìn)行乘累加計(jì)算后,輸出該 第t級(jí)鎖存的乘累加計(jì)算結(jié)果,然后將該第t級(jí)鎖存的乘累加計(jì)算結(jié)果清零當(dāng)各個(gè)乘累加器中參與計(jì)算當(dāng)前輸出信號(hào)y(m)的最后一個(gè)輸入信號(hào)均輸入并乘 累加后,各個(gè)緩沖存儲(chǔ)器中存儲(chǔ)的乘累加計(jì)算結(jié)果輸出,各緩沖存儲(chǔ)器清零。然后將各個(gè) 乘累加器輸出的乘累加計(jì)算結(jié)果輸入累加器106進(jìn)行累加,得到的結(jié)果即為當(dāng)前輸出信號(hào)
y(m)的計(jì)算結(jié)果。當(dāng)?shù)?級(jí)鎖存級(jí)鎖存后的輸入信號(hào)的序號(hào)等于f的整數(shù)部分并乘累加
完成時(shí),各個(gè)乘累加器中參與計(jì)算當(dāng)前輸出信號(hào)y(m)的最后一個(gè)輸入信號(hào)即均已輸入并 完成乘累加,此時(shí),將所有L級(jí)鎖存的乘累加計(jì)算結(jié)果(即L個(gè)乘累加器的乘累加計(jì)算結(jié) 果)累加并輸出,此輸出的累加值即為濾波后的輸出信號(hào)y(m)。然后,隨著下一個(gè)輸入信號(hào) 的輸入,開(kāi)始輸出信號(hào)y(m+l)的計(jì)算過(guò)程。前述各個(gè)輸入信號(hào)的寄存、濾波器系數(shù)的循環(huán)輸出、乘累加器的計(jì)算、緩存、數(shù)據(jù) 輸出和緩沖存儲(chǔ)器清零、結(jié)果累加輸出等動(dòng)作由其中的控制單元進(jìn)行控制。另外,在本發(fā)明另外的實(shí)施例中,也可以將濾波器系數(shù)存儲(chǔ)在一個(gè)存儲(chǔ)器中,每 個(gè)濾波器系數(shù)對(duì)應(yīng)一個(gè)存儲(chǔ)地址。由前述可知,與輸入信號(hào)對(duì)應(yīng)的濾波器系數(shù)的序號(hào)由 mXD-numXI計(jì)算得到,其中m為當(dāng)前計(jì)算的輸出信號(hào)y(m)的序號(hào),num為前輸入信號(hào)χ (η) 的序號(hào)。因此,此存儲(chǔ)器中存儲(chǔ)的濾波器系數(shù)的序號(hào)滿足條件k = uXD-vX I,其中u、v為 大于或等于零的整數(shù)。當(dāng)輸入信號(hào)輸入時(shí),由控制單元按照前述計(jì)算當(dāng)前輸入信號(hào)對(duì)應(yīng)的濾波器系數(shù)序 號(hào)的方法(即按照mXD-numXI計(jì)算出與當(dāng)前輸入信號(hào)相乘的濾波器系數(shù)的序號(hào),其中m 為當(dāng)前計(jì)算的輸出信號(hào)y(m)的序號(hào))計(jì)算對(duì)應(yīng)的濾波器系數(shù)的序號(hào)K,并從存儲(chǔ)器中存儲(chǔ) 此序號(hào)K對(duì)應(yīng)的濾波器系數(shù)的存儲(chǔ)地址中讀取此序號(hào)對(duì)應(yīng)的濾波器系數(shù),輸出到各自的乘 法累加器中進(jìn)行計(jì)算。當(dāng)然,也可以將所有的濾波器系數(shù)均存儲(chǔ)于存儲(chǔ)器中,當(dāng)輸入信號(hào)輸入時(shí),由控制 單元按照前述計(jì)算當(dāng)前輸入信號(hào)對(duì)應(yīng)的濾波器系數(shù)序號(hào)的方法(即按照mXD-numX I計(jì)算 出與當(dāng)前輸入信號(hào)相乘的濾波器系數(shù)的序號(hào),其中m為當(dāng)前計(jì)算的輸出信號(hào)y(m)的序號(hào)) 計(jì)算對(duì)應(yīng)的濾波器系數(shù)的序號(hào)K,并從存儲(chǔ)器中存儲(chǔ)此序號(hào)K對(duì)應(yīng)的濾波器系數(shù)的存儲(chǔ)地 址中讀取此序號(hào)對(duì)應(yīng)的濾波器系數(shù),輸出到各自的乘法累加器中進(jìn)行計(jì)算。下面通個(gè)四個(gè)具體實(shí)施例來(lái)說(shuō)明本發(fā)明所述實(shí)現(xiàn)分?jǐn)?shù)抽選比率的數(shù)字抽選濾波 方法。實(shí)施例一不妨假設(shè)輸入信號(hào)X(Ii)的采樣率為40MHz,現(xiàn)需要降低采樣率至160/9MHz,累加 器個(gè)數(shù)L = 2,則該抽選濾波器的抽選比率M = 9/4,即插值I = 4,抽取D = 9,根據(jù)上述相 關(guān)推導(dǎo)出的公式可知
12
1)對(duì)于第1個(gè)乘累加項(xiàng),8111為$ = ^~的整數(shù)部分,第m個(gè)輸出序列y(m)對(duì)應(yīng)的
I 4
最后一個(gè)輸入信號(hào)序列為x(gm);
gQ = 0,故第0個(gè)輸出y (0)對(duì)應(yīng)最后一 gl = 2,故第1個(gè)輸出y(l)對(duì)應(yīng)最后一 g2 = 4,故第2個(gè)輸出y (2)對(duì)應(yīng)最后一 而=6,故第3個(gè)輸出7(3)對(duì)應(yīng)最后一 & = 9,故第4個(gè)輸出7(4)對(duì)應(yīng)最后一 g5 = 11,故第5個(gè)輸出y (5)對(duì)應(yīng)最后-g6 = 13,故第6個(gè)輸出y (6)對(duì)應(yīng)最后-g7= 15,故第7個(gè)輸出y (7)對(duì)應(yīng)最后-
0100] 0101] 0102]
0103]
0104]
0105]
0106]
0107]
0108]·
0109]·
0110]·
0111] 對(duì)于第二個(gè)乘累加項(xiàng),gy為(m〗1)£>的整數(shù)部分,第m個(gè)輸出序列y (m)對(duì)應(yīng)的最 后一個(gè)輸入信號(hào)序列為dgM);
個(gè)輸入序列為χ(0) 個(gè)輸入序列為χ (2) 個(gè)輸入序列為χ (4) 個(gè)輸入序列為χ (6) 個(gè)輸入序列為χ (9) -個(gè)輸入序列為x(ll) -個(gè)輸入序列為χ(13) -個(gè)輸入序列為χ(15)
0112]m =0時(shí),Sm-I=g-i,無(wú)意義,因此第0個(gè)輸出y (0)時(shí)第二個(gè)乘累加項(xiàng)沒(méi)有輸入0113]m =1時(shí),gm-1=go=0,故第1個(gè)輸出y(l)對(duì)應(yīng)最后一-個(gè)輸入序列為χ(0);0114]m =2時(shí),gm-1=Sl=2,故第2個(gè)輸出y(2)對(duì)應(yīng)最后一-個(gè)輸入序列為χ (2);0115]m =3時(shí),gm-1=S2=4,故第3個(gè)輸出y (3)對(duì)應(yīng)最后一-個(gè)輸入序列為χ (4);0116]m =4時(shí),gm-1=S3=6,故第4個(gè)輸出y(4)對(duì)應(yīng)最后一-個(gè)輸入序列為χ (6);0117]m =5時(shí),gm-1=S4=9,故第5個(gè)輸出y (5)對(duì)應(yīng)最后一-個(gè)輸入序列為χ (9);0118]m =6時(shí),gm-1=S5=11,故第6個(gè)輸出y(6)對(duì)應(yīng)最后-一個(gè)輸入序列為x(ll);0119]m =7時(shí),gm-1=S6=13,故第7個(gè)輸出y (7)對(duì)應(yīng)最后-一個(gè)輸入序列為χ(13);0120]m =8時(shí),gm-1=S7=15,故第8個(gè)輸出y(8)對(duì)應(yīng)最后-一個(gè)輸入序列為χ(15);
0121] 0122]
0123]
0124]
0125]
0126]
0127]
0128]
0129]
0130]
0131]
0132]
0133]
2)第1個(gè)乘累加項(xiàng)中,第m個(gè)輸出序列y(m)對(duì)應(yīng)非零項(xiàng)為Nm = gm-gm_ 第1個(gè)輸出y(l)對(duì)應(yīng)非零項(xiàng)項(xiàng)數(shù)為=N1 = gl-g0 = 2-0 = 2 第2個(gè)輸出y(2)對(duì)應(yīng)非零項(xiàng)項(xiàng)數(shù)為=N2 = g2-gl = 4-2 = 2 第3個(gè)輸出y(3)對(duì)應(yīng)非零項(xiàng)項(xiàng)數(shù)為=N3 = g3-g2 = 6-4 = 2 第4個(gè)輸出y (4)對(duì)應(yīng)非零項(xiàng)項(xiàng)數(shù)為=N4 = g4-g3 = 9-6 = 3 第5個(gè)輸出y(5)對(duì)應(yīng)非零項(xiàng)項(xiàng)數(shù)為=N5 = g5-g4 = 11-9 = 2; 第6個(gè)輸出y(6)對(duì)應(yīng)非零項(xiàng)項(xiàng)數(shù)為=N6 = g6-g5 = 13-11 = 2 ; 第7個(gè)輸出y(7)對(duì)應(yīng)非零項(xiàng)項(xiàng)數(shù)為=N7 = g7-g6 = 15-13 = 2 ;
13
·第2個(gè)乘累加項(xiàng)中,第m個(gè)輸出序列y(m)對(duì)應(yīng)非零項(xiàng)為Nm-1 ^m
第2個(gè)輸出y (2)對(duì)應(yīng)非零項(xiàng)項(xiàng)_ 為=N1=Srg0 =2-0 =2 ;
第3個(gè)輸出y (3)對(duì)應(yīng)非零項(xiàng)項(xiàng)_t為=N2=g2"gl =4-2 =2 ;
第4個(gè)輸出y(4)對(duì)應(yīng)非零項(xiàng)項(xiàng)_t為=N3=g3"g2 =6-4 =2 ;
第5個(gè)輸出y(5)對(duì)應(yīng)非零項(xiàng)項(xiàng)_t為=N4=g4"g3 =9-6 =3 ;
第6個(gè)輸出y(6)對(duì)應(yīng)非零項(xiàng)項(xiàng)_t為=N5=g5-g4 =11-9 ==2 ;
第7個(gè)輸出y (7)對(duì)應(yīng)非零項(xiàng)項(xiàng)_t為=N6=g6-g5 =13-11=2 ;
第8個(gè)輸出y(8)對(duì)應(yīng)非零項(xiàng)項(xiàng)_女為=N7=g7-g6 =15-13=2 ;···3)第1個(gè)累加項(xiàng)對(duì)應(yīng)的輸入信號(hào)序列為x[gm-(Nm-l)],x[gm-(Nm_2)],..., x[gm-i],x(gm);第2個(gè)累加項(xiàng)對(duì)應(yīng)的輸入信號(hào)序列為:x[g^-(Nffl-!-!)]' x[gm-i-(Nffl-1-2)]; · · ·, x[gm-「l],X (gm-i) °4)輸入信號(hào)χ (η)的序號(hào)為num,對(duì)應(yīng)沖擊響應(yīng)序列的序號(hào)可以表示為mD-numI, 對(duì)應(yīng)沖擊響應(yīng)可表示為h(mXD-numXI)對(duì)于第1個(gè)乘累加項(xiàng)第0個(gè)輸出y(0)對(duì)應(yīng)第1個(gè)乘累加項(xiàng)的輸入信號(hào)序列為x(0),其對(duì)應(yīng)系數(shù)為 h(0);第1個(gè)輸出y (1)對(duì)應(yīng)輸入信號(hào)序列為:x (1),χ (2);對(duì)應(yīng)系數(shù)分別為h (5),h (1)第2個(gè)輸出y (2)對(duì)應(yīng)輸入信號(hào)序列為=x(3),x(4);對(duì)應(yīng)系數(shù)分別為h(6),h(2)第3個(gè)輸出y (3)對(duì)應(yīng)輸入信號(hào)序列為:x(5),x(6);對(duì)應(yīng)系數(shù)分別為h (7),h (3)第4個(gè)輸出y (4)對(duì)應(yīng)輸入信號(hào)序列為=x(7) ,χ (8),χ(9);對(duì)應(yīng)系數(shù)分別為h(8), h(4),h(0);第5個(gè)輸出 h(l);第6個(gè)輸出
h(2);第7個(gè)輸出 h(3);···對(duì)于第2個(gè)乘累加項(xiàng)第0個(gè)輸出y(0)第2個(gè)乘累加項(xiàng)沒(méi)有輸入信號(hào)序列;第1個(gè)輸出y(l)對(duì)應(yīng)第2個(gè)乘累加項(xiàng)輸入信號(hào)序列為x(0),其對(duì)應(yīng)系數(shù)為 h(9);
第2個(gè)輸出y(2)對(duì)應(yīng)輸入信號(hào)序列為x(1),χ(2);對(duì)應(yīng)系數(shù)分別為h(14), h(10);第3個(gè)輸出y(3)對(duì)應(yīng)輸入信號(hào)序列為x(3),x(4);對(duì)應(yīng)系數(shù)分別為h(15), h(ll);第4個(gè)輸出y(4)對(duì)應(yīng)輸入信號(hào)序列為x(5),χ(6);對(duì)應(yīng)系數(shù)分別為h(16), h(12);第5個(gè)輸出y(5)對(duì)應(yīng)輸入信號(hào)序列為:x (7), χ (8), χ (9);對(duì)應(yīng)系數(shù)分別為h (17), h(13),h(9);第6個(gè)輸出y(6)對(duì)應(yīng)輸入信號(hào)序列為x(10),x(ll);對(duì)應(yīng)系數(shù)分別為h(14), h(10);第7個(gè)輸出y (7)對(duì)應(yīng)輸入信號(hào)序列為x(12),x(13);對(duì)應(yīng)系數(shù)分別為h(15), h(ll);第8個(gè)輸出y(8)對(duì)應(yīng)輸入信號(hào)序列為:x(14), x(15);對(duì)應(yīng)系數(shù)分別為h(16), h(12);···根據(jù)上面公式計(jì)算得知,第1個(gè)乘法累加器和第2個(gè)乘法累加器的輸出序列和輸 入序列關(guān)系可以用下面的式子表示乘法累加器1乘法累加器2
y(0)=x(0)h(0)+0
y⑴=x(2)h(l)+x(l)h(5)+χ (0)h(9)
y⑵=χ (4) h (2)+χ (3) h (6)+x(2)h(10)+x(l)h(14)
y⑶=χ (6) h (3)+χ (5) h (7)+χ (4)h(ll)+x(3)h(15)
y⑷=χ (9) h (0) +χ (8) h (4) +χ (7) h (8)+χ (6) h (12)+χ (5) h (16)
y(5)=x(ll)h(l)+x(10)h(5)+χ (9) h (9) +χ (8) h (13) +χ (7) h (17)
y(6)=χ (13) h (2)+χ (12) h (6)+x(ll)h(10)+x(10)h(14)
y(7)=χ (15) h (3)+χ (14) h (7)+x(13)h(ll)+x(12)h(15)····· ·本實(shí)施例的框圖如圖6所示。其中乘法累加器1計(jì)算第1項(xiàng)乘累加項(xiàng),乘法累加 器2計(jì)算第2項(xiàng)乘累加項(xiàng)。由前所述,濾波器系數(shù)分為L(zhǎng)組,每組T個(gè)系數(shù),本實(shí)施例中,L = 2,T = 9。因 此,本實(shí)施例中,濾波器系數(shù)分為2組,每組9個(gè)系數(shù)。第一組系數(shù)包括h (0)、h (5)、h (1)、 h (6)、h (2)、h (7)、h (3)、h (8)、h ⑷,存儲(chǔ)于系數(shù)存儲(chǔ)器 1,按照 h (0)、h (5)、h ⑴、h (6)、 h⑵、h (7)、h (3)、h (8)、h (4)的順序存儲(chǔ),隨著輸入信號(hào)的輸入,按照h (0)、h (5)、h⑴、 h (6)、h (2)、h (7)、h (3)、h (8)、h (4)的順序依次輸出至乘法累加器1,即χ (0)輸入乘法累加 器1時(shí),輸出h(0)至乘法累加器l,x(l)輸入乘法累加器1時(shí),輸出h(5)至乘法累加器1,
15χ(2)輸入乘法累加器1時(shí),輸出h(l)至乘法累加器1,依次類推,當(dāng)最后一個(gè)h(4)輸出至 乘法累加器1后,下一次輸出的系數(shù)又從h(0)開(kāi)始一次輸出。如此循環(huán)輸出。第二組系數(shù)包括h (9)、h (14)、h (10)、h (15)、h (11)、h (16)、h (12)、h (17)、h (13), 存儲(chǔ)于系數(shù)存儲(chǔ)器2,與系數(shù)存儲(chǔ)器1中的系數(shù)類似,系數(shù)存儲(chǔ)器2中的系數(shù)隨著輸入乘法 累加 2 的輸入信號(hào),按照 h (9)、h (14)、h (10)、h (15)、h (11)、h (16)、h (12)、h (17)、h (13)的 順序循環(huán)輸出至乘法累加器2。本實(shí)施例的時(shí)序圖如圖7所示。其中CLK為寄存器的時(shí)鐘,這里設(shè)定系統(tǒng)起始時(shí) 鐘CLK = 0,系數(shù)存儲(chǔ)器1的控制時(shí)鐘CHl高電平時(shí),系數(shù)存儲(chǔ)器1中的濾波器系數(shù)開(kāi)始循 環(huán)輸出,當(dāng)CLK = 0時(shí)刻CHl開(kāi)始變成高電平;系數(shù)存儲(chǔ)器2的控制時(shí)鐘CH2高電平時(shí),系 數(shù)存儲(chǔ)器2中的濾波器系數(shù)開(kāi)始循環(huán)輸出,CH2相對(duì)于CHl延遲一個(gè)時(shí)鐘變成高電平,即當(dāng) CLK = 1時(shí)刻開(kāi)始變成高電平;乘法累加器1在ALUCLK1上升沿輸出并清零,乘法累加器2 在ALUCLK2上升沿輸出并清零,加法器在ADDCLK上升沿進(jìn)行加法運(yùn)算,本實(shí)施例中,當(dāng)CLK =gm+l,gm = 0,2,4,6,9,11,13,15. . .,m = 0,1,2,3...時(shí)乘法累加器 1 輸出并清零,在 CLK =gm+2時(shí)乘法累加器2輸出并清零,在CLK = gm+l時(shí)加法器進(jìn)行加法運(yùn)算并輸出。圖8所示為本實(shí)施例中可以采用的另一種結(jié)構(gòu)的抽選濾波器,考慮到濾波器系數(shù) 的對(duì)稱性,第二組濾波系數(shù) h (9)、h (14)、h (10)、h (15)、h (11)、h (16)、h (12)、h (17)、h (13) 的值實(shí)際上是分別與h (8)、h (3)、h (7)、h (2)、h (6)、h⑴、h (5)、h (0)、h (4)相等的,因此, 此時(shí),僅需在系數(shù)存儲(chǔ)器中存儲(chǔ)9個(gè)系數(shù),由控制單元通過(guò)選擇存儲(chǔ)單元的地址來(lái)控制濾 波器系數(shù)的輸出。對(duì)于乘法累加器1和乘法累加器2,分別根據(jù)其從觸發(fā)器Dl和D2輸入的 輸入信號(hào)的序號(hào)num,以及當(dāng)前計(jì)算的輸出信號(hào)的序號(hào)m按照K = mXD-numX I計(jì)算需要 輸出的濾波器系數(shù)的序號(hào)。比如,當(dāng)前計(jì)算的輸出信號(hào)為y(l),則m= 1,對(duì)于第1個(gè)乘法 累加器,輸入信號(hào)為x(l)時(shí),num = 1,本實(shí)施例中,D = 9,I = 4,則K = 1X9-1X4 = 5, 因此,從系數(shù)存儲(chǔ)器中讀取h (5)輸入到乘法累加器1 ;當(dāng)輸入信號(hào)為χ (2)時(shí),num = 2,則 K= 1X9-2X4 = 1,則從系數(shù)存儲(chǔ)器中讀取h(l)輸入到乘法累加器1。對(duì)于第2個(gè)乘法 累加器,輸入信號(hào)為x(0)時(shí),num = 0,則K= 1X9-0X4 = 9,則從系數(shù)存儲(chǔ)器中讀取h (9) 輸入到乘法累加器2。這樣,僅需要存儲(chǔ)9個(gè)系數(shù)即可,可以減少濾波器系數(shù)的存儲(chǔ)單元。當(dāng)然,也可以所有18個(gè)系數(shù)均存儲(chǔ)于系數(shù)存儲(chǔ)器中,然后由控制單元分別選擇讀 取相應(yīng)的系數(shù)輸出至乘法累加器1和乘法累加器2。實(shí)施例二不妨假設(shè)輸入信號(hào)X(Ii)的采樣率為40MHz,現(xiàn)需要降低采樣率至160/10MHZ,累加 器個(gè)數(shù)L = 2,則該抽選濾波器的抽選比率M= 10/4,即插值I = 4,抽取D= 10,M= 10/4 約分后為5/2,因此T = 5,該抽選濾波器的結(jié)構(gòu)與圖6所示的實(shí)施例一的結(jié)構(gòu)類似,僅濾波 器系數(shù)不同。濾波器系數(shù)的計(jì)算方法參照實(shí)施例一,每組濾波器系數(shù)包含5個(gè)系數(shù),第一組 濾波器系數(shù)為h (0)、h (6)、h (2)、h (8)、h (4),第2組濾波器系數(shù)包含h (10)、h (16)、h (12)、 h(18)、h(14)。各組濾波器系數(shù)分別存儲(chǔ)于系數(shù)存儲(chǔ)器1和系數(shù)存儲(chǔ)器2,并按順序循環(huán)輸 出至乘法累加器1和乘法累加器2。當(dāng)然,此實(shí)施例也可以將所有系數(shù)存儲(chǔ)于一個(gè)存儲(chǔ)器中,由控制單元從中讀取當(dāng) 前各乘法累加器當(dāng)前輸入信號(hào)對(duì)應(yīng)的系數(shù)。
實(shí)施例三假設(shè)輸入信號(hào)x(n)的采樣率為40MHz,現(xiàn)需要降低采樣率至160/llMHz,累加器個(gè) 數(shù)L = 2,則該抽選濾波器的抽選比率M= 11/4,即插值I = 4,抽取D = 11,M = 11/4約 分后仍為11/4,因此,T = 11。同理,該抽選濾波器的結(jié)構(gòu)也與圖6類似,但是濾波器系數(shù)不同,系數(shù)的計(jì)算方法 參照實(shí)施例一,第一組濾波器系數(shù)按照順序h(0),h(7),h(3),h(10),h(6),h(2),h(9), h (5),h (1),h ⑶,h (4)循環(huán),第二組濾波器系數(shù)按照順 h (11),h (18),h (14),h (21),h (17), h (13),h (20),h (16),h (12),h (19),h (15)循環(huán)。實(shí)施例四假設(shè)輸入信號(hào)χ (η)的采樣率為40MHz,現(xiàn)需要降低采樣率至160/8MHz,累加器個(gè) 數(shù)L = 2,則該抽選濾波器的抽選比率M = 8/4,即插值I = 4,抽取D = 8,M = 8/4約分后 為2/1,因此,T = 2。同理,系數(shù)的計(jì)算方法參照實(shí)施例一,第一組濾波器系數(shù)按照順序h(0),h (4)循 環(huán),第二組濾波器系數(shù)按照順序h (8),h(12)循環(huán)。以上通過(guò)具體的實(shí)施例對(duì)本發(fā)明進(jìn)行了說(shuō)明,但本發(fā)明并不限于這些具體的實(shí)施 例。本領(lǐng)域技術(shù)人員應(yīng)該明白,還可以對(duì)本發(fā)明做各種修改、等同替換、變化等等,這些變換 只要未背離本發(fā)明的精神,都應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。此外,以上多處所述的“一個(gè)實(shí) 施例”表示不同的實(shí)施例,當(dāng)然也可以將其全部或部分結(jié)合在一個(gè)實(shí)施例中。
權(quán)利要求
一種用于超聲成像的抽取濾波方法,包括存儲(chǔ)濾波器系數(shù);將輸入信號(hào)進(jìn)行L級(jí)鎖存,其中L為濾波中使用的乘法累加器個(gè)數(shù);對(duì)每一級(jí)鎖存后的輸入信號(hào),從系數(shù)存儲(chǔ)器中讀取其中存儲(chǔ)的序號(hào)為K的濾波器系數(shù),與該級(jí)鎖存后的輸入信號(hào)進(jìn)行濾波計(jì)算,其中讀取的濾波器系數(shù)的序號(hào)K由當(dāng)前鎖存級(jí)的輸入信號(hào)的序號(hào)num、當(dāng)前計(jì)算的輸出信號(hào)的序號(hào)m、抽取因子D、插值因子I計(jì)算獲得;將L級(jí)鎖存的乘累加計(jì)算結(jié)果累加,得到濾波后的輸出信號(hào)。
2.如權(quán)利要求1所述的抽取濾波方法,其特征在于所述存儲(chǔ)濾波器系數(shù)中,將系數(shù)存 儲(chǔ)在L個(gè)存儲(chǔ)區(qū)域,每個(gè)存儲(chǔ)區(qū)域存儲(chǔ)與L級(jí)鎖存中其中一級(jí)鎖存后的輸入信號(hào)進(jìn)行乘累 加計(jì)算的濾波器系數(shù)。
3.如權(quán)利要求2所述的抽取濾波方法,其特征在于每個(gè)存儲(chǔ)區(qū)域存儲(chǔ)T個(gè)濾波器系 數(shù),其中T為D/I約分后最簡(jiǎn)式的分子,其中存儲(chǔ)與第t級(jí)鎖存后的輸入信號(hào)進(jìn)行乘累加計(jì) 算的濾波器系數(shù)的存儲(chǔ)區(qū)域中,存儲(chǔ)的濾波器系數(shù)的序號(hào)k滿足k = uXD-vX I,其中u、v為大于或等于零的整數(shù),且gu-t_[Nu_t-l] ( ν ( gu_t,其中g(shù)u_t為^^的整數(shù)部分,Nu_t =gu-t-gu-H,D為抽取因子,I為插值因子,t為當(dāng)前鎖存級(jí)的級(jí)數(shù),其中鎖存級(jí)的級(jí)數(shù)由0到 L-I依次增加。
4.如權(quán)利要求3所述的抽取濾波方法,其特征在于所述存儲(chǔ)區(qū)域中,存儲(chǔ)的濾波器系數(shù)的序號(hào)k由所述u從零開(kāi)始由小到大的順序依次 取值、對(duì)于每個(gè)u的取值其中所述ν按從小到大的順序依次取值計(jì)算,濾波器系數(shù)按照所述 序號(hào)計(jì)算的順序在所述系數(shù)存儲(chǔ)區(qū)域中順序存儲(chǔ),讀取濾波器系數(shù)時(shí),按照所述存儲(chǔ)的順 序依次循環(huán)讀取。
5.如權(quán)利要求1所述的抽取濾波方法,其特征在于所述存儲(chǔ)濾波器系數(shù)中,其中存儲(chǔ) 的濾波器系數(shù)的序號(hào)k滿足k = uXD-vX I,其中u、v為大于或等于零的整數(shù),D為抽取因 子,I為插值因子。
6.如權(quán)利要求1至5任意一項(xiàng)所述的抽取濾波方法,其特征在于所述從系數(shù)存儲(chǔ)器 中讀取的濾波器系數(shù)的序號(hào)K = mXD-numX I,其中rmm為當(dāng)前鎖存級(jí)的輸入信號(hào)的序號(hào)、 m為當(dāng)前計(jì)算的輸出信號(hào)的序號(hào)、D為抽取因子、I為插值因子。
7.如權(quán)利要求1所述的抽取濾波方法,其特征在于進(jìn)一步包括將每一級(jí)的鎖存后的輸入信號(hào)與濾波器系數(shù)的乘累加結(jié)果緩沖存儲(chǔ)到數(shù)據(jù)緩存器。
8.如權(quán)利要求1或6所述的抽取濾波方法,其特征在于進(jìn)一步包括當(dāng)?shù)趖級(jí)鎖存后的輸入信號(hào)的序號(hào)等于0^的整數(shù)部分時(shí),此輸入信號(hào)乘累加計(jì)算后輸出該第t級(jí)鎖存的乘累加計(jì)算結(jié)果,然后將該第t級(jí)鎖存的乘累加計(jì)算結(jié)果清零,其中m為當(dāng)前計(jì)算的輸 出信號(hào)的序號(hào)、D為抽取因子、I為插值因子,t為當(dāng)前鎖存級(jí)的級(jí)數(shù),其中鎖存級(jí)的級(jí)數(shù)由 0到L-I依次增加。
9.如權(quán)利要求1所述的抽取濾波方法,其特征在于當(dāng)?shù)?級(jí)鎖存級(jí)鎖存后的輸入信號(hào)的序號(hào)等于一「的整數(shù)部分時(shí),此輸入信號(hào)乘累加計(jì)算完成后,將L級(jí)鎖存的乘累加計(jì)算結(jié)果累加并輸出。
10.一種用于超聲成像的抽取濾波裝置,包括 系數(shù)存儲(chǔ)器,所述系數(shù)存儲(chǔ)器存儲(chǔ)濾波器系數(shù);移位寄存器,對(duì)輸入信號(hào)進(jìn)行L級(jí)鎖存,其中L為濾波器中使用的乘法累加器個(gè)數(shù),所 述移位寄存器包括串聯(lián)的L個(gè)觸發(fā)器,所述L個(gè)觸發(fā)器輸出端分別與L個(gè)乘法累加器的輸 入端相連,每個(gè)觸發(fā)器對(duì)輸入信號(hào)進(jìn)行一級(jí)鎖存;L個(gè)乘法累加器,所述乘法累加器輸入端與所述系數(shù)存儲(chǔ)器和所述觸發(fā)器的輸出端相 連,每個(gè)乘法累加器完成L級(jí)鎖存中其中一級(jí)鎖存后的輸入信號(hào)與濾波器系數(shù)的乘累加計(jì) 算;控制單元,所述控制單元與系數(shù)存儲(chǔ)器、移位寄存器和乘法累加器相連,對(duì)每一級(jí)鎖存 后的輸入信號(hào),控制單元控制從系數(shù)存儲(chǔ)器中讀取其中存儲(chǔ)的序號(hào)為K的濾波器系數(shù),并 將所述濾波器系數(shù)輸出到進(jìn)行該級(jí)鎖存的乘累加計(jì)算的乘法累加器中進(jìn)行乘累加計(jì)算,其 中讀取的濾波器系數(shù)的序號(hào)K由當(dāng)前鎖存級(jí)的輸入信號(hào)的序號(hào)num、當(dāng)前計(jì)算的輸出信號(hào) 的序號(hào)m、抽取因子D、插值因子I計(jì)算獲得;累加器,用于L個(gè)累加乘法累加器的乘累加計(jì)算結(jié)果。
11.如權(quán)利要求10所述的抽取濾波裝置,其特征在于所述系數(shù)存儲(chǔ)器包括L個(gè)存儲(chǔ) 區(qū)域,每個(gè)存儲(chǔ)區(qū)域的輸出端分別與一個(gè)乘法累加器的輸入端連接,每個(gè)存儲(chǔ)區(qū)域存儲(chǔ)與L 級(jí)鎖存中其中一級(jí)鎖存后的輸入信號(hào)進(jìn)行乘累加計(jì)算的系數(shù)。
12.如權(quán)利要求11所述的抽取濾波裝置,其特征在于所述每個(gè)存儲(chǔ)區(qū)域存儲(chǔ)T個(gè)濾 波器系數(shù),其中T為D/I約分后最簡(jiǎn)式的分子,其中存儲(chǔ)的濾波器系數(shù)的序號(hào)k滿足k =uXD-vXI,其中u、v為大于或等于零的整數(shù),且gu_t-[Nu_t-l]彡ν彡gu_t,其中g(shù)u_t為·^^的整數(shù)部分,Nu_t = gu_t-gu_t_l,D為抽取因子,I為插值因子,t為當(dāng)前鎖存級(jí)的級(jí)數(shù),其中 鎖存級(jí)的級(jí)數(shù)由0到L-I依次增加。
13.如權(quán)利要求12所述的抽取濾波裝置,其特征在于所述每個(gè)存儲(chǔ)區(qū)域的T個(gè)系數(shù) 循環(huán)讀取。
14.如權(quán)利要求13所述的抽取濾波裝置,其特征在于所述系數(shù)存儲(chǔ)器中存儲(chǔ)的濾波 器系數(shù)的序號(hào)k滿足k = uXD-vX I,其中u、ν為大于或等于零的整數(shù),D為抽取因子,I 為插值因子。
15.如權(quán)利要求10至14任意一項(xiàng)所述的抽取濾波裝置,其特征在于所述從系數(shù)存儲(chǔ) 器中讀取的濾波器系數(shù)的序號(hào)為K = HiXD-MimX I,其中num為當(dāng)前鎖存級(jí)的輸入信號(hào)的序 號(hào)、m為當(dāng)前計(jì)算的輸出信號(hào)的序號(hào)、D為抽取因子、I為插值因子。
16.如權(quán)利要求10所述的抽取濾波裝置,其特征在于還包括L個(gè)數(shù)據(jù)緩存器,每個(gè)數(shù) 據(jù)緩存器的輸入端分別與一個(gè)乘法累加器的輸出端相連,且每個(gè)數(shù)據(jù)緩存器與控制單元相 連,乘法累加器乘累加計(jì)算結(jié)果輸出到數(shù)據(jù)緩存中緩存。
全文摘要
本發(fā)明公開(kāi)了一種用于超聲成像的抽取濾波方法及裝置,包括存儲(chǔ)濾波器系數(shù);將輸入信號(hào)進(jìn)行L級(jí)鎖存,其中L為濾波中使用的乘法累加器個(gè)數(shù);對(duì)每一級(jí)鎖存后的輸入信號(hào),從系數(shù)存儲(chǔ)器中讀取其中存儲(chǔ)的序號(hào)為K的濾波器系數(shù),與該級(jí)鎖存后的輸入信號(hào)進(jìn)行乘累加計(jì)算,其中讀取的濾波器系數(shù)的序號(hào)K由當(dāng)前鎖存級(jí)的輸入信號(hào)的序號(hào)num、當(dāng)前計(jì)算的輸出信號(hào)的序號(hào)m、抽取因子D、插值因子I計(jì)算獲得;將L級(jí)鎖存的乘累加計(jì)算結(jié)果累加,得到濾波后的輸出信號(hào)。本發(fā)明的抽取濾波方法及裝置剔除了插值插入的零值與濾波系數(shù)乘累加的項(xiàng),由原始輸入信號(hào)直接與與其對(duì)應(yīng)的濾波器系數(shù)乘累加,不僅實(shí)現(xiàn)了任意分?jǐn)?shù)比率的抽取濾波,也減少了計(jì)算量。
文檔編號(hào)A61B8/00GK101919706SQ200910107969
公開(kāi)日2010年12月22日 申請(qǐng)日期2009年6月12日 優(yōu)先權(quán)日2009年6月12日
發(fā)明者李勇, 靳珊 申請(qǐng)人:深圳邁瑞生物醫(yī)療電子股份有限公司