• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于TMS320C6678的復(fù)數(shù)求模算法研究

      2018-10-11 03:34:18袁子喬
      火控雷達技術(shù) 2018年3期
      關(guān)鍵詞:復(fù)數(shù)信號處理向量

      楊 剛 杜 力 袁子喬

      (西安電子工程研究所 西安 710100)

      0 引言

      TMS320C6678[1](后文中簡稱C6678)是TI公司于2010年推出的一款具有業(yè)界領(lǐng)先處理能力的多核DSP處理器,其采用的是KeyStone多內(nèi)核架構(gòu),片內(nèi)集成了8個C66x核,每個核都具有定點和浮點運算能力,同時也集成了SRIO(Serial RapidIO),PCIe(Peripheral Component Interconnect Express)等接口,為方便數(shù)據(jù)的搬移,配置了EDMA(Enhanced Direct Memory Access)。TI公司也為開發(fā)人員提供了C6678的mathLib,dsplib等函數(shù)庫。

      得益于C6678強大的并行處理能力和接口的高速數(shù)據(jù)傳輸能力,其在信號處理領(lǐng)域應(yīng)用極其廣泛,特別是雷達信號處理領(lǐng)域,過去的FPGA+DSP的架構(gòu)中,大部分的計算(如DPC算法[2],MTD算法[3]等)是在FPGA中完成,但FPGA調(diào)試效率極低,嚴(yán)重地降低了雷達信號處理機調(diào)試的效率。在C6678出現(xiàn)后,現(xiàn)在越來越多的雷達信號處理算法從FPGA遷移到了DSP中完成,極大地提升了雷達信號處理機的調(diào)試效率。然而,雷達信號處理中許多數(shù)據(jù)都是復(fù)數(shù)形式的,需要進行大量的復(fù)數(shù)求模,而傳統(tǒng)的復(fù)數(shù)算法效率極低,嚴(yán)重地影響了整個信號處理機的效率,因此,對C6678中復(fù)數(shù)求模算法進行優(yōu)化有著重要的意義。

      本文所有內(nèi)容是針對TMS320C6678進行探討,考慮到實際情況中一般是對復(fù)數(shù)向量求模,所以本文的測試數(shù)據(jù)是一個復(fù)數(shù)向量,所討論的每個復(fù)數(shù)對應(yīng)的求模時間為復(fù)數(shù)向量的求模時間除以向量長度。所有測試中,測試數(shù)據(jù)和所求結(jié)果都在LL2中,L1D cache大小為32kB,L1P cache大小為32kB,L2 cache大小為0,編譯器優(yōu)化選項為-O3,測試結(jié)果以MTALAB作為“真值”進行誤差分析。

      1 常規(guī)的復(fù)數(shù)求模算法

      1.1 第一種常規(guī)的復(fù)數(shù)向量求模算法vec_abs1

      常規(guī)的復(fù)數(shù)求模公式很簡單,先求實部虛部平方和,然后再調(diào)用math.h中的sqrt函數(shù)求平方根,這是最“正規(guī)”的也是效率最低的,事實上TI針對自身DSP提供的dsplib中的sqrtsp函數(shù)性能優(yōu)于sqrt函數(shù),所以用sqrtsp代替sqrt。因此得到第一種常規(guī)的復(fù)數(shù)向量求模算法的程序如圖2所示。

      1.2 第二種常規(guī)的復(fù)數(shù)向量求模算法vec_abs2

      TI分別針對C6200,C6400,C6600等提供了許多Intrinsic操作符,這些操作符默認(rèn)是內(nèi)聯(lián)的[4](Inlined),利用這些操作符對復(fù)數(shù)向量求模算法優(yōu)化,主要是對取數(shù)和乘法進行優(yōu)化可以得到第二種常規(guī)的復(fù)數(shù)向量求模算法。其中,用到的Intrinsic函數(shù)及含義如下:

      1) const double & _amemd8_const (const void *ptr); 從存儲器中讀取8字節(jié)數(shù)據(jù)。

      2)double _complex_conjugate_mpysp (double src1, double src2); 復(fù)數(shù)共軛乘法。

      3) float _lof (double src); 從double中提取低位float。

      4) float _hif (double src); 從double中提取高位float。

      第二種常規(guī)的復(fù)數(shù)向量求模算法程序如圖3所示。

      1.3 第三種常規(guī)的復(fù)數(shù)向量求模算法vec_abs3

      TI提供的dsplib中包括了許多向量、矩陣的處理函數(shù),效率很高??紤]到復(fù)數(shù)向量求模需要計算很多次的實部與實部的乘法,以及虛部與虛部的乘法,所以調(diào)用dsplib中的向量乘法函數(shù)DSPF_sp_vecmul,從而得到第三種常規(guī)的復(fù)數(shù)向量求模算法,程序見圖4。

      經(jīng)過實驗對比發(fā)現(xiàn),常規(guī)方法中,第三種效率最高,第一種次優(yōu),第二種最差。第三種的測試結(jié)果如表1所示。

      通過表1可以看出,雖然第三種常規(guī)復(fù)數(shù)向量求模算法相對于第一種和第二種效率更高,但每個復(fù)數(shù)點平均耗時仍然約為62個時鐘周期,對于信號處理來說,效率還是很低,不過,因為是最基本的實現(xiàn)方法,所以該方法精度很高,最差的最大絕對誤差百分比為5.564378038394069e-07。

      表1 第三種常規(guī)復(fù)數(shù)向量求模算法測試結(jié)果

      2 RSQRSP指令vec_abs_noitr

      表2 利用RSQRSP指令的復(fù)數(shù)向量求模算法測試結(jié)果

      通過表2可以看出,利用RSQRSP指令進行復(fù)數(shù)向量求模,效率極高,每個復(fù)數(shù)點平均耗時為2.72119~5.3125個時鐘周期,而vec_abs3中每個復(fù)數(shù)點平均耗時約62個時鐘周期,所以vec_abs_noitr相對于vec_abs3效率提升11.6706~22.7841倍。

      從表2中的最大絕對誤差百分比可以看出該算法精度較低,僅可用于對精度要求不高的計算中。

      3 利用牛頓迭代的改進

      x(n+1)=x(n)[1.5-(ν/2)×x(n)×x(n)]

      (1)

      其中,v為原始數(shù)據(jù)。每迭代一次精度提高2-8,也即迭代一次精度為2-16,迭代兩次精度為2-24。

      進行一次Newton-Phapson迭代的復(fù)數(shù)矩陣求模算法vec_abs_1itr的程序如圖6所示,測試結(jié)果如表3所示。

      表3 一次Newton-Phapson迭代的復(fù)數(shù)矩陣求模算法測試結(jié)果

      通過表3可以看出,利用Newton-Phapson迭代一次后每個點平均耗時為9.0703125~13.59375,時間較vec_abs_noitr有所增加,但相對于vec_abs3來說,效率還是提升了4.5609~6.8355倍,而最大絕對誤差百分比已經(jīng)達到了約1.5e-5,該精度可以滿足大多數(shù)的信號處理算法。

      進行二次Newton-Phapson迭代的復(fù)數(shù)矩陣求模算法vec_abs_2itr的程序如圖7所示,測試結(jié)果如表4所示。

      通過表4可以看出,利用Newton-Phapson迭代二次后每個點平均耗時為16.0698~20.5625,時間較vec_abs_1itr有所增加,但相對于vec_abs3來說,效率還是提升了3.0152~3.8582倍,對比表4和表1中的最大絕對誤差百分比可以看出,vec_abs_2itr的精度和vec_abs3幾乎一致。

      4 結(jié)果分析

      由前述的測試結(jié)果可以得出,常規(guī)算法中,利用sqrtsp的vec_abs3精度最高,但效率最低;而單純利用RSQRSP指令的vec_abs_noitr效率最高,但精度最差;通過Newton-Phapson迭代一次vec_abs_1itr精度精度較差,效率較高;通過Newton-Phapson迭代二次vec_abs_2itr精度精度最高,效率較差。這四種算法的特點如表5所示。

      5 結(jié)束語

      本文針對TMS320C6678研究了信號處理領(lǐng)域經(jīng)常使用到的復(fù)數(shù)求模算法,包括最基本的常規(guī)復(fù)數(shù)求模算法,利用RSQRSP指令的復(fù)數(shù)求模算法,以及利用RSQRSP指令的基礎(chǔ)上通過Newton-Phapson迭代一次和二次的復(fù)數(shù)求模算法,并給出了各種算法的測試結(jié)果,分析了各種算法的效率和精度,測試結(jié)果對信號處理設(shè)計師有很重要的參考意義。

      猜你喜歡
      復(fù)數(shù)信號處理向量
      向量的分解
      評析復(fù)數(shù)創(chuàng)新題
      求解復(fù)數(shù)模及最值的多種方法
      數(shù)系的擴充和復(fù)數(shù)的引入
      聚焦“向量與三角”創(chuàng)新題
      復(fù)數(shù)
      《信號處理》征稿簡則
      信號處理(2018年5期)2018-08-20 06:16:02
      《信號處理》第九屆編委會
      信號處理(2018年5期)2018-08-20 06:16:00
      《信號處理》征稿簡則
      信號處理(2018年8期)2018-07-25 12:25:42
      《信號處理》第九屆編委會
      信號處理(2018年8期)2018-07-25 12:24:56
      新营市| 高尔夫| 布尔津县| 普宁市| 视频| 柘荣县| 墨竹工卡县| 集贤县| 福泉市| 遂昌县| 甘谷县| 淮阳县| 葵青区| 桐乡市| 忻州市| 都昌县| 桑植县| 长白| 临清市| 美姑县| 碌曲县| 沁水县| 东港市| 泰宁县| 宜丰县| 湘乡市| 三穗县| 拜城县| 张掖市| 察哈| 顺平县| 康平县| 历史| 黄龙县| 汉源县| 梧州市| 阳西县| 长岛县| 彰武县| 吴川市| 五常市|