<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

作者: 時(shí)間:2016-10-16 來(lái)源:網(wǎng)絡(luò ) 收藏

以交通流的集總行為為研究對象,描述了交通流的空間分布及隨時(shí)間變化的規律,能較精確地描述交通流的真實(shí)行為,不僅是交通自動(dòng)控制系統設計、分析、仿真決策的基礎,也是交通預報和評價(jià)某些交通設施設計所需要的。其中,希臘學(xué)者M(jìn)arkos Papageorgiou所提出的Papageorgiou模型,能夠以較小的計算量和滿(mǎn)意的精度描述車(chē)道數目單一、出入匝道無(wú)特大流量沖擊的交通狀況而廣泛應用。

本文引用地址:http://dyxdggzs.com/article/201610/308310.htm

對交通流模型進(jìn)行在線(xiàn)仿真,或驗證某算法對實(shí)際道路的控制效果時(shí),有時(shí)由于交通數據龐大或控制算法過(guò)于復雜,往往消耗大量機時(shí)。尤其在外場(chǎng)環(huán)境下操作,工控機不僅體積、功耗龐大,還易出現工作失常的現象,在交通控制的實(shí)際應用中表現欠佳。FPGA技術(shù)高速、低成本、小型化的優(yōu)勢使其理論研究與實(shí)際應用成為炙手可熱的研究課題,目前已經(jīng)完全具備數據運算、信息處理、濾波計算等功能,常常使一些原來(lái)比較難解決的技術(shù)瓶頸得以輕松實(shí)現,從而使產(chǎn)品的可移植性增強,開(kāi)發(fā)周期大為縮短,性?xún)r(jià)比大幅提高,同時(shí)FPGA可以實(shí)現純硬件浮點(diǎn)運算功能,克服定點(diǎn)數據對高精度、數據范圍較大的運算無(wú)能為力的缺陷,更適合科學(xué)與工程計算。因此本文采用浮點(diǎn)數在FPGA上實(shí)現Papa georgiou模型的仿真。

1 高速公路交通流宏觀(guān)動(dòng)態(tài)模型

又稱(chēng)為交通流連續介質(zhì)模型,它通過(guò)對單向運動(dòng)的交通流在某時(shí)刻t在某一位置x的有關(guān)變量來(lái)把握交通的本質(zhì)。各研究組織所提出多種形式交通流模型,其間主要差別在于交通流量、車(chē)輛平均速度和車(chē)流密度的關(guān)系的表征,以及上下游交通相互作用的描述形式。為了簡(jiǎn)化模型使其便于應用在實(shí)際中,通常根據高速公路幾何形狀和交通狀態(tài)將其劃分成若干路段,路段可不等距劃分,但應保證每段路段車(chē)道數目相同,至多有一個(gè)入口、一個(gè)出口,每個(gè)路段的幾何形狀大致相似,每個(gè)路段內的交通狀態(tài)近似均一,Papageorgiou模型也采用如圖1所示的分段方式:

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

基于上述高速公路的分段方式,其數學(xué)表達式如式(1)~(4)所示:

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

式(1)~(4)分別是動(dòng)態(tài)流量模型、動(dòng)態(tài)交通流密度模型、動(dòng)態(tài)速度模型和速一密關(guān)系模型,各符號含義見(jiàn)文獻。上述模型涉及到了加減乘除及冪運算,目前Quartus II中有公開(kāi)的浮點(diǎn)數運算IP核可實(shí)現加減乘除運算,但式(4)中出現有底數、指數可能均為浮點(diǎn)數的冪運算。本文根據所選參數進(jìn)行多項式擬合,將所有運算均限定在加減乘除的浮點(diǎn)數運算范圍內。

2 16位自定義浮點(diǎn)數數據格式

Quartus II軟件自帶的IP核的輸入輸出數據采用IEEE754單精度32位浮點(diǎn)數格式,其數據結構表示如下:

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

其中S為1位符號位,E為8位階碼位,M為尾數的24位小數位。調用QuartusII浮點(diǎn)數運算IP核實(shí)現加減乘除的操作,其資源消耗依次為加減運算消耗LE單元個(gè)數均為1 497,消耗嵌入式乘法器個(gè)數均為0:乘除運算消耗LE單元個(gè)數分別為809、3345,消耗嵌入式乘法器個(gè)數分別為0、7。對一個(gè)路段進(jìn)行仿真時(shí),至少需要6次加法、7次減法、12次乘法、4次除法,僅實(shí)現加減乘除運算所消耗FPGA邏輯資源已蔚為壯觀(guān),若要仿真多個(gè)路段,將付出巨大的硬件成本,甚至無(wú)法實(shí)現,因此本文在IEEE754浮點(diǎn)數格式的基礎上采用自定義16位浮點(diǎn)數格式,編寫(xiě)浮點(diǎn)運算模塊,盡量減少FPGA資源的消耗,其數據結構為:

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

其中S為1位符號位,E為6位階碼位,M為尾數的9位小數位,隱藏整數位1,其表示的數據值下式所示:

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

上式中,當S為0時(shí),A為正數,當S為1時(shí),A為負數;E-31為浮點(diǎn)數的指數,指數可在2-31到231之間變化;尾數采用原碼表示,整數部分1為缺省值,不在上述格式中表示;0在上述格式中,階碼和尾數均為0,符號位可以是任意值。為方便說(shuō)明自定義浮點(diǎn)數的運算過(guò)程,設有兩個(gè)浮點(diǎn)數是a和b,其數據格式如式(6)所示。

2.1 自定義16位浮點(diǎn)數加法和減法運算

浮點(diǎn)數加、減法的操作過(guò)程相似,流程圖如圖2所示。

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

1)對階操作:在兩數尾數的小數部分的高位補1,比較兩數的階碼是否相同。若相同,直接進(jìn)入第2)步;若不同,比較兩個(gè)數的階碼大小,令階碼小的尾數連同高位補的1向右移位,右移的尾數等于階差的絕對值;

2)符號位操作:加法運算,若兩數符號相同,則符號位同兩加數;若兩加數符號相異,符號位由絕對值較大的加數決定。減法運算,被減數和減數的符號相異,則兩數的絕對值相加;兩數符號相同,則兩數相減再取絕對值。結果的符號位取被減數的符號位(當被減數的絕對值較大時(shí))或者是減數的符號位取反(當減數的絕對值較大時(shí));

3)歸一化操作:若步驟1)和2)所得結果為非規格化數,找出運算結果的最高位1,由高至低依次將其后部分存入最終結果,階碼做相應的調整。

2.2 自定義16位浮點(diǎn)數乘法和除法運算

浮點(diǎn)數的乘法運算按照以下步驟進(jìn)行,其算法流程圖如圖3所示。

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

1)判0操作:乘法運算,檢查兩乘數是否有0,若有,結果為0。除法運算,檢查被除數是否為0,若為0,結果為0。

2)符號位操作:對兩數的符號位進(jìn)行異或操作,確定結果的符號位。

3)階碼操作:乘法運算,乘積的階碼是(Ea+Eb-31+修正項);除法運算,商的階碼是(Ea-Eb+31+修正項)。修正項的值由4)中非規格化數調整為規格化數進(jìn)行的移位個(gè)數決定。

4)尾數操作:乘法運算,兩乘數尾數的小數部分的高位補1后相乘,得到乘積的20位初始尾數d;除法運算,被除數和除數尾數的小數部分的高位均補1,對1.Ma和1.Mb進(jìn)行相除操作,令d=1.Ma÷1.Mb,采用移位相減,先比較1.Ma和1.Mb大小,若1.Ma≥1.Mb,則d為1,且令1.Ma=1.Ma-l.Mb;若1.Ma1.Mb,則d為0,且令1.Ma左移一位再次進(jìn)行比較得到d,依次重復上述比較過(guò)程最終得到商的初始尾數d。

5)歸一化操作:乘法運算,d[19]、d[18]不同時(shí)為0,若d[19]為0,即乘積的整數為01,則乘積尾數的小數部分為d[17:9],修正項為0;若d[19]為1,即乘積的整數為10或11,則將初始尾數右移一位,同時(shí)乘積指數加1,修正項為1,乘積尾數小數部分為d[18:10]。除法運算,d[9]和d[8]不會(huì )同時(shí)為0,若d[9]不為0,商的商的初始尾數的整數為1,尾數小數部分為d[8:0];若d[19]為0,商的初始尾數的整數為0,則將初始尾數左移一位,同時(shí)商的階碼減1,修正項為-1,商的尾數小數部分為d[7:0]并在低位補0。

將上述操作結束后得到的符號位、階碼位、尾數的小數部分按照自定義浮點(diǎn)數格式進(jìn)行排列,得到最終的結果。

3 自定義浮點(diǎn)數運算的仿真機綜合分析

為了驗證本文中自定義浮點(diǎn)數運算模塊的正確性及其誤差大小,且考慮到仿真模型中的變量都為正的浮點(diǎn)數,這里以實(shí)數7.8和5.6為例,分別將其變換為本文中自定義的浮點(diǎn)數格式,在自行開(kāi)發(fā)的以EP3C80E484C型號為核心的FPGA上運行,并通過(guò)QuartusⅡ軟件中自帶的debug工具軟件查看其運算結果,其中加減乘除運算的部分結果如圖4所示。

為了驗證FPGA實(shí)際運算結果的正確性,將上述浮點(diǎn)數格式的結果轉換成十進(jìn)制格式,并進(jìn)行系統誤差對比,如表2所示。

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

由表2的對比結果可知,在FPGA運行的16位自定義數據格式的加、減、乘、除運算模塊的計算誤差不超過(guò)0.1%,能夠滿(mǎn)足宏觀(guān)交通流模型的仿真中對計算精度的要求。此外,在保證模型仿真精度的同時(shí),自定義16位數據格式的加、減、乘、除運算模塊與Quartus II軟件公開(kāi)的32位浮點(diǎn)數運算IP核相比,能夠顯著(zhù)降低對FPGA資源的消耗,其資源對比如表3所示。

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

4 模型仿真及綜合分析

基于自定義浮點(diǎn)數運算模塊,前文以Papageorgiou模型為仿真對象,在FPGA上設計了交通流仿真模塊。以一段長(cháng)度為5 km的單向單車(chē)道的高速公路為例,將其等分為10段,采用時(shí)間設為T(mén)=15 s,模型中其他參數設置為:α=0.95,ζ=1,l=1.86,m=4.05,τ=0.005 56 h,ζ=35 km2/h,λ=40 veh/km/lane,Vf=95.1 km/h,kj=110veh/km/ lane。

在初始時(shí)刻,假設各路段密度、速度相同,分別為60 veh/km/lane、30 km/h,并假定駛入高速公路的車(chē)流量為恒值Q0=1 500 veh/h,每個(gè)入口匝道車(chē)流量也為恒值r=750 veh/h。

在FPGA上對高速公路宏觀(guān)模型進(jìn)行仿真需要注意兩個(gè)問(wèn)題:1)邊界賦值問(wèn)題,這里采用邊緣賦值條件,令v0(n)=v1(n),k0(n)=Q0/v1(n),k11(n)=k10(n);2)通過(guò)多項式擬合方法簡(jiǎn)化式(4)中指數和底數均為浮點(diǎn)數的冪運算,并由(7)式進(jìn)行替換。

Ve[ki(n)]=0.008[ki(n)]3-0.064[ki(n)]2+0.371 4[ki(n)]+92.310 3 (7)

FPGA實(shí)現的模型仿真結果如圖5所示。

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

其中flag表示結果輸出標志,count是仿真時(shí)間間隔的個(gè)數,k5out-k6out和v5out-v6out別是第5、6路段的交通流密度和車(chē)輛平均速度。為查驗FPGA的仿真精度,選取count= 1,100時(shí)兩組數據,轉換成十進(jìn)制浮點(diǎn)數形式,與MATLABA仿真結果對比,如表4所示。

高速公路宏觀(guān)動(dòng)態(tài)交通流模型的FPGA仿真實(shí)現

從表4知,基于FPGA的模型仿真與MATLAB的仿真結果對比,在仿真初期誤差幾乎為0,隨著(zhù)仿真時(shí)間持續增長(cháng),誤差隨之增大,但總體差距不大,能夠滿(mǎn)足仿真精度的要求。

5 結束語(yǔ)

1)本文設計了基于自定義浮點(diǎn)數的高速公路交通流宏觀(guān)動(dòng)態(tài)模型仿真,并在自行開(kāi)發(fā)的FPGA電路板上進(jìn)行了驗證,其中自定義浮點(diǎn)數運算實(shí)現簡(jiǎn)單,節省了FPGA邏輯資源,能夠在保證計算精度的前提下以較快的速度實(shí)現模型的仿真,在后續的交通控制研究中可以進(jìn)一步在FPGA上實(shí)現控制算法的效果驗證;

2)本文的不足之處在于沒(méi)有直接實(shí)現底數和指數全為浮點(diǎn)數的冪運算,而是根據所設定的參數進(jìn)行多項式擬合,導致模型仿真精度在一定程度上受到擬合精度的限制。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>