毫米波雷達半精度浮點存儲格式分析
發布時間:2023-08-01 來源:英飛淩 責任編輯:wenwei
【導讀】雷(lei)達(da)信(xin)號(hao)處(chu)理(li)需(xu)要(yao)使(shi)用(yong)大(da)量(liang)內(nei)存(cun)進(jin)行(xing)中(zhong)間(jian)結(jie)果(guo)和(he)最(zui)終(zhong)結(jie)果(guo)的(de)保(bao)存(cun),而(er)內(nei)存(cun)大(da)小(xiao)直(zhi)接(jie)影(ying)響(xiang)處(chu)理(li)芯(xin)片(pian)的(de)成(cheng)本(ben)。選(xuan)擇(ze)合(he)適(shi)的(de)數(shu)據(ju)存(cun)儲(chu)格(ge)式(shi),既(ji)保(bao)留(liu)較(jiao)高(gao)的(de)信(xin)號(hao)分(fen)辨(bian)率(lv)和(he)動(dong)態(tai)範(fan)圍(wei),又(you)不(bu)占(zhan)用(yong)太(tai)大(da)的(de)存(cun)儲(chu)空(kong)間(jian)是(shi)相(xiang)當(dang)重(zhong)要(yao)的(de)。本(ben)文(wen)介(jie)紹(shao)了(le)TC3xx單片機雷達信號處理單元SPU支持的半精度浮點格式,將其和32bit整型數格式進行比較,分析了兩者的動態範圍及實際處理誤差,發現半精度浮點格式是“性價比”較高的存儲方式。另外,Tricore™ CPU還有專用硬件指令支持半精度和單精度浮點格式的相互轉換,便於信號的後期處理,並縮短數據格式轉換時間。
英飛淩技術專家 錢偉喆
背景介紹
毫米波雷達在較短時間內(比如50ms每幀)xuyaochulidaliangshuju,shujuliangheshoufatianxiangeshu,meigefabodecaiyangdianshu,yijifabogeshuchengzhengbi。xiamianjiandanjugelizi,fangbianlianghuashujudaxiao,shidajiayouganxingrenshi。biru,caiyangdianshuwei512,發波個數為128,典型的3T4R前端射頻芯片,采用碼分調製方式,實采樣ADC轉換結果為14bit,但考慮到後期便於信號處理,實際上一般使用16bit(2Byte)內存空間來存儲。表1liechulegechulijieduandeshujuzhanyongneicunkongjiandaxiao,youcikejian,leidaxinhaochuliduineicunkongjiandexuqiujiaoda,erneicundaxiaozhijieyingxiangxinpianchengben,suoyi,nengcaiyongyizhonghelideshujugeshi,jibaoliujiaogaodexinhaofenbianlvhedongtaifanwei,youbuzhanyongtaidadecunchukongjianshixiangdangzhongyao。
表1. 各處理階段的數據所占內存空間大小
數據格式
TC3xx單片機的雷達信號處理單元SPU,其輸出支持多種數據格式,包括16位、32位整型複數或實數,16位半精度浮點等。其中16位半精度浮點既能保持數據的精度又不失較寬的動態範圍,並且占用內存相對較少。根據IEEE 754標準【1】,16位半精度浮點數(binary16)的二進製位分為三部分,定義分別如下:
1. 最高一位是符號位。
2. 最高位後麵的5位表示2的指數,該值要減去固定值15,才是最終指數。
3. 剩下的10位(位於小數點右側)再補上一位非顯性位(該位在小數點左側第一位)合成的11位是有效數。
以下定義摘自Wikipedia【2】。如果忽略subnormal以及無限數值,半精度浮點有效數值(normal value)為正的最小值是 2^(-14) ≈ 6.10 × 10^(-5)。數值為正的最大值是 (2−2^(-10)) × 2^15 = 65504。
表2. IEEE754半精度浮點的數值範圍,摘自Wikipedia.
下麵我們比較一下32位整型數和16位半精度浮點數的動態範圍,假設兩者符號都為正。
表3. 不同格式數據動態範圍比較
從以上比較發現,兩者的動態範圍差別是3dB,而使用16位半精度浮點占用的內存存儲空間卻是采用32位整型數的一半,對於所選處理器芯片有較強成本優勢。
為了進一步驗證SPU用16位半精度浮點數和32位整型數的實際誤差,用Matlab代碼將半精度浮點格式歸一化處理成32位整型格式,之後和SPU實際計算所得32位數據做比較。圖1所示是(a) 第一維FFT結果和 (b)兩者誤差。兩者最大誤差是0.0021dB,而第一維FFT結果中最大值是78.828dB,該誤差相當小。
圖1. (a) SPU 1st FFT計算結果(dB);(b) 16位半精度浮點數和32位整型數的結果誤差(dB)
格式轉換
SPU處理完數據後,通常用Tricore™ CPU進行下一階段計算。Tricore™ CPU集成了硬件指令【3】,可以方便進行單精度浮點和半精度浮點數格式之間的轉換。這兩條指令是:
兩款常用編譯器,Tasking 和Hightec Gnuc 編譯器都支持以上數據格式轉換指令。
1. 在Tasking環境中,當指定C編譯選項 --fp-model=-soft,C編譯器會自動生成CPU硬件指令,進行半精度浮點類型(_Float16)和單精度浮點類型(float)之間的格式轉換。
2. 在Hightec Gnuc環境中,__float16 是半精度浮點的格式類型,在編譯時會自動生成格式轉換指令。例如以下代碼:
總結
雷(lei)達(da)信(xin)號(hao)處(chu)理(li)需(xu)要(yao)使(shi)用(yong)大(da)量(liang)內(nei)存(cun)進(jin)行(xing)中(zhong)間(jian)結(jie)果(guo)和(he)最(zui)終(zhong)結(jie)果(guo)的(de)保(bao)存(cun),而(er)內(nei)存(cun)大(da)小(xiao)直(zhi)接(jie)影(ying)響(xiang)處(chu)理(li)芯(xin)片(pian)的(de)成(cheng)本(ben)。選(xuan)擇(ze)合(he)適(shi)的(de)數(shu)據(ju)存(cun)儲(chu)格(ge)式(shi),既(ji)保(bao)留(liu)較(jiao)高(gao)的(de)信(xin)號(hao)分(fen)辨(bian)率(lv)和(he)動(dong)態(tai)範(fan)圍(wei),又(you)不(bu)占(zhan)用(yong)太(tai)大(da)的(de)存(cun)儲(chu)空(kong)間(jian)是(shi)相(xiang)當(dang)重(zhong)要(yao)的(de)。本(ben)文(wen)介(jie)紹(shao)了(le)TC3xx單片機雷達信號處理單元SPU支持的半精度浮點格式,將其和32bit整型數格式進行比較,分析了兩者的動態範圍及實際處理誤差,發現半精度浮點格式是“性價比”較高的存儲方式。另外,Tricore™ CPU還有專用硬件指令支持半精度和單精度浮點格式的相互轉換,便於信號的後期處理,並縮短數據格式轉換時間。
參考文獻
1. IEEE Standard for Floating-Point Arithmetic
2. https://en.wikipedia.org/wiki/Half-precision_floating-point_format
3. TriCore_TC162P_core_architecture_vol2of2_Instruction_set
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 從機械執行到智能互動:移遠Q-Robotbox助力具身智能加速落地
- 品英Pickering將亮相2026航空電子國際論壇,展示航電與電池測試前沿方案
- 模擬芯片設計師的噩夢:晶體管差1毫伏就廢了,溫度升1度特性全飄
- 3A大電流僅需3x1.6mm?意法半導體DCP3603重新定義電源設計
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





