摘要
本實驗基于FPGA開發(fā)板DE2-115和AD/DA板THDB-ADA設計一個信號產(chǎn)生與頻譜分析的系統(tǒng)。運用Quartus II軟件進行編程,首先,設計一個參數(shù)可變的LFM信號發(fā)生器和數(shù)字FIR濾波器。然后,通過DAC將其轉換為模擬中頻信號輸出,再對外接信號進行ADC采樣,最后,對信號進行頻譜分析。
關鍵詞:FPGA, Quartus II, LFM, ADC/DAC
一、實驗器材
1、FPGA
FPGA(Field-Programmable Gate Array)是一種半定制的集成數(shù)字芯片,其最大特點是現(xiàn)場可編程。內(nèi)部結構由CLB、RAM、DCM、IOB、Interconnect等構成。
圖1 FPGA內(nèi)部結構
FPGA開發(fā)的一般流程:
設計輸入:硬件描述語言,IP核,原理圖;
編譯:綜合,F(xiàn)itter,時序;
仿真:Modelsim;
下載調(diào)試:SignalTap。
2、DE2-115開發(fā)板
圖2 開發(fā)板示意圖
2.1 開發(fā)板資源
Altera Cyclone? IV 4CE115 FPGA 器件
Altera 串行配置芯片: EPCS64
USB Blaster 在線編程;也支持JTAG和AS可編程方式
2MB SRAM
兩片 64MB SDRAM
8MB Flash memory
SD卡插槽
4個按鈕
18個滑動開關
18個紅色LED
9個綠色LED
50M時鐘源
24位音頻編解碼器,麥克風插孔
電視解碼
RJ45 2G以太網(wǎng)接口
VGA連接器
含有USB_A和USB_B連接器的主從控制器
RS232收發(fā)器和9針連接器
PS/2鼠標和鍵盤連接器
紅外接收器
2.2 ControlPanel工具
ControlPanel是開發(fā)板自帶的一個工具軟件,可以通過該軟件提供的圖形界面直接對FPGA上的各個外設進行操作。通過該操作可以確認PC機與開發(fā)板的連接是否正確,開發(fā)板的硬件工作是否正常。
ControlPanel的安裝過程如下:
確保QUARTUS II 10.0 或以上版本能被成功安裝;將開關RUN/PROG切換到RUN位置;將USB接線連接至USB驅動端口,供12V電源并打開開關;打開主機上的可執(zhí)行文件DE2_115_ControlPanel.exe,controlPanel的用戶界面如下:
圖3 用戶界面
DE2_115_ControlPanel.exe一旦被啟動,DE2_115_ControlPanel.sof程序流文件將會被自動加載;如果未連接,點擊CONNECT,點sof文件將會重新加載到板子上;注意,控制面板將會占用一直到你關閉那個端口,除非你關閉USB端口,否則你不能使用QUARTUS II來下載文件;控制面板現(xiàn)在可以使用了,通過設置一些LED燈ON/OFF的狀態(tài)來觀察DE2-115上的狀態(tài)。
2.3 DE2-115開發(fā)板
JTAG配置FPGA:
連接電源適配器打開電源開關
將下圖開關到RUN位置進行調(diào)試
連接USB連接線連到DE2-115開發(fā)板的USB BLASTER端口
下載.sof后綴名的文件來對FPGA進行編程
如需對配置芯片變成開關需要打到PROGRAM位置
開發(fā)板代碼設計流程:
圖4 設計流程
利用System Builder建立工程,系統(tǒng)將自動根據(jù)需求進行管腳分配和相關設置。
輸入工程名字,將自動設置為頂層設計實體;
用戶根據(jù)自己的需求,選擇需要使用的模塊the DE2-115 ,System Builder將會自動產(chǎn)生相關聯(lián)的引腳配置;
用戶可以自己定義引腳的名字、位置、目錄、和IO標準
通過高速中間接口可以外掛子卡
he DE2-115 System Builder 可以使用戶加載某個配置,保存用戶的配置;將會產(chǎn)生QUARTUS II 的文件。
3、A/D、D/A開發(fā)板
ADDA擴展板是 利用HSMC接口進行擴展的子卡,相當于FPGA的一個外設。擴展板提供兩路
65
M
65M
65M,
14
14
14位采樣分辨率的ADC以及兩路
125
M
125M
125M,
14
14
14位采樣精度的DAC。采樣時鐘設置靈活可以采用多種形式。信號輸入和輸出采用變壓器耦合方式,頻率范圍為
0.1
M
H
z
?
800
M
H
z
0.1MHz~800MHz
0.1MHz?800MHz。
ADC的基本參數(shù):集成雙端口14位AD;
3
V
3V
3V供電
(
2.7
V
?
3.6
V
)
(2.7V-3.6V)
(2.7V?3.6V);
S
N
R
=
71.6
d
B
SNR=71.6dB
SNR=71.6dB;固定的模擬輸入范圍
0
V
?
2
V
0V~2V
0V?2V。
二、實驗內(nèi)容
1、實驗簡介
本實驗利用DE2-115開發(fā)板產(chǎn)生一個參數(shù)可變的線性調(diào)頻(LFM)信號,利用數(shù)字濾波器改變LFM信號的幅頻特性,并通過DA擴展板轉換為模擬中頻信號。通過AD擴展板采集該信號,經(jīng)過數(shù)字正交下變頻轉換為數(shù)字基帶信號,并對此基帶信號進行頻譜分析。
基本要求:
產(chǎn)生LFM脈沖,通過調(diào)試工具設置信號參數(shù),使得脈沖寬度在1us~1s內(nèi)可變,帶寬在5MHz~10MHz可變,脈沖重復周期在10us~2s內(nèi)可變,載波頻率在5MHz~20MHz可變,輸出信號幅度在0.1~1V可變,以上參數(shù)可任意組合,產(chǎn)生的信號通過DAC輸出,DAC數(shù)據(jù)更新率為120MHz。
將上面產(chǎn)生的LFM脈沖先通過截止頻率為5MHz,阻帶頻率為10MHz的FIR低通濾波器,再通過DAC輸出。
將上面產(chǎn)生的LFM脈沖先通過截止頻率為5MHz,阻帶頻率為10MHz的FIR低通濾波器,再通過DAC輸出。
提高要求:
LFM信號的參數(shù)可變范圍進一步擴展,范圍越大越好。
多組FIR濾波器的沖擊響應可實時切換。
頻譜分析的分辨率進一步提高。
2、LFM信號的產(chǎn)生
2.1 LFM基帶信號
LFM基帶信號的數(shù)學表達式:
s
(
t
)
=
r
e
c
t
(
t
/
T
)
?
e
(
j
π
K
t
2
?
)
,
?
T
/
2
≤
t
<
T
/
2
s(t)=rect(t/T)\ e^( j\pi Kt^2\ ),-T/2\le t<T/2
s(t)=rect(t/T)?e(jπKt2?),?T/2≤t<T/2
其中,
r
e
c
t
(
)
rect()
rect()是矩形脈沖函數(shù),
T
T
T是脈沖持續(xù)時間,單位是
s
s
s,
K
K
K是調(diào)頻斜率,單位是
H
z
/
s
Hz/s
Hz/s。
LFM信號的瞬時相位為:
ψ
(
t
)
=
π
K
t
2
\psi\left(t\right)=\pi Kt^2
ψ(t)=πKt2
LFM信號的瞬時頻率為:
f
(
t
)
=
1
2
π
d
ψ
(
t
)
d
t
=
K
t
f\left(t\right)=\frac{1}{2\pi}\frac{d\psi\left(t\right)}{dt}=Kt
f(t)=2π1?dtdψ(t)?=Kt
LFM信號的帶寬為:
B
=
K
T
B=KT
B=KT
LFM基帶信號時域波形
圖5 帶寬為10MHz,脈寬為10us的LFM信號
2.2 LFM帶通信號
LFM帶通信號的數(shù)學表達式:
s
(
t
)
=
r
e
a
l
(
r
e
c
t
(
t
/
T
)
e
(
j
(
2
π
f
c
t
+
π
K
t
2
)
)
)
,
?
T
/
2
≤
t
<
T
/
2
s(t)=real(rect(t/T) e^(j(2πf_c t+πKt^2))),-T/2≤t<T/2
s(t)=real(rect(t/T)e(j(2πfc?t+πKt2))),?T/2≤t<T/2
其中,
r
e
a
l
(
)
real()
real()是取復數(shù)實部函數(shù),
f
c
f_c
fc?是載波頻率,單位是
H
z
Hz
Hz。
LFM帶通信號的瞬時相位為:
ψ
(
t
)
=
2
π
f
c
t
+
π
K
t
2
ψ(t)=2πf_c t+πKt^2
ψ(t)=2πfc?t+πKt2
LFM信號的瞬時頻率為:
f
(
t
)
=
1
/
2
π
d
ψ
(
t
)
/
d
t
=
f
c
+
K
t
f(t)=1/2π dψ(t)/dt=f_c+Kt
f(t)=1/2πdψ(t)/dt=fc?+Kt
LFM信號的帶寬為:
B
=
K
T
B=KT
B=KT
LFM帶通信號時域波形
圖6 載波為
10
M
H
z
10MHz
10MHz,帶寬為
10
M
H
z
10MHz
10MHz,脈寬為
10
u
s
10us
10us的LFM實帶通信號LFM帶通信號頻譜
圖7 載波為
10
M
H
z
10MHz
10MHz,帶寬為
10
M
H
z
10MHz
10MHz,脈寬為
100
u
s
100us
100us的LFM實帶通信號
2.3 DDS產(chǎn)生LFM信號
瞬時頻率:
f
(
n
T
s
)
=
f
c
+
K
n
T
s
f(nT_s )=f_c+KnT_s
f(nTs?)=fc?+KnTs?
DDS的頻率調(diào)諧字FTW和輸出頻率
f
o
f_o
fo?的關系:
F
T
W
=
f
o
/
f
s
2
N
FTW=f_o/f_s 2^N
FTW=fo?/fs?2N
其中,N是DDS的相位累加器位數(shù),$f_s=1?T_s $為DDS的時鐘頻率。因此,用DDS產(chǎn)生LFM信號時,對應的頻率調(diào)諧字為:
F
T
W
(
n
)
=
r
o
u
n
d
(
f
o
/
f
s
2
N
)
=
r
o
u
n
d
(
f
c
/
f
s
2
N
+
n
K
〖
T
s
〗
2
2
N
)
FTW(n)=round(f_o/f_s 2^N )=round(f_c/f_s 2^N+nK〖T_s〗^2 2^N)
FTW(n)=round(fo?/fs?2N)=round(fc?/fs?2N+nK〖Ts?〗22N)
3、FIR濾波器
3.1 FIR濾波器設計方法
窗函數(shù)法:是一種在時域設計FIR數(shù)字濾波器的方法,用窗函數(shù)對理想濾波器的沖擊響應進行加權。
頻率取樣法:從頻域出發(fā),對理想濾波器頻域特性進行等間隔采樣,將采樣值作為待設計濾波器的頻率特性,對其做IDFT得到濾波器的沖擊響應。
最優(yōu)設計方法:等波紋切比雪夫逼近法,采用“最大誤差最小”準則得到最佳濾波器。
3.2 MATLAB設計FIR濾波器
MATLAB函數(shù):fir1、fir2、firpm
FIR濾波器設計工具:fdatool
4、 基于FFT的頻譜分析
4.1 FFT原理
FFT是快速傅里葉變換的簡稱,可對離散信號進行頻域分析。
若時域離散序列
x
(
n
)
,
0
≤
n
≤
N
?
1
,
x(n),0≤n≤N-1,
x(n),0≤n≤N?1,對其作N點FFT運算得到
X
(
k
)
X(k)
X(k):
X
(
k
)
=
∑
(
n
=
0
)
(
N
?
1
)
?
〖
x
(
n
)
e
(
?
j
2
π
/
N
k
n
)
〗
X(k)=∑_(n=0)^(N-1)?〖x(n)e^(-j 2π/N kn) 〗
X(k)=(∑?n=0)(N?1)?〖x(n)e(?j2π/Nkn)〗
其中,
|
X
(
k
)
|
|X(k)|
|X(k)|是歸一化頻率
2
π
/
N
k
2π/N k
2π/Nk的信號分量的幅度,
a
r
g
?
(
X
(
k
)
)
arg?(X(k))
arg?(X(k))是其相位。
4.2 頻譜分析原理
對模擬信號進行低通采樣或者帶通采樣得到實信號;
對實信號正交下變頻,得到零中頻復信號;
對零中頻信號作FFT,得到被分析信號的幅頻特性和相頻特性。
三、實驗過程
圖8 實驗流程
本次實驗使用了PLL IP核、NCO IP核、FIR IP核、FFT IP核以及乘法和加法器IP核。
PLL IP核:鎖相環(huán)IP核,利用50MHz系統(tǒng)時鐘,產(chǎn)生
125
M
H
z
125MHz
125MHz和
65
M
H
z
65MHz
65MHz的時鐘信號,分別驅動DAC和ADC模塊。
NCO IP核:根據(jù)隨時間變化的頻率控制字,輸出正余弦信號,得到線性調(diào)頻(LFM)信號。
FIR IP核:導入由matlab生成的系數(shù)文件(.txt),對輸入數(shù)據(jù)進行濾波。本次實驗一共設計了兩個低通濾波器,一個是對LFM信號進行濾波的濾波器,它的通帶截止頻率為
5
M
H
z
5MHz
5MHz,阻帶截止頻率為
10
M
H
z
10MHz
10MHz的低通FIR濾波器,另一個是在正交下變頻中使用的低通濾波器,它的通帶截止頻率為
2.5
M
H
z
2.5MHz
2.5MHz,阻帶截止頻率為
5
M
H
z
5MHz
5MHz。
FFT IP核:設置點數(shù),可以對輸入數(shù)據(jù)進行相應點數(shù)的FFT/IFFT運算,將時域輸入轉換成頻域輸出。
1、設置參數(shù)
圖9 LFM_1參數(shù)設置
打開In-System Sources and Probes Editor工具,進行參數(shù)設置,
s
o
u
r
c
e
1
source1
source1調(diào)節(jié)幅度,
s
o
u
r
c
e
2
source2
source2調(diào)節(jié)脈沖寬度,
s
o
u
r
c
e
3
source3
source3調(diào)節(jié)脈沖重復周期,
s
o
u
r
c
e
4
source4
source4調(diào)節(jié)載頻,
s
o
u
r
c
e
5
v
調(diào)
節(jié)
帶
寬
,
source5v調(diào)節(jié)帶寬,
source5v調(diào)節(jié)帶寬,source6$調(diào)節(jié)FFT輸出幅頻特性大小。
要產(chǎn)生一個幅度為
1
V
1V
1V,脈寬為
1
u
s
1us
1us,脈沖重復周期為
2
u
s
2us
2us,載頻
6
M
H
z
6MHz
6MHz,帶寬
5
M
H
z
5MHz
5MHz的LFM信號,則
s
o
u
r
c
e
1
=
1
,
s
o
u
r
c
e
2
=
1
,
s
o
u
r
c
e
3
=
2
,
s
o
u
r
c
e
4
=
6
,
s
o
u
r
c
e
5
=
5
,
s
o
u
r
c
e
6
=
0
source1=1,source2=1,source3=2,source4=6,source5=5,source6=0
source1=1,source2=1,source3=2,source4=6,source5=5,source6=0。
圖10 LFM_2參數(shù)設置
產(chǎn)生一個幅度為
1
V
1V
1V,脈寬為
10
u
s
10us
10us,脈沖重復周期為
20
u
s
20us
20us,載頻
5
M
H
z
5MHz
5MHz,帶寬
5
M
H
z
5MHz
5MHz的LFM信號。
2、硬件調(diào)試
圖11 調(diào)試結果1
打開SignalTap II Logic Analyzer工具,添加需要觀測的信號,運行,可以看到信號波形。其中DAC_DA信號是幅度為
1
V
1V
1V,脈寬為
1
u
s
1us
1us,脈沖重復周期為2us,載頻
6
M
H
z
6MHz
6MHz,帶寬
5
M
H
z
5MHz
5MHz的LFM信號,可以看到占空比為
1
/
2
1/2
1/2;DAC_DB是經(jīng)過濾波以后的LFM信號,可以觀察到高頻部分的衰減;ADC_DB是經(jīng)過濾波后的數(shù)字LFM信號,result信號是對其進行FFT運算后的結果。
圖12 調(diào)試結果2
幅度為1V,脈寬為10us,脈沖重復周期為20us,載頻5MHz,帶寬5MHz的LFM信號的硬件調(diào)試結果。將AD/DA拓展板上的DAC_DA接口和ADC_DB接口相連,通過SignalTap II工具可以得到?jīng)]有經(jīng)過低通濾波的LFM信號的幅頻和相頻特性,從上往下數(shù)第二條波形是該LFM信號的幅頻特性。將該帶通信號ADC_DB正交下變頻,得到零中頻信號,再進行FFT,倒數(shù)第二條波形是正交下變頻之后的幅頻特性,最后一條波形是采用Cordic算法得到的相頻特性。
圖13 濾波后的調(diào)試結果
將AD/DA拓展板上的DAC_DB接口和ADC_DB接口相連,通過SignalTap II工具可以得到經(jīng)過低通濾波的LFM信號的幅頻和相頻特性,從上往下數(shù)第二條波形是經(jīng)過低通濾波的LFM信號的幅頻特性。將該帶通信號ADC_DB正交下變頻,得到零中頻信號,再進行FFT,倒數(shù)第二條波形是正交下變頻之后的幅頻特性,最后一條波形是相頻特性。
3、示波器觀察
打開In-System Sources and Probes Editor工具,進行參數(shù)設置,
s
o
u
r
c
e
1
=
0
,
s
o
u
r
c
e
2
=
10
,
s
o
u
r
c
e
3
=
20
,
s
o
u
r
c
e
4
=
10
,
s
o
u
r
c
e
5
=
10
,
s
o
u
r
c
e
6
=
5
source1=0,source2=10,source3=20,source4=10,source5=10,source6=5
source1=0,source2=10,source3=20,source4=10,source5=10,source6=5。產(chǎn)生脈寬為
10
u
s
10us
10us,脈沖重復周期為
20
u
s
20us
20us,載頻
10
M
H
z
10MHz
10MHz,帶寬
10
M
H
z
10MHz
10MHz的LFM信號。
圖14 時域波形
通過顯示光標,可以在示波器上看到脈寬為
10
u
s
10us
10us,重復周期為
20
u
s
20us
20us的LFM信號。
圖15 原信號頻譜
按下示波器上的FFT按鍵,顯示該LFM信號的頻譜,通過顯示光標,可以看到信號的載頻為
10
M
H
z
10MHz
10MHz,帶寬為
10
M
H
z
10MHz
10MHz。
圖16 濾波后的時域波形
這是LFM信號通過通帶截止頻率為
5
M
H
z
5MHz
5MHz,阻帶截止頻率為
10
M
H
z
10MHz
10MHz的低通濾波器后輸出的波形。
圖17 濾波后的頻譜
由于濾波器的過渡帶為
5
M
H
z
?
10
M
H
z
5MHz~10MHz
5MHz?10MHz,所以經(jīng)過濾波后,信號的幅頻特性在
5
M
H
z
?
10
M
H
z
5MHz~10MHz
5MHz?10MHz內(nèi)有了衰減,
10
M
H
z
10MHz
10MHz以上的頻率成分被濾除。文章來源:http://www.zghlxwxcb.cn/news/detail-439363.html
四、實驗總結
通過這一個星期的電類綜合實驗,我學會了Quartus II軟件的使用,熟悉了Quartus II軟件內(nèi)部的調(diào)試工具,熟悉了verilog語言的使用,了解了LFM信號的產(chǎn)生和數(shù)字處理、頻譜分析。從一開始的一籌莫展,到一步一步的實現(xiàn)這個過程中,我學到了很多學習新知識的方法,掌握了專業(yè)知識,同時鍛煉了動手的能力。
回顧整個設計過程,發(fā)現(xiàn)自己真的有很多不足。在實驗過程中,學到了很多有關電子技術理論和實際方面的知識,從理論中得出結論,才能真正的提高自己的實際動手能力和獨立能力,從中獲得經(jīng)驗和知識。對以前所學過的知識理解不夠深,不夠透,掌握不夠牢固。
之前,在課本上學習過很多數(shù)字信號處理的方法,但是從未動手實踐過,在這次實踐的同時,發(fā)現(xiàn)了以前知識的短板。理論知識掌握了還是遠遠不夠的,還需要會使用matlab仿真,會使用verilog語言編寫代碼,會使用Quartus II軟件硬件調(diào)試,會使用示波器觀察信號等等,在實踐之后才知道要真正實現(xiàn)一個系統(tǒng),理論學習只是特別小的一部分,但也是第一步。在該如何設計,并且使之能實現(xiàn)我們需要的功能這個過程中,培養(yǎng)了我們的設計思維,增加了實際操作能力。這次讓我體會到了實現(xiàn)數(shù)字系統(tǒng)的艱辛與成功之后的喜悅。尤其是Quartus II軟件的編程花費了我大量的時間,但是最終基本完成了實驗目標。
因為我平時接觸FPGA較少,不是這個專業(yè)的,在此要多謝楊同學的指導。
程序鏈接: link.文章來源地址http://www.zghlxwxcb.cn/news/detail-439363.html
到了這里,關于研究生電類綜合實驗(A1)-NJUST的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!