陳笑笑,華展鴻,朱林奇,盧新祥,金寶根
(紹興文理學(xué)院 數(shù)理信息學(xué)院,浙江紹興,312000)
在移動(dòng)通信技術(shù)不斷發(fā)展的背景下,信號(hào)傳輸起著至關(guān)重要的作用,而調(diào)制解調(diào)作為信號(hào)發(fā)射到接收的必經(jīng)之路,其中的參數(shù)測(cè)定也不容忽視,但在利用高集成化模塊解調(diào)時(shí),只輸出解調(diào)后的信號(hào),容易丟失調(diào)制過程中的參數(shù),因此調(diào)制解調(diào)過程中的參數(shù)測(cè)定也有著巨大的作用。得益于數(shù)字信號(hào)處理技術(shù)和微處理器的快速發(fā)展,可以將模擬信號(hào)轉(zhuǎn)為數(shù)字信號(hào)后再進(jìn)行處理,相比模擬信號(hào),數(shù)字信號(hào)具有更高的可靠性、抗噪性能、靈活性等優(yōu)點(diǎn),而模擬器件會(huì)受到諸多因素的影響,如器件的非線性,頻率穩(wěn)定度、溫度漂移、相位噪聲等。
本文提出了一種基于數(shù)字中頻技術(shù)[1]的調(diào)制度自動(dòng)測(cè)量系統(tǒng)設(shè)計(jì),系統(tǒng)以FPGA 和STM32 作為主要硬件平臺(tái)[2],數(shù)字中頻技術(shù)為核心,用于高頻信號(hào)調(diào)制度測(cè)量[3],方便得到解調(diào)過程中的重要中間量。
本文結(jié)合了FPGA 高速信號(hào)處理的快速性和ARM 單元功能豐富、適合浮點(diǎn)運(yùn)算的優(yōu)點(diǎn),提出了一種基于數(shù)字中頻技術(shù)的調(diào)制度自動(dòng)測(cè)量系統(tǒng)設(shè)計(jì),旨在完成對(duì)解調(diào)過程中的調(diào)制度中間量進(jìn)行測(cè)定[4]。
該系統(tǒng)設(shè)計(jì)以FPGA 和STM32 作為主要硬件平臺(tái)。輸入信號(hào)先經(jīng)過前端調(diào)理電路改善信號(hào),之后送入高速AD 采樣,由FPGA 接收采樣數(shù)據(jù)。FPGA 作為本系統(tǒng)信號(hào)處理與解調(diào)的核心,完成模數(shù)轉(zhuǎn)換數(shù)據(jù)的采集,產(chǎn)生NCO 本振、使用乘法器混頻、實(shí)現(xiàn)FIR 低通濾波器濾除信號(hào)高頻噪聲、解調(diào)單元等信號(hào)處理單元和SPI 數(shù)據(jù)收發(fā)單元。STM32 則裝載信號(hào)識(shí)別和FFT 等算法,將計(jì)算得到的結(jié)果再送回FPGA 單元解調(diào),同時(shí)負(fù)責(zé)接收解調(diào)數(shù)據(jù)再通過DA 輸出并顯示調(diào)幅度或調(diào)制度及最大頻偏。
方案的核心思路是數(shù)字化和降頻,若直接對(duì)模擬信號(hào)處理,會(huì)遇到非常多的干擾,并且不同模塊連接時(shí)會(huì)有很多適配的問題出現(xiàn),過程分析也較為困難。因此將模擬信號(hào)數(shù)字化是一種十分高效的方法。此外,因?yàn)閷?duì)高頻信號(hào)數(shù)據(jù)分析需要消耗大量的資源,并且當(dāng)信號(hào)頻率增加到一定程度時(shí),運(yùn)算數(shù)據(jù)量過大,導(dǎo)致系統(tǒng)效率過低,對(duì)信號(hào)用合適的方法降頻但不改變?cè)拘盘?hào)的信息,減少運(yùn)算的數(shù)據(jù)量,提高系統(tǒng)響應(yīng)速度。
本系統(tǒng)的硬件主要包括四個(gè)部分:前端調(diào)理電路、高速AD 采集模塊、FPGA 信號(hào)處理單元、STM32 與顯示單元。如圖1 所示,高速AD 由FPGA 產(chǎn)生高速時(shí)鐘驅(qū)動(dòng)工作,F(xiàn)PGA 與STM32 通過SPI 協(xié)議進(jìn)行數(shù)據(jù)傳輸。顯示單元?jiǎng)t由STM32 驅(qū)動(dòng)LCD 顯示參數(shù)。
圖1 調(diào)制度測(cè)量系統(tǒng)硬件組成
輸入模擬信號(hào)調(diào)理單元,由運(yùn)算放大器組成,如圖2所示,調(diào)理電路主要對(duì)輸入小信號(hào)進(jìn)行放大,確保模數(shù)轉(zhuǎn)換有足夠的分辨率,要注意保證放大器單位增益帶寬要高,本系統(tǒng)選用LMH6643 運(yùn)算放大器,圖中R4 和R7 兩個(gè)反饋電阻視情況適當(dāng)調(diào)整。若AD 芯片為單極性轉(zhuǎn)換,則還需加上直流偏置使輸入信號(hào)鉗位在一個(gè)固定的直流電平上。
圖2 前端調(diào)理電路
模數(shù)轉(zhuǎn)換作用是將輸入模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),提供FPGA 進(jìn)行信號(hào)處理。根據(jù)奈奎斯特采樣定理,采樣頻率至少為輸入信號(hào)的兩倍,為確保足夠的采樣率,要選擇采樣速率較高的AD 芯片,如圖3 所示,本系統(tǒng)選用AD08200 模數(shù)轉(zhuǎn)換芯片,采樣率可達(dá)200M/s,8bit 采樣精度,并加入LM1085 線性穩(wěn)壓芯片使系統(tǒng)更穩(wěn)定,同時(shí)由FPGA 提供驅(qū)動(dòng)時(shí)鐘進(jìn)行采樣。
圖3 穩(wěn)壓電路與AD 采樣電路
信號(hào)處理與解調(diào)單元主要由FPGA 組成,是本裝置的核心。負(fù)責(zé)采集模數(shù)轉(zhuǎn)換數(shù)據(jù),產(chǎn)生NCO 本振、乘法器混頻[6]、實(shí)現(xiàn)FIR 低通濾波器[5]、解調(diào)單元等信號(hào)處理單元和SPI 數(shù)據(jù)收發(fā)單元。根據(jù)所需要消耗的資源,本系統(tǒng)選用型號(hào)為EP4CE22E22A7 的FPGA 芯片。
Alter 提供的IP 核可以定制生成在Alter FPGA 芯片上運(yùn)行的數(shù)控振蕩器。其結(jié)構(gòu)有基于ROM 的、基于CORDIC的和基于乘法器的。并且其支持位寬可變的頻率調(diào)制輸入和相位調(diào)制輸入。滿足系統(tǒng)設(shè)計(jì)需要根據(jù)頻率計(jì)計(jì)算的時(shí)鐘來改變生成的本振頻率的要求,選擇大ROM 結(jié)構(gòu),消耗更多的資源來提高精度。
乘法器可以直接將兩個(gè)信號(hào)相乘得到,也可以選擇乘法器IP 核生成,但要注意其數(shù)據(jù)的有無符號(hào),系統(tǒng)設(shè)計(jì)時(shí),應(yīng)該全程采用有符號(hào)型或無符號(hào)型數(shù)據(jù)。本系統(tǒng)采用的是乘法器IP 核,全程無符號(hào)數(shù)據(jù)運(yùn)算。
與IIR 濾波器相比,F(xiàn)IR 濾波器具有線性相位和固有穩(wěn)定性,故采用FIR 濾波器來濾除噪聲。同時(shí)設(shè)計(jì)時(shí)用Matlab 輔助生成抽頭系數(shù),導(dǎo)入到IP 核內(nèi),相比IP 核內(nèi)直接生成有更好的效果。其余的IP 核參數(shù)設(shè)置根據(jù)實(shí)際要求選擇。
FFT 在FPGA 上需要消耗大量的資源,并且在數(shù)據(jù)位寬和運(yùn)算點(diǎn)數(shù)上的限制較大,因此我們通過SPI 將數(shù)據(jù)送到ARM 單元上運(yùn)算,效率更高。
STM32F4 采用Cortex-M4 內(nèi)核,內(nèi)置硬件FPU 單元,在數(shù)字信號(hào)處理方面還增加了DSP 指令集,在數(shù)字信號(hào)處理能力方面得到了大幅的提升,支持多種點(diǎn)數(shù)的FFT 運(yùn)算。因此本系統(tǒng)選用STM32F407 芯片來完成浮點(diǎn)運(yùn)算。運(yùn)算包括接收FPGA 發(fā)來的處理數(shù)據(jù)和解調(diào)數(shù)據(jù),F(xiàn)FT 運(yùn)算,利用軟件軟法判斷信號(hào)類型,并利用片內(nèi)DA 輸出解調(diào)數(shù)據(jù),同時(shí)驅(qū)動(dòng)LCD 顯示相關(guān)數(shù)據(jù)。
如圖4 所示,首先將送入硬件的信號(hào)進(jìn)行調(diào)理,將信號(hào)放大使其符合AD 采集的動(dòng)態(tài)范圍要求,之后用高速AD芯片采集,通過FPGA 產(chǎn)生時(shí)鐘驅(qū)動(dòng)芯片,將采集的信號(hào)送入FPGA 內(nèi)。然后將這些數(shù)據(jù)在FPGA 內(nèi)處理,過程如下,首先由頻率計(jì)計(jì)算信號(hào)頻率,根據(jù)得到的頻率,控制NCO產(chǎn)生本振(本振頻率應(yīng)和測(cè)量頻率有一定偏差),再與采集到的信號(hào)通過乘法器混頻,再將混頻后的中頻信號(hào)通過FIR低通濾波器,濾除高中頻信號(hào),使得信號(hào)整體在搬移低頻段,再對(duì)此信號(hào)降采樣,將一幀數(shù)據(jù)送到ARM 單元進(jìn)行FFT 運(yùn)算,并送到后續(xù)的解調(diào)單元等待解調(diào)。ARM 單元根據(jù)FFT計(jì)算的結(jié)果,結(jié)合經(jīng)優(yōu)化的零中心歸一化瞬時(shí)幅度之譜密度算法分析當(dāng)前信號(hào)為AM/FM,并將結(jié)果送給FPGA 的解調(diào)單元,讓其根據(jù)信號(hào)類型進(jìn)行解調(diào),解調(diào)后將解調(diào)信號(hào)送給ARM 單元并通過DA 輸出,同時(shí)ARM 單元根據(jù)FFT 結(jié)果,計(jì)算得到AM 的調(diào)幅度或者FM 的調(diào)頻度及最大頻偏并顯示。
圖4 軟件算法整體流程框圖
通過FFT 計(jì)算結(jié)果,根據(jù)頻譜特征計(jì)算調(diào)制度,調(diào)幅信號(hào)的調(diào)制度由上下邊帶分量占比決定,調(diào)頻信號(hào)由最大頻偏決定。
本系統(tǒng)識(shí)別算法使用經(jīng)優(yōu)化的零中心歸一化瞬時(shí)幅度之譜密度算法[7]。零中心歸一化瞬時(shí)幅度之譜密度的最大值定義如下:
AM 與FM 解調(diào)需要用到不同方法。對(duì)于AM 解調(diào),只需用一個(gè)乘法器與低通濾波器,恢復(fù)載波與本地載波一致,具體方法如圖5 所示。
圖5 AM 同步檢波(乘積型)
FM 信號(hào)可分解為同相分量與正交分量之和,可以采用線性調(diào)制中的相干解調(diào)法來進(jìn)行解調(diào),如圖6 所示。
圖6 FM 相干解調(diào)
表1 AM信號(hào)識(shí)別結(jié)果
從上表可以看出,其正確率接近100%??蓽y(cè)的調(diào)幅度范圍在0.1~0.9 內(nèi)。
由上表計(jì)算得到,其平均正確率約為97.7%,可測(cè)的調(diào)頻度范圍在1-6 內(nèi)。結(jié)合AM 的數(shù)據(jù)平均正確率為98.8%,接近99%。
在此基礎(chǔ)上,還改變了系統(tǒng)中的各模塊的參數(shù)來定性檢驗(yàn)其對(duì)系統(tǒng)的影響,例如NCO 的生成結(jié)構(gòu)和相位增量,濾波器的抽頭系數(shù)和階數(shù),F(xiàn)FT 運(yùn)算的點(diǎn)數(shù),判定閾值的設(shè)定等因素,發(fā)現(xiàn)其最后的結(jié)果改變幅度較小,依舊可以滿足需求,若要求較高,也可以對(duì)單一系統(tǒng)做標(biāo)定,來達(dá)到更好的效果。
本文研究并設(shè)計(jì)了一種基于數(shù)字中頻技術(shù)的調(diào)制度自動(dòng)測(cè)量系統(tǒng),詳細(xì)介紹了該系統(tǒng)的軟硬件設(shè)計(jì),并對(duì)調(diào)制度測(cè)量系統(tǒng)進(jìn)行了實(shí)際測(cè)試。根據(jù)數(shù)據(jù)結(jié)果觀察,自動(dòng)識(shí)別算法識(shí)別的準(zhǔn)確率較高,且得到的調(diào)制度偏差很小,解調(diào)數(shù)據(jù)也十分準(zhǔn)確,完整地驗(yàn)證了系統(tǒng)的正確性、完整性和可行性。對(duì)于解調(diào)中的中間量測(cè)定十分方便,數(shù)字技術(shù)的應(yīng)用極大豐富了解決問題的方法,具有現(xiàn)實(shí)意義。
影響此系統(tǒng)測(cè)量的誤差原因主要來源于數(shù)字下變頻過程:一是數(shù)字本振、輸入信號(hào)以及混頻乘法運(yùn)算的樣本數(shù)值的有限字長(zhǎng)所引起的誤差;二是數(shù)字本振相位分辨率不夠而引起數(shù)字本振樣本數(shù)值的近似取值。也就是說數(shù)字混頻器和數(shù)字本振的數(shù)據(jù)位數(shù)不夠長(zhǎng),存在尾數(shù)截?cái)嗟那闆r,根據(jù)截?cái)嗪徒频某潭?,?huì)或多或少影響數(shù)字下變頻的性能,但現(xiàn)有的誤差已基本滿足要求。通過本系統(tǒng)的設(shè)計(jì)研究,可以方便地獲得簡(jiǎn)單信號(hào)解調(diào)過程中的調(diào)制度參數(shù)并為后續(xù)的改進(jìn)作基礎(chǔ)。