研究生电类综合实验(A1)-NJUST
摘要
本实验基于FPGA开发板DE2-115和AD/DA板THDB-ADA设计信号生成和频谱分析系统。Quartus II编程软件,首先,设计参数可变LFM信号发生器和数字FIR滤波器。然后,通过DAC将其转换为模拟中频信号输出,然后进行外部信号ADC最后,对信号进行频谱分析。 关键词:FPGA, Quartus II, LFM, ADC/DAC
一、实验设备
1、FPGA
FPGA(Field-Programmable Gate Array)它是一种半定制的集成数字芯片,其最大的特点是现场可编程。内部结构由CLB、RAM、DCM、IOB、Interconnect等构成。 图1 FPGA内部结构
FPGA一般开发流程:
设计输入:硬件描述语言,IP核、原理图; 编译:综合,Fitter,时序; 仿真:Modelsim; 下载调试:SignalTap。
2、DE2-115开发板
图2 开发板示意图
2.1 开发板资源
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以太网接口 VGA连接器 含有USB_A和USB_B主从控制器连接器 RS232收发器和9针连接器 PS/2鼠标和键盘连接器 红外接收器
2.2 ControlPanel工具
ControlPanel它是开发板自带的工具软件,可以通过软件提供的图形界面直接对准FPGA操作上的每个外设。可通过此操作确认PC机器与开发板的连接是否正确,开发板的硬件工作是否正常。 ControlPanel安装工艺如下: 确保QUARTUS II 10.0 或以上版本能被成功安装;将开关RUN/PROG切换到RUN位置;将USB接线连接至USB12驱动端口V电源和开关;打开主机上的可执行文件DE2_115_ControlPanel.exe,controlPanel用户界面如下:
图3 用户界面 DE2_115_ControlPanel.exe一旦被启动,DE2_115_ControlPanel.sof程序流文件将自动加载;如果没有连接,请单击CONNECT,点sof文件将重新加载到板上;请注意,控制面板将占用到您关闭端口,除非您关闭端口USB端口,否则你就不能用了QUARTUS II下载文件;现在可以使用控制面板,设置一些LED灯ON/OFF观察状态DE2-115上的状态。
2.3 DE2-115开发板
JTAG配置FPGA:
连接电源适配器打开电源开关 将下图开关到RUN位置进行调试 连接USB连接线连到DE2-115开发板的USB BLASTER端口 下载.sof后缀名的文件是对的FPGA进行编程 需要将配置芯片转换为开关PROGRAM位置
开发板代码设计流程:
图4 设计流程 利用System Builder在建立项目时,系统将根据需要自动分配管脚相关设置。
输入工程名称,自动设置为顶层设计实体; 用户根据自己的需要选择需要使用的模块the DE2-115 ,System Builder相关引脚配置将自动生成; 用户可以定义引脚的名称、位置、目录和IO标准 外挂子卡可通过高速中间接口连接 he DE2-115 System Builder 用户可以加载某个配置并保存用户配置;它将产生QUARTUS II 的文件。
3、A/D、D/A开发板
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的基本参数:集成双端口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。
二、实验内容
1、实验简介
本实验利用DE2-115开发板产生一个参数可变的线性调频(LFM)信号,利用数字滤波器改变LFM信号的幅频特性,并通过DA扩展板转换为模拟中频信号。通过AD扩展板采集该信号,经过数字正交下变频转换为数字基带信号,并对此基带信号进行频谱分析。 基本要求:
产生LFM脉冲,通过调试工具设置信号参数,使得脉冲宽度在1us~1s内可变,带宽在5MHz~10MHz可变,脉冲重复周期在10us~2s内可变,载波频率在5MHz~20MHz可变,输出信号幅度在0.1~1V可变,以上参数可任意组合,产生的信号通过DAC输出,DAC数据更新率为120MHz。
将上面产生的LFM脉冲先通过截止频率为5MHz,阻带频率为10MHz的FIR低通滤波器,再通过DAC输出。
将上面产生的LFM脉冲先通过截止频率为5MHz,阻带频率为10MHz的FIR低通滤波器,再通过DAC输出。
提高要求:
LFM信号的参数可变范围进一步扩展,范围越大越好。
多组FIR滤波器的冲击响应可实时切换。
频谱分析的分辨率进一步提高。
2、LFM信号的产生
2.1 LFM基带信号
LFM基带信号的数学表达式: 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()是矩形脉冲函数, T T T是脉冲持续时间,单位是 s s s, K K K是调频斜率,单位是 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π1dtdψ(t)=Kt LFM信号的带宽为:
B = K T B=KT B=KT LFM基带信号时域波形
图5 带宽为10MHz,脉宽为10us的LFM信号
2.2 LFM带通信号
LFM带通信号的数学表达式: 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πfct+πKt2))),−T/2≤t<T/2 其中, r e a l ( ) real() real()是取复数实部函数, 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πfct+π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产生LFM信号
瞬时频率: f ( n T s ) = f c + K n T s f(nT_s )=f_c+KnT_s f(nTs)=fc+KnTs DDS的频率调谐字FTW和输出频率 f o f_o fo的关系: F T W = f o / f s 2 N FTW=f_o/f_s 2^N FTW=fo/fs2N 其中,N是DDS的相位累加器位数,$f_s=1⁄T_s $为DDS的时钟频率。因此,用DDS产生LFM信号时,对应的频率调谐字为: 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/fs2N)=round(fc/fs2N+nK〖Ts〗22N)
3、FIR滤波器
3.1 FIR滤波器设计方法
窗函数法:是一种在时域设计FIR数字滤波器的方法,用窗函数对理想滤波器的冲击响应进行加权。 频率取样法:从频域出发,对理想滤波器频域特性进行等间隔采样,将采样值作为待设计滤波器的频率特性,对其做IDFT得到滤波器的冲击响应。 最优设计方法:等波纹切比雪夫逼近法,采用“最大误差最小”准则得到最佳滤波器。
3.2 MATLAB设计FIR滤波器
MATLAB函数: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核。 :锁相环IP核,利用50MHz系统时钟,产生 125 M H z 125MHz 125MHz和 65 M H z 65MHz 65MHz的时钟信号,分别驱动DAC和ADC模块。 :根据随时间变化的频率控制字,输出正余弦信号,得到线性调频(LFM)信号。 :导入由matlab生成的系数文件(.txt),对输入数据进行滤波。本次实验一共设计了两个低通滤波器,一个是对LFM信号进行滤波的滤波器,它的通带截止频率为 5 M H z 5MHz 5MHz,阻带截止频率为 10 M H z 10MHz 10MHz的低通FIR滤波器,另一个是在正交下变频中使用的低通滤波器,它的通带截止频率为 2.5 M H z 2.5MHz