本發(fā)明屬于無線通信領域,具體涉及一種利用天線接口特性實現LTE基帶處理單元的實時調度方法。
背景技術:
LTE(Long Term Evolution,長期演進)是由3GPP(The 3rd Generation Partnership Project,第三代合作伙伴計劃)組織制定的UMTS(Universal Mobile Telecommunications System,通用移動通信系統(tǒng))技術標準的長期演進。LTE系統(tǒng)引入了OFDM(Orthogonal Frequency Division Multiplexing,正交頻分復用)和MIMO(Multi-Input&Multi-Output,多輸入多輸出)等關鍵技術,增加了頻譜效率和數據傳輸速率,同時其扁平化的網絡架構也顯著的減小了系統(tǒng)時延。
CPRI(The Common Public Radio Interface,通用公共無線電接口)定義了基站數據處理控制單元REC(Radio Equipment Control)與基站收發(fā)單元RE(Radio Equipment)之間的接口關系,是常用的天線數據接口,是用來傳輸數據的,包括控制信息和IQ數據(IQ信號在數字通信中是指一對相位正交的調制信號,也就是基帶信號)。CPRI具有串行傳輸與傳輸時間固定兩個特點,其中后面一個特點決定了其幀格式時間上是固定的,沒有數據時也填0發(fā)送。以LTE為例,IQ數據的位寬分別是15位,20MHz帶寬配置的時候數據采樣率應該是30.72MHz。CPRI一個基本幀的持續(xù)時間是Tc=1/3.84MHz(一個10ms幀包含256x150個基本幀,256x150xTc=10ms)。那么在一個基本幀中放8個IQ數據,正好和20MHz帶寬的LTE信號速率匹配上。因此可以看出,在這種應用下,CPRI的IQ數量與時間可以完全匹配上。
LTE系統(tǒng)物理層處理流程已由協(xié)議確定,由DSP(Digital Signal Processing,數字信號處理)來實現,是數據密集型處理單元,對處理的實時性要求很高,如何實現與空口時間對齊,如何實現嚴格的時間控制并進行業(yè)務調度是物理層處理非常重要的問題,理想的時間系統(tǒng)應該有如下特征:
(1)方案簡單,使用盡可能少的硬件資源;
(2)開銷較少,使用盡可能少的本地資源;
(3)方式靈活,可修改度高;
(4)準確度及穩(wěn)定性滿足系統(tǒng)需求;
(5)有校驗機制,可檢測錯誤。
目前常用的定時方式包括:
(1)外接時序輸入,外圍有專門的時序模塊,由時序模塊引入通過硬件接口引入時序。不滿足特性(1),也有可能不滿足特性(3)與特性(4);
(2)本地硬件定時,使用專門的硬件定時器來實現定時。不滿足特性(2),可能不滿足特性(3);
(3)本地軟件定時,使用專門的軟件模塊來實現定時。不滿足特性(4)。
因此,需要簡單有效的定時及調度方案。
技術實現要素:
為克服以上常用方案存在的若干缺點,本發(fā)明提出了一種基于天線鏈路的特點來實現LTE物理層定時及實時調度的方案,在保證嚴格的空口定時時序的同時,節(jié)省了額外的軟硬件資源。
本發(fā)明所采用的技術方案提供一種基于天線接口的LTE基帶處理單元實時調度方法,包括以下步驟,
步驟1,建立天線接口相應鏈路,啟動數據傳輸;實現方式如下,
將天線接口相應發(fā)送和接收緩沖均設計成一個無線幀長的環(huán)形緩沖,同時,天線接口相應鏈路中關閉IQ數據以外所有數據,僅傳輸IQ數據;
對上行鏈路,DSP獲取到空口定時信號Ssync,發(fā)起天線接口相應鏈路建立時將無線幀的幀頭與Ssync對齊,建立上行鏈路,啟動上行數據接收,收取的數據存入上行環(huán)形接收緩沖;
對下行鏈路,DSP建立天線接口相應鏈路時參考空口定時信號Ssync進行無線幀的幀頭對齊,建立下行鏈路,按照固定的前向時延啟動下行數據發(fā)送,將天線接口與發(fā)送環(huán)形緩沖關聯(lián),天線接口從環(huán)形緩沖中取數,DSP只需要及時將下行數據寫入;
步驟2,天線接口相應鏈路建立后,建立空口時序定時,空口時序定時的最小單位為一個IQ點的時間長度;空口定時建立成功后,DSP能夠直接通過獲取到的IQ數量獲取任何定時信息;
步驟3,進行TTI時序校驗,包括由DSP通過計算IQ數量維護本地TTI號,根據預設的校驗周期與GPS定時信號做校驗,如果TTI更新一致,則進行后續(xù)處理,否則,天線接口相應鏈路時序有錯誤,重建天線接口相應鏈路,并向上層告警;
步驟4,獲得上下行定時及進行基帶業(yè)務處理,包括通過設定IQ門限得到相應的上下行定時,在相應的觸發(fā)時間點進行相關業(yè)務的處理。
而且,所述的IQ門限代表天線接口接收或者發(fā)送的IQ數據的數量。
而且,對于上行鏈路,IQ門限設置為n個符號長度,n≥1。
而且,對于下行鏈路,IQ門限設置為其中,Nadv為用IQ數量表示的提前量,tn為符號n的發(fā)送時刻,則是換算成IQ數量表示的符號n的發(fā)送時刻。
而且,提前量計算方式如下,
Nadv=(1-tadv)×30720=(1-tbe-k-tproc)×30720
其中,tadv、tbe、k、tproc時間單位均為毫秒,tadv代表每個符號的處理的提前量,tbe代表后端處理時間,k為時間余量,tproc為下行處理時限。
而且,所述天線接口為CPRI接口。
而且,預設的校驗周期為1秒。
本發(fā)明利用天線接口特性實現基帶處理單元的實時調度。由于創(chuàng)建天線接口鏈路時以GPS為同步基準,保證了DSP處理的定時時序跟空口時間嚴格對齊,直接通過天線接口上傳輸的IQ數量來實現定時而不需要外部定時輸入或本地的硬件定時器,節(jié)省了片外與本地的硬件與軟件資源,同時由于定時的來源是天線接口物理鏈路,保證了可靠的精度及穩(wěn)定性。由于定時的最小單位為IQ點,定時門限可設,可以靈活關聯(lián)到DSP基帶處理的各個時間點,適合用來控制調度時序,是一種有效的調度方法,在無線通信領域具有重要的市場價值。
附圖說明
圖1為本發(fā)明實施例的調度方法流程圖;
圖2為本發(fā)明實施例的可編程上下行定時及基帶業(yè)務處理流程圖;
圖3為本發(fā)明實施例1中的時序圖;
圖4為本發(fā)明實施例1中的時序圖;
圖5為本發(fā)明實施例2中的時序圖。
具體實施方式
下面結合實施例,對本發(fā)明的主要實現原理、具體實施方式及其能夠達到的有益效果進行詳細闡述。
由于CPRI是常用的天線數據接口,因此,本發(fā)明的實施例都是基于CPRI接口來進行闡述的,但是本發(fā)明的范圍不僅限于CPRI接口。本發(fā)明實施例提供的一種基于天線接口的LTE基帶處理單元實時調度方法,基本原理包括以下步驟,
步驟1,建立CPRI鏈路,啟動數據傳輸。將CPRI發(fā)送和接收緩沖均設計成一個無線幀長的環(huán)形緩沖,同時,CPRI鏈路中關閉IQ數據以外所有數據,僅傳輸IQ數據。
對上行鏈路,DSP通過GPS等方式獲取到空口定時信號Ssync,發(fā)起CPRI鏈路建立時將10ms的無線幀的幀頭與Ssync對齊,建立上行鏈路,啟動上行數據接收,收取的數據存入上行環(huán)形接收緩沖。
對下行鏈路,DSP建立CPRI鏈路時參考空口定時信號Ssync進行無線幀的幀頭對齊,建立下行鏈路,按照固定的前向時延啟動下行數據發(fā)送,將CPRI與發(fā)送環(huán)形緩沖關聯(lián),CPRI從環(huán)形緩沖中取數,DSP只需要及時將下行數據寫入即可。
步驟2,CPRI鏈路建立后,建立空口時序定時??湛跁r序定時的最小單位為一個IQ點的時間長度,為(1/30720)ms??湛诙〞r建立成功后,DSP可直接通過獲取到的IQ數量獲取任何定時信息,不需要由外部給任何定時通知,也無需由內部啟用專門的硬件定時器做定時,解放核資源。
步驟3,進行TTI時序校驗。DSP通過計算IQ數量維護本地TTI號,根據預設的校驗周期與GPS定時信號做校驗,如果TTI更新一致,則進行后續(xù)處理,否則,CPRI鏈路時序有錯誤,此時應該重建CPRI鏈路,并向上層告警。
步驟4,獲得上下行定時及進行基帶業(yè)務處理。設定IQ門限得到相應的上下行定時,在相應的觸發(fā)時間點進行相關業(yè)務的處理。
所述的IQ門限代表天線接口接收或者發(fā)送的IQ數據的數量;
所述的IQ門限設定,對于上行鏈路,本發(fā)明進一步提供的一種設置方法為:設置為n(n≥1)個符號長度,n的取值可以依據上行基帶處理的時延場景進行靈活設定。
所述的IQ門限設定,對下行鏈路,本發(fā)明進一步提供的一種設置方法為:門限設置為Nadv+Ntn,其中,Nadv為用IQ數量表示的提前量,tn為符號n的發(fā)送時刻,Ntn則是換算成IQ數量表示的符號n的發(fā)送時刻。Nadv=(1-tadv)*30720=(1-tbe-k-tproc)*30720,tadv、tbe、k、tproc時間單位均為毫秒,tadv代表每個符號的處理的提前量,tbe代表后端處理時間,k為時間余量,tproc為下行處理時限,表示物理層下行處理時間需小于tproc。下行的CPRI接收門限為:
所述基帶業(yè)務處理過程:根據設定的CPRI的IQ門限,獲取到相應的IQ數據,直接觸發(fā)進行相應的基帶業(yè)務處理。這種直接關聯(lián)不僅保證了時效性,也解放了軟核的資源。
本發(fā)明實施例以LTE 20M信號為例,實施例1說明LTE上行數據接收、定時、處理的方式,實施例2說明LTE下行定時、處理、發(fā)送的方式。
下面結合附圖1對本發(fā)明實施例1進行詳細說明,包括以下步驟:
步驟101,建立CPRI鏈路,啟動數據接收:以GPS信號為同步基準,創(chuàng)建上下行CPRI物理鏈路,建立收發(fā)環(huán)形緩沖,使能數據傳輸。
對上行鏈路,IQ數據的流向由外設到DSP,因此外設為CPRI連接中的REC,DSP為CPRI連接中的RE。
DSP可以通過GPS等方式獲取到空口定時信號Ssync,在發(fā)起CPRI鏈路建立時將10ms的無線幀的幀頭與Ssync對齊,建立上行鏈路,啟動數據接收。CPRI鏈路中關閉IQ數據以外所有數據,僅傳輸IQ數據。
將DSP的CPRI接收緩沖設計成環(huán)形緩沖,CPRI接收時往緩沖寫數據到尾端后,會自動跳轉到緩沖首端。環(huán)形緩沖設置成一個無線幀長,與LTE的幀格式一致,一個無線幀包括10個子幀,則接收IQ數據的數量為30720×10=307200,持續(xù)時間長度為10ms。
步驟102,建立空口時序定時:根據IQ數量獲取最小定時單位。
CPRI鏈路建立后,在不出現硬件錯誤的情況下必然以恒定的速率傳輸IQ數據,則接收每個IQ數據的時間間隔恒等于t_interval=(1/30720)ms,建立起空口時序定時,定時的最小單位為1個IQ的時長,即(1/30720)ms。
通過上述設計,DSP可直接通過獲取到的IQ數量獲取定時信息,不需要由外部給任何定時通知,也無需由內部啟用專門的硬件定時器做定時,解放核資源。
步驟103,TTI時序校驗:計算IQ數量維護本地TTI,每1秒依據GPS同步來校驗空口定時時序是否正常。
GPS的同步信號周期為1秒,可以以1秒為最小單位進行校驗,也可以以1秒的整數倍時間間隔做校驗,具體實施時可由本領域技術人員預先設定。本實施例設定校驗周期為1秒。
DSP通過計算IQ數量維護本地TTI號,記為dsp_tti。30720個IQ點的時長為1ms,每記錄30720個IQ點,dsp_tti更新1次。
每1秒與GPS定時信號做同步校驗,1秒鐘對應1000次TTI更新。因此,正常情況下,兩次校驗之間的dsp_tti更新次數為1000,如果不為1000,則DSP時序存在問題。
如果同步校驗正常,則進行后續(xù)處理,否則,此時,CPRI鏈路時序有錯誤,此時應該重建CPRI鏈路,并向上層告警。
步驟104,可編程上下行調度定時及基帶業(yè)務處理:結合上下行處理的調度時間節(jié)點,設置對應IQ數量門限,用門限到達來定時觸發(fā)上下行處理。
可編程調度定時,即可對空口時序IQ點進行計數產生任意調度定時信號,調度定時信號的時間點取決于CPRI的IQ門限設定,上下行調度定時可根據需求進行靈活的可編程設置。
由于調度定時信息是通過獲取到的IQ數量得到的,不需要由外部給任何定時通知,也無需由內部啟用專門的硬件定時器做定時,解放了核資源。
本實施例涉及的是上行數據接收、定時、處理的方式,因此本步驟闡述上行相關的內容。
上行調度定時是產生前端處理時的時序。上行解調處理則基于前者完成的時刻開始處理。
LTE的幀結構中,1個子幀分成14個符號,上行處理時,每個符號都要進行去CP、FFT的前端處理操作。對于前端處理可采用軟件或硬件方式實現,現在通常采用硬件方式(硬件模塊fft_Module)實現。CPRI接收端獲取到一定數量IQ數據直接觸發(fā)fft_Module進行相應的前端處理,這種直接關聯(lián)不僅保證了時效性,也解放了軟核的資源。
下面結合附圖2對步驟104進行詳細說明:
步驟201,設定CPRI接收端的IQ門限:
CPRI接收門限設置為n(n≥1)個符號長度,n的取值可以依據上行基帶處理的時延場景進行劃分,根據不同的時延要求進行CPRI接收端IQ門限n值的設定,進而得到上行處理的定時時間點。
下面分時延要求敏感和不敏感的兩種場景對IQ門限設定方法及有益效果進行近一步的闡述。
在對處理時延比較敏感的場景下,需要接收到1個OFDM符號就觸發(fā)相應的前端處理,因此,CPRI接收門限設置為1個符號長度。如附圖3所示,設定CPRI接收端的IQ門限值依次為:2208、4400、6592、8784、10976、13168、15360、17568、19760、21952、24144、26366、28528、30720。
在對處理時延不是特別敏感的場景下,將CPRI接收門限設置為n(n>1)個符號長度,這樣設置,一方面可以避免較多門限值導致設置復雜,另一方面避免fft_Module每次只處理一個符號效率較低。以n=6為例,將CPRI接收門限按照6個符號的長度進行設定。如附圖4所示,設定CPRI接收端的IQ門限值依次為:5120、10240、15360、20480、25600、30720。
步驟202,基帶業(yè)務處理:
根據CPRI接收端的IQ門限值,即可得到相應的上行定時,在相應的觸發(fā)時間點進行上行業(yè)務的處理。
特別的,在對處理時延比較敏感的場景下,按照實施例1中步驟201所述,CPRI接收門限按照1個符號的長度進行設定。如附圖3所示,Symbol_0表示接收到的符號0的數據(累計2208個IQ),Symbol_0緩沖地址表示符號0的接收緩沖,Symbol_0接收完成的時刻即為第1次觸發(fā)時間點,依次類推,Symbol_13表示接收到的符號13的數據(累計30720個IQ),Symbol_13緩沖地址表示符號13的接收緩沖,Symbol_13接收完成的時刻即為第14次觸發(fā)時間點。每到達一個門限值說明新接收到一個符號,此時CPRI接收端立刻觸發(fā)fft_Module對應的前端處理操作,1個TTI內總共有14個IQ門限值,對應14次上行定時,觸發(fā)相應的上行操作。
接收端收到一個符號就啟動一個符號的前端處理,完成后就通知軟核進行后續(xù)的上行解調等業(yè)務處理,處理任務的啟動及時,處理任務的結束點也比較早。
特別的,在對處理時延不是特別敏感的場景下,按照實施例1中步驟201所述,CPRI接收門限按照大于一個符號的長度進行設定,一個子幀做n(n>1)次前端處理。這樣處理,一方面可以避免較多門限值導致設置復雜,另一方面避免fft_Module每次只處理一個符號效率較低。
如附圖4所示,Symbol_0_1緩沖地址表示符號0與符號1的接收緩沖,Symbol_0&Symbol_1表示接收到的符號0與符號1的數據,接收完5120個IQ即為第1次觸發(fā)時間點,依次類推,Symbol_11_12_13緩沖地址表示符號11、符號12與符號13的接收緩沖,Symbol_11&Symbol_12&Symbol_13表示接收到的符號11、符號12與符號13的數據,接收完30720個IQ即為第6次觸發(fā)時間點。每次接收到30720/6=5120個IQ數據就觸發(fā)fft_Module對應的前端處理操作,1個TTI內總共有6個IQ門限值,對應6次上行定時,觸發(fā)相應的上行操作。這種設定下,每次收到的IQ數據無法同符號正好匹配,每次處理可能會余下一部分IQ數據與下一次接收到的IQ數據合并,一起進行處理。在n=6的情況下,6次處理依次進行2、2、3、2、2、3個符號的處理。
fft_Module在完成前端處理后會觸發(fā)中斷到軟核,通知相關符號的前端處理完成。軟核在獲取到相關符號前端處理完成的通知后開始后續(xù)的處理。以PUSCH的處理為例,符號3完成后進行時隙0的信道估計,符號10完成后進行時隙1的信道估計、測量,在時隙1的信道估計完成并且符號13完成后,可以進行均衡處理等。
采用這種一個子幀做n次前端處理的方式,軟核的中斷比較少,一些前端處理之后的處理流程也可以做合并,處理流程的執(zhí)行效率更高。
下面結合附圖1對本發(fā)明實施例2進行詳細說明,包括以下步驟:
步驟101,建立CPRI鏈路,啟動數據發(fā)送:
對下行鏈路,IQ數據的流向由DSP到外設,因此,DSP為CPRI連接中的REC,外設為CPRI連接中的RE。
DSP建立CPRI鏈路時參考空口定時信號Ssync進行無線幀的幀頭對齊,建立下行鏈路,按照固定的前向時延啟動下行數據發(fā)送。DSP的CPRI發(fā)送緩沖設計成環(huán)形緩沖,CPRI從環(huán)形緩沖中讀數進行發(fā)送,讀到尾端后會自動跳轉到緩沖首端,DSP只需要及時將下行數據寫入即可。環(huán)形緩沖設置成一個無線幀長,與LTE的幀格式一致,一個無線幀包括10個子幀,則接收IQ數據的數量為30720×10=307200,持續(xù)時間長度為10ms。
步驟102,建立空口時序定時:
CPRI鏈路建立后,在不出現硬件錯誤的情況下必然以恒定的速率傳輸IQ數據,則接收每個IQ數據的時間間隔恒等于t_interval=(1/30720)ms,建立起空口時序定時,定時的最小單位為1個IQ的時長,即(1/30720)ms。
通過上述設計,DSP可直接通過獲取到的IQ數量獲取定時信息,不需要由外部給任何定時通知,也無需由內部啟用專門的硬件定時器做定時,解放核資源。
步驟103,TTI時序校驗:
DSP通過計算IQ數量維護本地TTI號,記為dsp_tti。30720個IQ點的時長為1ms,每記錄30720個IQ點,dsp_tti更新1次。
每1秒與GPS定時信號做同步校驗,1秒鐘對應1000次TTI更新。因此,正常情況下,兩次校驗之間的dsp_tti更新次數為1000,如果不為1000,則DSP時序存在問題。
如果同步校驗正常,則進行后續(xù)處理,否則,此時,CPRI鏈路時序有錯誤,此時應該重建CPRI鏈路,并向上層告警。
步驟104,可編程上下行定時及基帶業(yè)務處理:
可編程調度定時,即可對空口時序IQ點進行計數產生任意調度定時信號,調度定時信號的時間點取決于CPRI的IQ門限設定,上下行調度定時可根據需求進行靈活的可編程設置。
由于調度定時信息是通過獲取到的IQ數量得到的,不需要由外部給任何定時通知,也無需由內部啟用專門的硬件定時器做定時,解放了核資源。
本實施例涉及的是下行定時、處理、發(fā)送的方式,因此本步驟只闡述下行相關的內容。
下行定時是產生后端處理時的時序,以及通過該時序約束下行處理的時間。
LTE的幀結構中,1個子幀分成14個符號,下行處理時,每個符號都要進行IFFT、添加CP的后端處理操作。對于后端處理可采用軟件或硬件方式實現,現在通常采用硬件方式(硬件模塊ifft_Module)實現。累計到一定數量數據直接觸發(fā)ifft_Module進行相應的后端處理,這種直接關聯(lián)不僅保證了時效性,也解放了軟核的資源。
下面結合附件圖2對步驟104進行詳細說明:
步驟201,設定CPRI發(fā)送端的IQ門限:
下行處理對時序要求高,每個符號發(fā)送的時間點tn是確定的,需要嚴格按照時序約束進行IQ門限的設定。
門限設置為Nadv+Ntn,其中,Nadv為用IQ數量表示的提前量,tn為符號n的發(fā)送時刻,Ntn則是換算成IQ數量表示的符號n的發(fā)送時刻。Nadv=(1-tadv)×30720=(1-tbe-k-tproc)×30720,tadv、tbe、k、tproc時間單位均為毫秒,tadv代表每個符號的處理的提前量,tbe代表后端處理時間,k為時間余量,tproc為下行處理時限,表示物理層下行處理時間需小于tproc。下行的CPRI接收門限為:
下面對下行CPRI接收門限的設定方法做進一步說明:
CPRI鏈路建立后,CPRI速率恒定,因此,每個符號發(fā)送的時間點確定。若符號0在時刻發(fā)送,則符號1會在Nt1=(2048+160)×t_interval發(fā)送,以此類推,符號2會在發(fā)送,這里構成時間約束關系,符號0的IQ數據必須在時刻之前(位于上個1ms定時區(qū)間內)準備就緒,符號1的IQ數據必須在時刻前準備就緒,符號2的IQ數據必須在時刻前準備就緒。
后端處理(IFFT+CP)由硬件模塊ifft_Module完成,耗費時間為tbe,因此,符號n須在tn-tbe時刻前開始后端處理,可以設置ifft_Module在時間點Tn=tn-tbe-k(k為時間余量)自動去取符號n的載波數據進行后端處理,這個步驟嚴格按照時序進行,不關心符號n的載波數據是否更新完成。因此,后端處理前的環(huán)節(jié)需要保證符號n在Tn前映射到每個子載波上,否則符號n空口數據會出錯。
根據對下行鏈路的測試,可以為下行的處理設置一個處理時限tproc,因此每個符號的處理的提前量是tadv=tbe+k+tproc,符號n需要在時間點Kn=tn-tadv=tn-1+1-tadv開始處理,換算成IQ數量為Nadv=(1-tadv)*30720,可以設置CPRI在發(fā)送IQ的數量為以下數值時觸發(fā)中斷啟動相應符號的處理任務:如附圖5所示,Nadv為觸發(fā)符號1處理的時間點,Nadv+2208為觸發(fā)符號2處理的時間點,依次類推,特別的,Nadv+28528為觸發(fā)符號0處理的時間點。
步驟202,基帶業(yè)務處理:
設定好CPRI接收端的IQ門限值,即可得到相應的下行定時,在相應的觸發(fā)時間點進行下行業(yè)務的處理。
按照實施例2中的步驟201所述,CPRI接收門限按照長度進行設定。如附圖5所示,每到達一個門限值時觸發(fā)中斷啟動相應符號的處理任務。CPRI接收端獲取到一定數量IQ數據直接觸發(fā)ifft_Module進行相應的后端處理,這種直接關聯(lián)不僅保證了時效性,也解放了軟核的資源。
本方法利用天線接口特性實現基帶處理單元的實時調度。由于創(chuàng)建CPRI鏈路時以GPS為同步基準,保證了DSP處理的定時時序跟空口時間嚴格對齊,直接通過CPRI上傳輸的IQ數量來實現定時而不需要外部定時輸入或本地的硬件定時器,節(jié)省了片外與本地的硬件與軟件資源,同時由于定時的來源是CPRI物理鏈路,保證了可靠的精度及穩(wěn)定性。由于定時的最小單位為IQ點,定時門限可設,可以靈活關聯(lián)到DSP基帶處理的各個時間點,適合用來控制調度時序,是一種有效的調度方法。