• 
    

    
    

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

      一種干涉合成孔徑聲納信號(hào)源系統(tǒng)的軟件設(shè)計(jì)

      2014-05-07 03:14:22冀志軒
      船電技術(shù) 2014年12期
      關(guān)鍵詞:合成孔徑聲納余弦

      冀志軒

      ?

      一種干涉合成孔徑聲納信號(hào)源系統(tǒng)的軟件設(shè)計(jì)

      冀志軒

      (海軍駐沈陽彈藥軍事代表室,沈陽 110045)

      本文介紹了干涉合成孔徑聲納信號(hào)源系統(tǒng)的軟件設(shè)計(jì)過程,主要闡述了SOPC的系統(tǒng)設(shè)計(jì)過程、DMA數(shù)據(jù)傳輸方法、信號(hào)產(chǎn)生方法等。最后通過系統(tǒng)的部分測(cè)試結(jié)果表明能夠達(dá)到要求。

      干涉合成孔徑聲納 信號(hào)源 軟件 設(shè)計(jì)

      0 引言

      干涉合成孔徑聲納信號(hào)源系統(tǒng)分成信號(hào)傳感器數(shù)據(jù)采集子系統(tǒng)、發(fā)射信號(hào)產(chǎn)生子系統(tǒng)等。本文從SOPC的系統(tǒng)設(shè)計(jì)過程、DMA數(shù)據(jù)傳輸方法、信號(hào)產(chǎn)生方法等方面對(duì)該聲納信號(hào)源系統(tǒng)進(jìn)行了軟件設(shè)計(jì)。

      1 SOPC Builder開發(fā)

      在干涉合成孔徑聲納信號(hào)源系統(tǒng)的軟件設(shè)計(jì)中,絕大部分組件都是Altera公司提供的IP,可以很方便的集成到SOPC Builder中去。如NiosII軟核,LAN91C111網(wǎng)絡(luò)接口,SDRAM和Flash控制器等,都是直接可以應(yīng)用的。但也有一些自己開發(fā)的IP核,如DA的控制接口,通過按照Avalon總線接口標(biāo)準(zhǔn)設(shè)計(jì),同樣可以很容易的集成到SOPC系統(tǒng)中去。整個(gè)系統(tǒng)在SOPC Builder GUI下如圖1所示。

      2 基于DMA傳輸?shù)膫鞲衅鲾?shù)據(jù)采集

      2.1 Altera DMA控制器簡(jiǎn)介

      DMA控制器用于執(zhí)行從源地址空間到目的地址空間的直接存儲(chǔ)器訪問數(shù)據(jù)傳輸[2-3]。源和目的可以是Avalon從外設(shè)或是存儲(chǔ)器內(nèi)的一段地址范圍。DMA控制器可以同具有流控制的外設(shè)聯(lián)合使用,可以進(jìn)行有固定和可變長(zhǎng)度的數(shù)據(jù)處理。當(dāng)DMA傳輸結(jié)束,DMA控制器可以發(fā)一個(gè)中斷請(qǐng)求信號(hào)。

      DMA數(shù)據(jù)傳輸定義為一個(gè)或多個(gè)由DMA控制器內(nèi)核發(fā)起的Avalon傳輸?shù)男蛄?。DMA控制器具有兩個(gè)Avalon主端口:一個(gè)主讀端口和一個(gè)主寫端口。一個(gè)Avalon從端口用于控制DMA,如圖2所示。

      Nios II中的DMA傳輸有以下三種形式:

      1)存儲(chǔ)器到存儲(chǔ)器

      這種情況下需要同時(shí)打開發(fā)送通道和接收通道,而且源地址和目標(biāo)地址都是自增的。

      2)存儲(chǔ)器到外設(shè)

      這種情況下只要打開發(fā)送通道,而且源地址是自增的,目標(biāo)地址是固定的。

      3)外設(shè)到存儲(chǔ)器

      這種情況下只要打開接收通道,而且源地址是固定的,目標(biāo)地址是自增的。

      在本設(shè)計(jì)中,由于是采集傳感器的數(shù)據(jù),屬于外設(shè)到存儲(chǔ)器這一類,源地址是固定的,目標(biāo)地址隨數(shù)據(jù)遞增。

      進(jìn)行一次DMA傳輸?shù)幕静僮魇牵菏紫仍O(shè)定DMA要傳輸?shù)臄?shù)據(jù)量,當(dāng)DMA傳輸完成后,產(chǎn)生一個(gè)中斷,在中斷服務(wù)程序中可以再次發(fā)起傳輸,這樣可以對(duì)傳感器的數(shù)據(jù)進(jìn)行不斷采集。

      采用定長(zhǎng)方式,對(duì)同樣是定長(zhǎng)數(shù)據(jù)包的傳感器可以很好的采集其數(shù)據(jù)。但對(duì)于數(shù)據(jù)包不是定長(zhǎng)的傳感器采用定長(zhǎng)數(shù)據(jù)傳輸?shù)脑?,在一次DMA傳輸結(jié)束與發(fā)起下一次傳輸之間,會(huì)有數(shù)據(jù)的丟失,在實(shí)際調(diào)試時(shí),也證實(shí)了這一點(diǎn)。

      圖1 SOPC Builder GUI

      圖2 DMA控制器內(nèi)核原理圖

      2.2 對(duì)Altera DMA控制器的改善

      由于采用Altera DMA控制器只定長(zhǎng)方式傳輸存在如上述所描述的問題,所以要對(duì)其進(jìn)行改善,以解決上述問題。

      對(duì)數(shù)據(jù)丟失的原因進(jìn)行分析可知,造成數(shù)據(jù)丟失是因?yàn)樵谝淮蜠MA傳輸結(jié)束后,產(chǎn)生中斷,在中斷服務(wù)程序中發(fā)起新的傳輸。也就是說在系統(tǒng)響應(yīng)中斷服務(wù)函數(shù)的過程中,傳感器數(shù)據(jù)仍在發(fā)送,而此時(shí)DMA沒有在工作,所以造成了數(shù)據(jù)的丟失。

      解決的方案是想辦法讓DMA在一次傳輸完成后,自動(dòng)加載初始目標(biāo)地址并啟動(dòng)新的傳輸,即讓DMA工作在一種循環(huán)模式。這樣就不會(huì)因?yàn)檐浖系那袚Q而造成數(shù)據(jù)丟失。同時(shí),還要產(chǎn)生一個(gè)半傳輸完成中斷,即在DMA傳輸完成設(shè)定數(shù)據(jù)的一半時(shí),產(chǎn)生一個(gè)中斷,此時(shí)軟件可以對(duì)這前一半的數(shù)據(jù)進(jìn)行處理,同時(shí)進(jìn)行后一半數(shù)據(jù)的DMA傳輸。當(dāng)傳輸完成時(shí)對(duì)后一半數(shù)據(jù)進(jìn)行處理,這樣相當(dāng)于是在進(jìn)行一個(gè)乒乓操作,而不會(huì)引起數(shù)據(jù)覆蓋問題。

      具體操作也很簡(jiǎn)單,在SOPC Builder中加入DMA控制器后,會(huì)生成相應(yīng)的HDL描述文件,在工程目錄下找到這個(gè)文件并對(duì)其進(jìn)行修改,主要任務(wù)有:

      1)增加幾個(gè)備份寄存器。

      如:reg [23:0] half_length; 半長(zhǎng)度寄存器

      reg [23:0] length_temp; 長(zhǎng)度備份寄存器

      reg [23:0] writeaddress_temp; 初始目標(biāo)地址備份寄存器

      reg hdone; 半長(zhǎng)傳輸完成標(biāo)志位

      2)增加一個(gè)半完成中斷信號(hào)。

      Assign dma_ctl_irq = i_en & (done || hdone);

      3)當(dāng)傳輸完成時(shí)重新加載初始值。

      //重新加載初始目標(biāo)地址

      always @(posedge clk or negedge reset_n)

      begin

      if (reset_n == 0)

      writeaddress <= 24'h0;

      else if (clk_en)

      if(done_transaction & ~d1_done_transaction) writeaddress <= writeaddress_temp;

      else

      writeaddress <= p1_writeaddress;

      End

      //重新加載初始長(zhǎng)度值

      always @(posedge clk or negedge reset_n)

      begin

      if (reset_n == 0)

      length <= 24'h0;

      else if (clk_en)

      if(done_transaction & ~d1_done_transaction) length <= length_temp;

      else

      length <= p1_length;

      end

      4)在NiosII中修改DMA的寄存器文件。

      //狀態(tài)寄存器中半傳輸完成中斷位

      #define ALTERA_AVALON_DMA_STATUS_HALFDONE_MSK (0x20)

      #define ALTERA_AVALON_DMA_STATUS_HALFDONE_OFST

      #define IOADDR_ALTERA_AVALON_DMA_HALFLENGTH(base) __IO_CALC_ADDRESS_NATIVE(base, 4)

      #define IORD_ALTERA_AVALON_DMA_HALFLENGTH(base) IORD(base, 4)

      #define IOWR_ALTERA_AVALON_DMA_HALFLENGTH(base, data) IOWR(base, 4, data)

      通過實(shí)驗(yàn)證明,采用這種循環(huán)模式后,可以有效的解決在DMA切換時(shí)數(shù)據(jù)丟失的問題,提高了DMA傳輸效率。

      2.3 數(shù)據(jù)采集工作流程

      在數(shù)據(jù)采集的過程中,需要對(duì)接收到的數(shù)據(jù)進(jìn)行打包,校驗(yàn)等工作,數(shù)據(jù)接收與發(fā)送的控制流程如圖3中(1)所示,數(shù)據(jù)處理過程如圖3中(2)所示。

      圖3 數(shù)據(jù)采集工作流程

      2.4 數(shù)據(jù)采集測(cè)試

      在顯示控制臺(tái)端(其控制界面如圖4所示),當(dāng)啟動(dòng)傳感器數(shù)據(jù)上傳后,網(wǎng)絡(luò)接將收到的數(shù)據(jù)寫入文件中,以O(shè)ctans數(shù)據(jù)文件為例,在Octans數(shù)據(jù)包中有時(shí)間信息,每一個(gè)數(shù)據(jù)包的時(shí)間間隔為200 ms。因此從時(shí)間信息可判斷有沒有丟數(shù)據(jù)包的情況。在數(shù)據(jù)包中的每一行數(shù)據(jù)信息結(jié)尾處,都有兩位數(shù)據(jù)信息校驗(yàn)位,可以通過這兩位對(duì)整行數(shù)據(jù)進(jìn)行校驗(yàn),這樣可驗(yàn)證數(shù)據(jù)是否出錯(cuò)。Octans兩個(gè)連續(xù)的數(shù)據(jù)包信息如下:

      $HEHDT,269.15,T*16

      $PHTRO,0.07,M,0.31,B*5B

      $PHLIN,0.000,0.000,0.000*51

      $PHSPD,0.000,0.000,0.000*5D

      $PHROT,0.000,0.000,0.000*53

      $PHHRP,-01,d,0F00002F*34

      $PHZDA,000106.330,01,01,2006,00,00*5A

      $HEHDT,269.16,T*15

      $PHTRO,0.07,M,0.31,B*5B

      $PHLIN,0.000,0.000,0.000*51

      $PHSPD,0.000,0.000,0.000*5D

      $PHROT,0.000,0.000,0.000*53

      $PHHRP,-01,d,0F00002F*34

      $PHZDA,000106.530,01,01,2006,00,00*5C

      其中$PHZDA行為時(shí)間信息,分別是分.毫秒,日,月,年,最后兩位為檢驗(yàn)位。經(jīng)過長(zhǎng)時(shí)間上十萬數(shù)據(jù)包的測(cè)試,沒有出現(xiàn)丟包,錯(cuò)數(shù)據(jù)的情況。

      圖4 系統(tǒng)控制界面

      3 信號(hào)產(chǎn)生

      在合成孔徑聲納系統(tǒng)中,需要發(fā)射余弦信號(hào),線性調(diào)頻信號(hào)和余弦二相碼信號(hào),這三種信號(hào)都是采用直接數(shù)字頻率合成(DDS)技術(shù),其理論基礎(chǔ)是奈奎斯特采樣定理[4-6]。當(dāng)采樣頻率大于等于信號(hào)的最高頻率兩倍時(shí),采樣序列信號(hào)就保留了原始信號(hào)的全部信息。

      3.1 余弦信號(hào)

      產(chǎn)生余弦信號(hào)的方法有很多種,常見的有查表法,曲線擬合法等。其中查表法易于實(shí)現(xiàn),且精度高,速度快,所以在本設(shè)計(jì)中采用查表法實(shí)現(xiàn)。

      由余弦信號(hào)函數(shù)表達(dá)式:

      其中振幅=1;初始相位=0;偏移量=0;角頻率=2π,其中為輸出信號(hào)的頻率;所以余弦信號(hào)表達(dá)式可簡(jiǎn)化為:

      首先建立余弦表,在Matlab下面可計(jì)算出0~2π對(duì)應(yīng)的余弦值,為了提高信號(hào)的精度,在表中存儲(chǔ)了0~2π對(duì)應(yīng)的65536個(gè)余弦值。其值從-1到1,均為小數(shù),無法直接作為DAC的輸入,需要進(jìn)一步處理。由DAC可知,當(dāng)DAC的輸入為全1,即65536時(shí),輸出信號(hào)為正的最大;當(dāng)DAC的輸入為全0時(shí),輸出信號(hào)為負(fù)的最大。DAC輸入為32767時(shí),輸出為零電平信號(hào)。所以將0~2π對(duì)應(yīng)的余弦值先乘以32767再加上32767,即可使得0~2π對(duì)應(yīng)的余弦值處在0~65536范圍內(nèi)。

      先計(jì)算出每個(gè)點(diǎn)對(duì)應(yīng)的相位:

      當(dāng)相位不在0~2π內(nèi)時(shí),根據(jù)余弦信號(hào)的周期性可知,對(duì)2π取模,使其處于0~2π范圍內(nèi),然后即可得出每個(gè)點(diǎn)對(duì)應(yīng)余弦表的偏移量:

      得到每個(gè)點(diǎn)對(duì)應(yīng)的DAC轉(zhuǎn)換數(shù)據(jù)后,將其寫入SRAM中,當(dāng)信號(hào)產(chǎn)生的門控到達(dá)時(shí),DAC從SRAM讀取數(shù)據(jù),即可輸出余弦信號(hào)。

      3.2 余弦脈沖二相碼信號(hào)

      余弦脈沖二相碼信號(hào)是攜載二進(jìn)制數(shù)字信息的隨機(jī)脈沖序列,是一種數(shù)字基帶信號(hào)。

      表征二進(jìn)制數(shù)字代碼最常見的數(shù)字基帶信號(hào)是矩形脈沖的單極性不歸零碼,如圖5(a)所示,該信號(hào)易于產(chǎn)生,但帶外輻射較大,且不含有同步信息,因而不便于直接在系統(tǒng)中傳輸。所謂余弦脈沖二相碼信號(hào)就是圖5(b)所示的余弦脈沖信號(hào),利用前后相鄰碼元的載波相對(duì)相位變化傳遞數(shù)字信息。假設(shè)當(dāng)前相位為,表征二進(jìn)制數(shù)字代碼“1”時(shí),用π的余弦脈沖表示;表征二進(jìn)制數(shù)字代碼“0”時(shí),用π的余弦脈沖表示,表示二進(jìn)制數(shù)字代碼“0110010” 的余弦脈沖二相碼信號(hào)波形如圖5所示。

      余弦脈沖二相碼信號(hào)是數(shù)字基帶信號(hào),是隨機(jī)二進(jìn)制脈沖序列,它可表示為:

      其中是余弦脈沖信號(hào),為碼元持續(xù)時(shí)間,表示信息代碼,當(dāng)表示“0”碼時(shí),其取值為-1,當(dāng)表示“1”碼時(shí),其取值為+1。

      3.3 線性調(diào)頻信號(hào)

      調(diào)頻信號(hào)是通過非線性相位調(diào)制獲得大的時(shí)寬帶寬乘積的典型例子,而線性調(diào)頻信號(hào)是其中研究最早、應(yīng)用最廣泛的一種脈壓信號(hào)。采用這種信號(hào)可以使聲納同時(shí)獲得更遠(yuǎn)的作用距離和更高的距離分辨率,在信號(hào)分析中有獨(dú)特的作用。其突出的特點(diǎn)是匹配濾波器對(duì)多普勒頻移不敏感,即使回波信號(hào)有較大的多普勒頻移,匹配濾波器仍能起到壓縮的作用。但是這類信號(hào)的主要缺點(diǎn)是匹配濾波輸出響應(yīng)的旁瓣高。這樣做的代價(jià)是:使輸出信號(hào)的主瓣降低、展寬,從而導(dǎo)致輸出信號(hào)信噪比損失及距離分辨力變差,在一定程度上降低了系統(tǒng)的靈敏度。

      線性調(diào)頻信號(hào)的復(fù)數(shù)形式數(shù)學(xué)表達(dá)式如下:

      式中:為信號(hào)幅度;0為載波中心頻率;為脈沖寬度;為信號(hào)帶寬;=/為信號(hào)的調(diào)頻斜;()為矩形信號(hào)包絡(luò)。線性調(diào)頻信號(hào)示意圖如圖6所示。

      線性調(diào)頻信號(hào)的瞬時(shí)頻率為:

      在Matlab下仿真結(jié)果如圖7所示,其中:A=1000,f0=100,K=400。

      圖7 線性調(diào)頻信號(hào)在Matlab下仿真結(jié)果

      4 結(jié)論

      本文主要介紹了干涉合成孔徑聲納信號(hào)源系統(tǒng)的軟件部分,詳細(xì)介紹了系統(tǒng)開發(fā)中的主要過程,給出了各主要過程的流程圖和部分例程,并給出了系統(tǒng)的部分測(cè)試結(jié)果,測(cè)試結(jié)果表明,系統(tǒng)達(dá)到要求。

      [1] 陳欽樹,文愛軍.應(yīng)用SoPC Builder開發(fā)電子系統(tǒng)[J].電子設(shè)計(jì)應(yīng)用,2004,(09).

      [2] 王靜爽,孫楹.DMA控制電路在單片機(jī)中的應(yīng)用設(shè)計(jì)[J].山東煤炭科技,2003,(03).

      [3] 張曉明,王勇軍,張民選.網(wǎng)絡(luò)處理器中協(xié)處理器設(shè)計(jì)方法研究及實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2007,(03).

      [4] 侯錫立,靳鵬云.基于SOPC的任意波形發(fā)生器的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2008,(12).

      [5] 崔坤,張文明,王濱.基于NiosⅡ的UART與PC間的數(shù)據(jù)通信[J].電子技術(shù),2007,(Z1).

      [6] 周亞鳳,李躍華,朱昊.基于FPGA的16階FIR濾波器的設(shè)計(jì)[J].南京工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,(01).

      Design of Software On Interferometric Synthetic Aperture Sonar

      Ji Zhixuan

      (Shenyang Naval Ammunition Millitary Office, Shenyang 110045, China)

      TP319

      A

      1003-4862(2014)12-0009-05

      2014-09-28

      冀志軒(1989-),男,助理工程師。研究方向:彈藥工程。

      猜你喜歡
      合成孔徑聲納余弦
      基于耦合偏微分方程的干涉合成孔徑聲納干涉圖濾波方法
      Daniel Kish
      船載調(diào)頻連續(xù)波聲納測(cè)深技術(shù)研究
      基于相關(guān)性的超聲合成孔徑成像信號(hào)相位校正
      基于聽覺特征的被動(dòng)聲納目標(biāo)識(shí)別
      兩個(gè)含余弦函數(shù)的三角母不等式及其推論
      分?jǐn)?shù)階余弦變換的卷積定理
      關(guān)于聲納發(fā)射電源的改進(jìn)設(shè)計(jì)
      圖像壓縮感知在分?jǐn)?shù)階Fourier域、分?jǐn)?shù)階余弦域的性能比較
      聚焦探頭水浸檢測(cè)下的頻域合成孔徑聚焦技術(shù)
      高雄县| 金山区| 邹平县| 祁门县| 六安市| 伽师县| 聂荣县| 广元市| 香河县| 延津县| 武乡县| 崇阳县| 清河县| 民县| 衡水市| 威信县| 法库县| 英德市| 广南县| 岫岩| 屯留县| 革吉县| 隆林| 永济市| 阳新县| 白玉县| 呈贡县| 会宁县| 阿合奇县| 广灵县| 旅游| 伽师县| 勃利县| 木兰县| 定远县| 南丹县| 临澧县| 延津县| 铁力市| 肃南| 民勤县|