數字信號處理模塊設計與實現分析
時間:2022-06-17 05:28:06
導語:數字信號處理模塊設計與實現分析一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:針對無線通信技術的特點和某型無線通信系統的功能需求,基于FPGA(現場可編程門陣列)軟件無線電平臺,使用VHDL(硬件描述語言)設計用于某型通信系統的數字信號處理關鍵模塊。設計采用模塊化的設計方法,在較小的硬件平臺上實現系統的數字基帶信號處理功能,這些功能包括語音與短信的發送、短信的編解碼、系統工作狀態的選擇與切換,以及對外設接口的控制等。通過實驗測試了模塊的串口通信功能以及短信息和語音的組幀功能,測試結果表明,該模塊各項功能指標符合要求,可靠性高且易于升級改造,相較于同類設計有了一定的改進和提高,具有較大的實用價值。
關鍵詞:FPGA(現場可編程門陣列);VHDL(硬件描述語言);無線通信;數字信號處理;編譯碼
為了滿足社會的需求,各種新技術新方法不斷地被提出,通信系統的功能變得越來越多樣,結構也越來越復雜[1],這就對通信系統的設計提出了新的要求。而隨著半導體工藝技術的進步,FPGA(現場可編程門陣列)器件的設計技術也取得了飛躍性的突破,與傳統數字電路相比,FPGA具有集成度高、開發周期短、硬件升級空間大、數據吞吐量大等優點[2],因此FPGA在通信系統的設計中得到了廣泛的應用,這些應用主要集中在接口設計、數字濾波、調制解調及編解碼等方面,而目前的大多數設計只是完成其中的某一項功能,并沒有充分利用FPGA的資源[3]。在這種背景下,同時為滿足某型通信系統的數字信號基帶處理模塊化設計需求,本文基于軟件無線電設計平臺,選用大規模FPGA器件,使用VHDL(硬件描述語言)設計了用于某型無線通信系統的數字信號處理關鍵模塊,在較小的硬件平臺上通過軟件設置實現了語音與短信的發送、短信的編解碼、中繼功能控制、系統工作狀態的選擇與切換,以及對外設接口的控制等功能。仿真及測試結果表明,該數字信號處理模塊性能良好、可靠性高、使用靈活、功能可擴展且易于升級改造,降低了系統的復雜度[4,5],具有較大的實用價值。
1系統整體方案設計
該型無線通信系統設計的整體構成如圖1所示,設計采用模塊化結構,模塊之間通過數字總線相連。其中,射頻模塊提供系統的調制解調及前端處理(接收的前放、發射的功放、濾波等),射頻前端模塊還包括接地偶極子,作為信號發射接收的天線;系統控制/顯示模塊提供系統的控制輸入和狀態顯示,包括短信息的輸入和輸出顯示,同時也提供鍵盤及液晶顯示器等外設;電源模塊可以通過電池和外部電源輸入提供系統各模塊的電源;手咪為語音信號的信源和信宿。數字信號處理模塊是無線通信系統的核心部分,模塊采用軟件無線電設計思想,具有較強的數字信號處理能力[4]。該模塊獨立安裝于通信系統內部,與射頻前端模塊通過發射信號射頻電纜、接收信號射頻電纜以及收發控制線相連接,與通信系統其它部分則是通過數字總線的方式相連接。圖2為數字信號處理模塊的功能框圖,主要包括發送和接收處理模塊,編譯碼模塊以及對外接口模塊,實現系統的包括通信幀幀頭的解析、同步、短信編解碼以及系統工作狀態的選擇與切換等數字基帶信號處理功能。
2硬件電路設計
為了便于調試以及后期升級,FPGA及其配置單元,包括獨立電源模塊,LED指示單元,時鐘單元,復位單元以及程序下載調試接口等放置在一塊電路板上,這里稱之為數字核心處理板,簡稱核心板,是數字信號處理模塊的載體,負責完成模塊的全部數字信號處理功能,包括通信幀幀頭的解析、同步、短信編譯碼等,并提供了外部通信的接口,是系統的核心部件,核心處理板通過兩塊DIN96歐式插座與主板相連接。主板為系統的主功能板,主要搭載系統的模擬電路部分,是核心板與整個通信系統連接的橋梁,主板在發射時完成語音和短信信號的放大、整形與選通,在接收時完成語音和短信信號的AD變換、放大與選通。根據實際需求,核心板上搭載的是Intel的CycloneⅢ型FPGA,其配置芯片選用EPCS16N。圖3是核心處理板的頂層電路圖。
3FPGA系統設計
3.1通信幀結構。本設計中系統通信采用組幀的方式,組幀的類型主要包括常規語音幀、常規短信幀以及控制信息幀等。(1)語音信息組幀語音信息的發射采用模擬數據幀的方式,即有數字化的幀頭和幀尾,但幀的內容為模擬調制的語音信號,每幀的長度是不確定的,具體時間以一次有效發射為準,即從按下發射按鈕到松開發射按鈕的整個時間。其中,保護幀頭是一段連續的“01”chip,速率為1ms/chip,用于后續幀頭檢測門限的確定,同時作為發射啟動的保護時間。語音幀頭和語音幀尾都是一段32chip的M序列(最長線性移位寄存器序列),M序列是一種應用廣泛的偽隨機序列,它容易產生且規律性強,具有很好的自相關性和較好的互相關性[6,7]。語音幀頭和語音幀尾分別是語音信號開始和結束的標志。語音信息為正常發送的語音信號,保護幀頭、語音幀頭和幀尾是在通信過程中添加的,語音通信為按講(pushtotalk,PTT)方式,按下發射按鈕,則保護幀頭和語音幀頭發出,松開發射按鈕,則語音幀尾發出[8]。表1為部分碼字的功能。(2)短信息組幀圖5是短信息的組幀結構示意圖,保護幀頭和語音幀一樣,是一段持續120ms-150ms的“01”序列,短信幀頭是短信信號開始的標志。短信息段包括地址段、標志段、信息段以及校驗段,具體信息見表2,其中,地址段以4比特數據作為短信發射/接收地址,系統保留為“0000”;標志段以4比特數據作為業務短信字段,它標志著后面信息段的性質;信息段是16比特的數據,是短信息的具體內容;校驗段是8比特的數據,用于短信息內容糾錯。3.2發送處理模塊。發送處理模塊主要功能為對語音及短信息信號進行組幀及擴頻處理并發送給射頻單元,主要包括以下幾個功能塊:(1)語音幀頭、幀尾及短信幀頭識別碼的添加主要功能是在模擬語音信號之前、之后以及短信息之前添加數字幀頭識別碼并發送,其中語音幀頭識別的規格選用32比特M偽隨機序列,設計碼片速率為1Kbps,波形成形方式為方波。(2)短信息擴頻調制該功能主要是將編碼后的32比特短信息從高位到低位逐位進行擴頻調制并發送,擴頻碼選用32比特M偽隨機序列,碼片速率設計為1Kbps,信息速率為32比特/s,波形成形方式為方波。(3)發送控制該模塊通過使能信號對上述功能模塊進行選擇和控制,并對發送信號進行時序控制。其中,語音信號的發送流程如圖6所示,首先檢查系統的當前狀態,當系統正在接收信號時,不允許發送操作,其次判斷PTT發射按鈕是否有效,有效時則首先發送語音幀頭識別碼,發送完畢后打開模擬語音通路,發送模擬語音信號,當再次檢測到PTT按鍵電平跳變時說明語音發送已結束,此時程序關閉模擬語音通路,并隨后發送語音幀尾識別碼。短信息的發送流程相對簡單一些,當檢測到短信息發送請求后,系統開始接收編碼后的32比特短信息,隨后短信幀頭識別碼與32比特短信息形成組幀,并對組幀進行擴頻調制然后發送,發送完成后,給出發送成功標志,系統恢復到初始狀態。3.3接收處理模塊。接收處理模塊用于信號的捕獲、跟蹤同步以及接收,主要包括下采樣處理、動態門限計算、幀頭幀尾識別碼捕獲、短信息跟蹤解擴以及接收控制等功能。3.3.1下采樣處理。為保證信號處理精度,接收端AD采樣使用32倍過采樣,但是如果使用32倍過采樣的信號進行捕獲則將大大增加系統復雜度,這是不必要的。因此在接收端捕獲處理之前先要對信號進行下采樣,用下采樣之后的信號進行捕獲處理。下采樣處理分為兩步:首先是低通濾波,然后是2比1的抽取。對信號進行數字低通濾波的目的是使下采樣后的信號滿足低通采樣定理,避免混疊。這里使用一個窗函數數字低通濾波器,采用哈明窗,階數為60階。實現低通濾波通帶截止頻率為6KHz,阻帶衰減為-60dB。最后,對低通濾波后的樣點數據進行2比1的抽取,實現2比1下采樣[9]。3.3.2動態門限計算。在對信號進行捕獲和跟蹤時,要對信號的相關峰進行判決,這個判決門限不能是一成不變的,需要根據信號能量大小進行調整,否則在信號幅度變化的時候就有可能出現漏捕和誤捕。因此,就需要根據信號能量大小動態計算判決門限。在本系統中,一個碼元周期為32ms,因此動態門限必須在系統初始化之后32ms以內建立起來,以保證第一個碼元周期結束時不出現錯捕。所以,這里設計的動態門限計算時間為16ms,即每統計16ms的信號能量后計算出門限并進行更新。3.3.3幀頭幀尾的捕獲及短信息跟蹤解擴。幀頭幀尾包括語音的幀頭、幀尾及短信息的幀頭,捕獲方法采用滑動相關器進行滑動相關匹配,一旦出現相關峰即判斷為捕獲成功。捕獲到短信息幀頭識別碼后,需要對32比特的短信息進行跟蹤和解擴,跟蹤的目的是為了避免頻偏的積累導致失同步,跟蹤的方法是采用早遲環路。早碼環和遲碼環分別比跟蹤環早和遲半個碼片。當早環和遲環相關峰相等時,跟蹤環輸出最大相關峰;當早環和遲環相關峰不相等時,根據其差值的大小調節跟蹤環的位置,直到使跟蹤環相關峰達到最大。同步跟蹤之后即可進行信息解擴,解調出32比特短信息,送給譯碼模塊。3.3.4接收控制。接收控制模塊與發射控制模塊類似,模塊通過使能信號對其它功能模塊進行控制,并對接收信號進行時序控制。圖7分別為語音與短信息的接收流程。3.4編譯碼模塊。編碼包括短信息的信源編碼和信道編碼,最終組成32比特的發送幀格式。譯碼包括信道譯碼和糾檢錯,以及信源譯碼和系統狀態控制。短信息幀的格式如圖8所示。信源編碼是對外部接口模塊接收到的信息命令(如鍵盤輸入等)進行編碼,差生幀格式的標志段、地址段和信息段[8,9]。其中,標志段是短信息的功能標示,即表示短信息是常規短信還是特殊功能短信(如控制命令)。地址段是區分不同端機的地址碼。信息段是用來傳輸常規信息和特殊功能命令的,其中,常規信息采用BCD碼編碼,16比特的二進制數可以傳輸四位十進制數,即可傳輸1000條不同功能的短信命令[10]。信道編碼采用RS碼(Reed-Solomoncodes),RS碼是一種前向糾錯的信道編碼,屬于多元BCH碼,對于連續二進制比特的錯誤有較好的糾錯能力且實時性較好。本系統采用16元的(6,4)RS碼編碼,即每4個比特是一個RS碼符號,在24比特信息后添加8個比特的糾錯位,即兩個糾錯符號。在譯碼時,可以糾正一個符號的錯誤,也就是說即使某個符號4比特二進制信息全部傳錯,也可以通過RS譯碼實現糾正[11]。經過信源和信道編碼后,即可產生32比特的待發送信息,待發送信息將傳送給發送處理模塊,處理后發給射頻單元。同樣,接收模塊也將接收到的32比特信息傳送給譯碼模塊進行譯碼,并對譯碼后的信息進行分析,將常規短息送給液晶屏顯示,對特殊功能短信進行相應的響應并改變系統狀態。3.5對外接口模塊。對外接口模塊主要包括液晶顯示屏和矩陣鍵盤的連接接口以及對其它外部模塊的控制接口。在系統測試中,采用RS232接口與計算機互聯實現液晶顯示屏和矩陣鍵盤的連接功能,因此接口模塊就是兩個基于UART協議的串行接口,一個與計算機串口互聯完成短信息的編寫與顯示,另一個與其它系統模塊互聯實現功能控制。
4系統測試
4.1RS232串口通信功能測試。測試針對系統的對外接口模塊,使用串口助手模擬上位機向核心板發送控制指令“0x040000”,FPGA通過其內部串口模塊接收到這段指令之后,將依據程序設定通過串口模塊返回“0x050000”給串口助手。測試通過QuartusⅡ軟件自帶的SignalTap嵌入式邏輯分析儀進行。SignalTap不同于仿真軟件,它是一種系統級調試工具,通過軟件設置,選擇需要捕獲的信號及數據樣本量,這些信息隨主程序一起編譯并下載到FPGA上,相當于在器件內部嵌入了一個示波器,在進行相應觸發條件的設置后,就可以捕獲和顯示器件內部的實時信號,需要注意的是,由于邏輯分析儀需要占用FPGA的邏輯資源,因此加入觀察的信號不宜過多。圖9是串口發送和接收數據的實時采集,由圖可以看到,在發送過程中,指令“0×040000”被分為3個8比特的數據包發送出去,每個數據包低位在前,高位在后。從接收數據過程的捕獲測試圖可以看到,返回的數據是“0×050000”,與程序設定相同。4.2短信及語音組幀測試。測試時,使用串口助手將代表特定信息的指令發送給FPGA,邏輯分析儀觸發后會捕獲FPGA輸出的信號。圖中第一個信號是系統的最終輸出,該信號會被傳輸至射頻前端進行調制并最終發射出去;第二行是短信幀頭,包括一段120ms的保護幀頭和短信幀頭識別碼,其它信號為輔助觀察的計數信號。短信幀部分是已經經過擴頻調制處理的,經過比對,與程序設定相符。圖11為語音組幀測試。測試時,首先按下外部PTT按鍵,此時系統會立即輸出數字保護幀頭和語音幀頭識別碼,之后會打開模擬語音開關輸出模擬調制的語音信號,這段時間FPGA是沒有輸出的。語音輸入結束后,松開PTT按鍵,系統輸出語音幀尾識別碼,表示一次語音輸入已結束。通過觀察圖11抓取的實時信號可以看到,系統反應與程序設定是一致的。圖12為測試時的硬件環境。
5結束語
本文基于軟件無線電設計平臺,選用大規??删幊踢壿嬈骷?,使用硬件描述語言,采用軟件無線電設計思想設計了用于某型無線通信系統上的數字信號處理關鍵模塊,在較小的硬件平臺上通過軟件設置實現了語音信息的發送與接收、短報文信息的發送與接收、短報文信息的編解碼及系統模式切換等功能,節約了大量的硬件資源,提高了系統的實時性能。經測試,該模塊性能良好、使用靈活、可靠性高而且功能易于擴展,具有較大的實用價值。
作者:李聰 向新 王瑞 孫曄 單位:空軍工程大學
- 上一篇:多媒體技術對學困生課堂教學的影響
- 下一篇:測量系統分析理論與方法研究