本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種算法重構(gòu)裝置及方法。
背景技術(shù):
目前,軟件定義的無線電(英文全稱:softwaredefinedradio,英文簡稱:sdr)通用平臺的可重構(gòu)方案主要實(shí)現(xiàn)方式是局部動態(tài)可重構(gòu)技術(shù),即通過對具有專門緩存邏輯資源的現(xiàn)場可編程門陣列(英文全稱:field-programmablegatearray,英文簡稱:fpga)進(jìn)行局部芯片邏輯的重新配置而實(shí)現(xiàn)重構(gòu)。該實(shí)現(xiàn)方案主要包括頂層模塊設(shè)計(jì)和綜合、靜態(tài)模塊的設(shè)計(jì)與綜合以及各重配置子模塊的設(shè)計(jì)和綜合等,實(shí)現(xiàn)過程相對比較復(fù)雜,開發(fā)難度較大,成本過高。
采用公共對象請求代理體系結(jié)構(gòu)(英文全稱:commonobjectrequestbrokerarchitecture,英文簡稱:corba)軟總線的方式也是目前sdr通用平臺為實(shí)現(xiàn)可重構(gòu)常用的解決方案之一,由于像fpga、數(shù)字信號處理器(英文全稱:digitalsignalprocessor,英文簡稱:dsp)這種專用處理器目前被認(rèn)為不支持corba規(guī)范,主控板可以通過調(diào)制解調(diào)器硬件抽象層(英文全稱:modemhardwareabstractionlayer,英文簡稱:mhal)提供的通信服務(wù)將dsp/fpga等作為一個組件與之通信,也就是半corba結(jié)構(gòu),但是這也限制了整個軟件無線電平臺的可重構(gòu)能力。采用corba中間件的形式,僅僅對底層的基帶處理模塊、射頻模塊進(jìn)行調(diào)用,在一定程度上解決了功能可重構(gòu)的問題,但是整個算法文件還是跑在fpga、dsp中,顆粒度比較大,可重構(gòu)的靈活性太差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種算法重構(gòu)裝置及方法以解決現(xiàn)有技術(shù)存在的算法顆粒度大、系統(tǒng)可重構(gòu)靈活性差的問題。為了對披露的實(shí)施例的一些方面有一個基本的理解,下面給出了簡單的概括。該概括部分不是泛泛評述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實(shí)施例的保護(hù)范圍。其唯一目的是用簡單的形式呈現(xiàn)一些概念,以此作為后面的詳細(xì)說明的序言。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供了一種算法重構(gòu)裝置,包括:上位機(jī)模塊,軟件通信體系框架(英文全稱:servicecomponentarchitecture,英文簡稱:sca)中間層模塊、基帶處理模塊和射頻模塊;所述上位機(jī)模塊,用于將算法分類成至少兩個子算法;所述sca中間層模塊,用于運(yùn)行sca;所述sca對應(yīng)所述子算法建立波形應(yīng)用組件,每個所述波形應(yīng)用組件用于加載對應(yīng)的所述子算法;所述上位機(jī)模塊,還用于配置所述波形應(yīng)用組件到自身,所述sca中間層模塊,所述基帶處理模塊和所述射頻模塊中的至少兩個。
可選地,所述子算法包括:可配置算法,通用功能算法和可配置參數(shù)算法。
可選地,所述上位機(jī)模塊還用于對所述可配置參數(shù)算法進(jìn)行參數(shù)配置。
可選地,所述波形應(yīng)組件包括:可配置算法波形應(yīng)用組件、通用功能算法波形應(yīng)用組件和可配置參數(shù)算法波形應(yīng)用組件。
可選地,所述可配置算法波形應(yīng)用組件配置在所述上位機(jī)模塊和sca中間層模塊;所述功能算法波形應(yīng)用組件配置在所述基帶處理模塊;所述可配置參數(shù)波形應(yīng)用組件配置在所述基帶處理模塊和所述射頻模塊。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種算法重構(gòu)方法,包括:上位機(jī)模塊將算法分類成至少兩個子算法;sca中間層模塊運(yùn)行sca,對應(yīng)所述子算法建立波形應(yīng)用組件,每個所述波形應(yīng)用組件用于加載對應(yīng)的所述子算法;所述上位機(jī)模塊配置所述波形應(yīng)用組件到自身,所述sca中間層模塊,所述基帶處理模塊和所述射頻模塊中的至少兩個。
可選地,所述子算法包括:可配置算法,通用功能算法和可配置參數(shù)算法。
可選地,還包括:所述上位機(jī)模塊對所述可配置參數(shù)算法進(jìn)行參數(shù)配置。
可選地,所述波形應(yīng)組件包括:可配置算法波形應(yīng)用組件,通用功能算法波形應(yīng)用組件和可配置參數(shù)算法波形應(yīng)用組件。
可選地,所述可配置算法波形應(yīng)用組件配置在所述上位機(jī)模塊和sca中間層模塊;所述功能算法波形應(yīng)用組件配置在所述基帶處理模塊;所述可配置參數(shù)波形應(yīng)用組件配置在所述基帶處理模塊和所述射頻模塊。
本發(fā)明實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
上位機(jī)模塊將算法進(jìn)行分類成至少兩個子算法,sca中間層模塊對應(yīng)子算法建立波形應(yīng)用組件,上位機(jī)模塊將波形應(yīng)用組件配置在上位機(jī)模塊,sca中間層模塊、基帶處理模塊和射頻模塊中至少兩個模塊上,算法的顆粒度較小,底層的基帶處理模塊、射頻模塊運(yùn)行壓力減小,提高系統(tǒng)可重構(gòu)的靈活性。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種算法重構(gòu)裝置的結(jié)構(gòu)示意圖;
圖2是根據(jù)一示例性實(shí)施例示出的一種算法重構(gòu)裝置的結(jié)構(gòu)示意圖;
圖3是根據(jù)一示例性實(shí)施例示出的一種算法重構(gòu)方法的框圖;
圖4是根據(jù)一示例性實(shí)施例示出的一種算法重構(gòu)方法的框圖。
具體實(shí)施方式
以下描述和附圖充分地示出本發(fā)明的具體實(shí)施方案,以使本領(lǐng)域的技術(shù)人員能夠?qū)嵺`它們。實(shí)施例僅代表可能的變化。除非明確要求,否則單獨(dú)的部件和功能是可選的,并且操作的順序可以變化。一些實(shí)施方案的部分和特征可以被包括在或替換其他實(shí)施方案的部分和特征。本發(fā)明的實(shí)施方案的范圍包括權(quán)利要求書的整個范圍,以及權(quán)利要求書的所有可獲得的等同物。在本文中,各實(shí)施方案可以被單獨(dú)地或總地用術(shù)語“發(fā)明”來表示,這僅僅是為了方便,并且如果事實(shí)上公開了超過一個的發(fā)明,不是要自動地限制該應(yīng)用的范圍為任何單個發(fā)明或發(fā)明構(gòu)思。本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用于將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不要求或者暗示這些實(shí)體或操作之間存在任何實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素本文中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的結(jié)構(gòu)、產(chǎn)品等而言,由于其與實(shí)施例公開的部分相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
sca是基于corba制定的軟件無線電軟件協(xié)議和相應(yīng)技術(shù)標(biāo)準(zhǔn),通過corba規(guī)范實(shí)現(xiàn)了軟件總線,為各軟件模塊之間進(jìn)行數(shù)據(jù)傳輸與聯(lián)系提供的虛擬公共通道和接口。
sca定義了一個實(shí)現(xiàn)獨(dú)立、開放的軟件框架,支持軟件開發(fā)的基本需求,包括了開發(fā)軟件的接口規(guī)范、應(yīng)用編程接口、行為規(guī)范和準(zhǔn)則。本發(fā)明的實(shí)施例根據(jù)sca提供的標(biāo)準(zhǔn)架構(gòu)來抽象通用硬件平臺,通過模塊化、標(biāo)準(zhǔn)化的方式來克服算法重構(gòu)顆粒度較大的問題。通過將對應(yīng)子算法的波形應(yīng)用組件分布在整個裝置不同的模塊上,降低算法的顆粒度,使通用平臺可以根據(jù)功能需求去切換其中至少兩個模塊,也可以對某一個或某幾個參數(shù)進(jìn)行動態(tài)配置,達(dá)到算法重構(gòu)的目的。
參閱圖1,為本發(fā)明實(shí)施例提供的算法重構(gòu)裝置的結(jié)構(gòu)示意圖。包括上位機(jī)模塊1100,sca中間層模塊1200、基帶處理模塊1300和射頻模塊1400。
上位機(jī)模塊1100,用于將算法分類成至少兩個子算法。
sca中間層模塊1200,用于運(yùn)行sca,所述sca對應(yīng)上位機(jī)模塊1100分類后得到的子算法建立波形應(yīng)用組件,用以加載對應(yīng)的子算法。
波形應(yīng)用組件被配置到上位機(jī)模塊1100,sca中間層模塊1200,基帶處理模塊1300和射頻模塊1400中的至少兩個模塊。將算法分散在系統(tǒng)的多個模塊中,減小傳統(tǒng)的單一模塊底層的基帶處理模塊或射頻模塊加載算法的壓力,提高系統(tǒng)重構(gòu)的靈活性。
本實(shí)施例提供的裝置,上位機(jī)模塊將算法進(jìn)行分類成至少兩個子算法,sca中間層模塊對應(yīng)子算法建立波形應(yīng)用組件,上位機(jī)模塊將波形應(yīng)用組件配置在上位機(jī)模塊,sca中間層模塊、基帶處理模塊和射頻模塊中至少兩個模塊上,算法的顆粒度較小,底層的基帶處理模塊、射頻模塊運(yùn)行壓力減小,提高系統(tǒng)可重構(gòu)的靈活性。
在一些實(shí)施例中,如圖2所示,為多個算法在算法重構(gòu)裝置的分布示意圖。算法重構(gòu)裝置包括上位機(jī)模塊1100,sca中間層模塊1200、基帶處理模塊1300和射頻模塊1400。
裝置中的上位機(jī)模塊1100與sca中間層模塊1200基于corba規(guī)范的接口通過局域網(wǎng)(英文全稱:localareanetwork,英文簡稱:lan)總線進(jìn)行通信,sca中間層模塊1200、基帶處理模塊1300和射頻模塊1400通過cpci總線進(jìn)行通信。
上位機(jī)模塊1100,將算法費(fèi)累成多個子算法。子算法種類包括:可配置算法,通用功能算法和可配置參數(shù)算法,每類子算法可為一個或多個。其中,根據(jù)算法可配置要求,可配置算法中對算法數(shù)據(jù)進(jìn)行處理的部分算法,需由上位機(jī)模塊1100加載,對可重構(gòu)要求比較高的算法模塊,由sca中間層模塊1200加載。通用功能算法由基帶處理模塊1300加載??膳渲脜?shù)算法在裝置工作過程中參數(shù)變化比較多,由基帶處理模塊1300和射頻模塊1400加載。裝置工作過程中需要修改接收的帶寬、接收的頻點(diǎn)或其他修改配置參數(shù)的操作,通過上位機(jī)可直接對可配置參數(shù)算法進(jìn)行動態(tài)的參數(shù)配置,完成算法重構(gòu)。
sca中間層模塊1200,用于為上位機(jī)模塊1100和基帶處理模塊1300,上位機(jī)模塊1200和射頻模塊1400之間的通信提供標(biāo)準(zhǔn)接口。sca中間層模塊1200是通過建模軟件spectracx建立的sca中間層的模型,以xml文件和.out文件的形式部署在powerpc上。波形應(yīng)用組件是在sca中間層模塊1200建立過程針對多個子算法抽象出的軟件組件。子算法與波形應(yīng)用組件具有一一對應(yīng)關(guān)系,每個子算法對應(yīng)一個波形應(yīng)用組件。波形應(yīng)用組件分布在上位機(jī)模塊1100,主控制模塊1200、基帶處理模塊1300和射頻模塊1400。波形應(yīng)用組件包括可配置算法波形應(yīng)用組件、功能算法波形應(yīng)用組件和可配置參數(shù)波形應(yīng)用組件。對應(yīng)子算法的加載位置進(jìn)行分布。裝置中各個模塊對子算法的加載,由波形應(yīng)用組件加載完成。
基帶處理模塊1300,用于加載通用功能算法和可配置參數(shù)算法?;鶐幚砟K1300,包括fpga芯片和dsp芯片,通用功能算法,由基帶處理模塊1300加載的部分可配置參數(shù)算法由編寫專用處理器算法的軟件寫成對應(yīng)的文件(如對應(yīng)fpga的是.bit文件,對應(yīng)dsp的是.out文件),由sca中間層模塊1200通過標(biāo)準(zhǔn)接口調(diào)用驅(qū)動將對應(yīng)的子算法加載到對應(yīng)的芯片中,由對應(yīng)的波形應(yīng)用組件加載。
本實(shí)施例提供的裝置,上位機(jī)模塊將算法進(jìn)行分類成至少兩個子算法,sca中間層模塊對應(yīng)子算法建立波形應(yīng)用組件,上位機(jī)模塊將波形應(yīng)用組件配置在上位機(jī)模塊,sca中間層模塊、基帶處理模塊和射頻模塊中至少兩個模塊上,算法的顆粒度較小,底層的基帶處理模塊、射頻模塊運(yùn)行壓力減小,提高系統(tǒng)可重構(gòu)的靈活性。
以下結(jié)合通信系統(tǒng)中的具體實(shí)施例對算法重構(gòu)裝置進(jìn)行描述。將軟件功能算法分成可配置算法、通用功能算法和可配置參數(shù)算法。通用功能算法對應(yīng)在通信系統(tǒng)中的脈沖調(diào)制、帶通調(diào)制、解調(diào)和采樣等基本功能項(xiàng);可配置算法對應(yīng)通信系統(tǒng)中信源編碼、信道編碼、頻率擴(kuò)展等可選功能項(xiàng);可配置參數(shù)算法對應(yīng)通信系統(tǒng)中如射頻模塊的接收頻率、接收帶寬等可修改參數(shù)。
通用功能算法由編寫專用處理器算法的軟件寫成對應(yīng)的文件(如對應(yīng)fpga的是.bit文件,對應(yīng)dsp的是.out文件),加載到基帶處理模塊1300中的fpga或dsp芯片上。
可配置算法主要分布在上位機(jī)模塊1100和sca中間層模塊1200。首先將可配置算法分為正交相移鍵控(英文全稱:quadraturephaseshiftkeyin,英文簡稱:qpsk),fm等幾個波形算法,根據(jù)算法可配置要求,分解為兩部分,一部分為對算法數(shù)據(jù)進(jìn)行處理的軟件功能算法分布在上位機(jī)模塊1100,另一部分為對可重構(gòu)要求比較高的軟件功能算法分布在sca中間層模塊。
以調(diào)頻(英文全稱:frequencymodulation,英文簡稱:fm)的接收算法為例,將對應(yīng)fm信號的下變頻、抽取、解調(diào)這幾部分小顆粒度算法放在基帶處理模塊1300上實(shí)現(xiàn)。
可配置參數(shù)算法由射頻模塊1400和基帶處理模塊1300加載。根據(jù)軟件功能算法實(shí)現(xiàn)的需要,將指定的參數(shù)通過上位機(jī)模塊1100的控制動態(tài)的配置給射頻模塊1400或基帶處理模塊1300,使整個算法的可重構(gòu)顆粒度更小,更加完善。
以fm信號的接收為例,信號接收過程中需要修改接收的帶寬及接收的頻點(diǎn),通過上位機(jī)模塊1100可直接進(jìn)行動態(tài)的參數(shù)配置,完成系統(tǒng)算法的重構(gòu)。
射頻模塊1400是射頻的接收與發(fā)射模塊,射頻模塊1400的頻點(diǎn)和帶寬可配置。
與前述裝置實(shí)施例相對應(yīng),參見圖3,本發(fā)明實(shí)施例提供的一種算法重構(gòu)方法包括如下步驟。
步驟s301,上位機(jī)模塊將算法分類成至少兩個子算法。
上位機(jī)模塊將算法分類成至少兩個子算法,降低運(yùn)算復(fù)雜程度,提高系統(tǒng)算法重構(gòu)能力。
步驟s302,sca中間層模塊運(yùn)行sca,對應(yīng)所述子算法建立波形應(yīng)用組件,每個所述波形應(yīng)用組件用于加載對應(yīng)的所述子算法。
步驟s303,所述上位機(jī)模塊配置所述波形應(yīng)用組件到自身,所述sca中間層模塊,所述基帶處理模塊和所述射頻模塊中的至少兩個。
波形應(yīng)用組件被配置到上位機(jī)模塊,sca中間層模塊,基帶處理模塊和射頻模塊中的至少兩個模塊。將算法分散在系統(tǒng)的多個模塊中,減小傳統(tǒng)的單一模塊底層的基帶處理模塊或射頻模塊加載算法的壓力,提高系統(tǒng)重構(gòu)的靈活性。
本發(fā)明實(shí)施例提供的算法重構(gòu)方法,上位機(jī)模塊將算法進(jìn)行分類成至少兩個子算法,sca中間層模塊對應(yīng)子算法建立波形應(yīng)用組件,上位機(jī)模塊將波形應(yīng)用組件配置在上位機(jī)模塊,sca中間層模塊、基帶處理模塊和射頻模塊中至少兩個模塊上,算法的顆粒度較小,底層的基帶處理模塊、射頻模塊運(yùn)行壓力減小,提高系統(tǒng)可重構(gòu)的靈活性。
在理一些實(shí)施例中,參見圖4,算法重構(gòu)方法包括。
步驟s401,上位機(jī)模塊將算法分類成至少兩個子算法。
上位機(jī)模塊將算法分類成至少兩個子算法,降低運(yùn)算復(fù)雜程度,提高系統(tǒng)算法重構(gòu)能力。子算法包括:可配置算法,通用功能算法和可配置參數(shù)算法。其中,根據(jù)算法可配置要求,可配置算法中對算法數(shù)據(jù)進(jìn)行處理的部分算法,需由上位機(jī)模塊加載,對可重構(gòu)要求比較高的算法模塊,由sca中間層模塊加載。通用功能算法由基帶處理模塊加載。可配置參數(shù)算法在裝置工作過程中參數(shù)變化比較多,由基帶處理模塊和射頻模塊加載。裝置工作過程中需要修改接收的帶寬或接收的頻點(diǎn),通過上位機(jī)可直接對可配置參數(shù)算法進(jìn)行動態(tài)的參數(shù)配置,完成算法重構(gòu)。
步驟s402,sca中間層模塊運(yùn)行sca,對應(yīng)所述子算法建立波形應(yīng)用組件,每個所述波形應(yīng)用組件用于加載對應(yīng)的所述子算法。
步驟s403,所述上位機(jī)模塊配置所述波形應(yīng)用組件到自身,所述sca中間層模塊,所述基帶處理模塊和所述射頻模塊中的至少兩個。
波形應(yīng)用組件是在sca中間層模塊建立過程針對多個子算法抽象出的軟件組件。子算法與波形應(yīng)用組件具有一一對應(yīng)關(guān)系,每個子算法對應(yīng)一個波形應(yīng)用組件。波形應(yīng)用組件分布在上位機(jī)模塊,主控制模塊、基帶處理模塊和射頻模塊。波形應(yīng)用組件包括可配置算法波形應(yīng)用組件、功能算法波形應(yīng)用組件和可配置參數(shù)波形應(yīng)用組件。對應(yīng)子算法的加載位置進(jìn)行分布。裝置中各個模塊對子算法的加載,由波形應(yīng)用組件加載完成。波形應(yīng)用組件被配置到上位機(jī)模塊,sca中間層模塊,基帶處理模塊和射頻模塊中的至少兩個模塊。將算法分散在系統(tǒng)的多個模塊中,減小傳統(tǒng)的單一模塊底層的基帶處理模塊或射頻模塊加載算法的壓力,提高系統(tǒng)重構(gòu)的靈活性。
步驟s404,所述上位機(jī)模塊對所述可配置參數(shù)算法進(jìn)行參數(shù)配置。
裝置工作過程中需要修改接收的帶寬、接收的頻點(diǎn)或其他修改配置參數(shù)的操作,通過上位機(jī)可直接對可配置參數(shù)算法進(jìn)行動態(tài)的參數(shù)配置,完成算法重構(gòu)。
本實(shí)施例提供的算法重構(gòu)方法,上位機(jī)模塊將算法進(jìn)行分類成至少兩個子算法,sca中間層模塊對應(yīng)子算法建立波形應(yīng)用組件,上位機(jī)模塊將波形應(yīng)用組件配置在上位機(jī)模塊,sca中間層模塊、基帶處理模塊和射頻模塊中至少兩個模塊上,算法的顆粒度較小,底層的基帶處理模塊、射頻模塊運(yùn)行壓力減小,提高系統(tǒng)可重構(gòu)的靈活性。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的流程及結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。