扫频信号发生器
- 格式:doc
- 大小:347.15 KB
- 文档页数:5
扫频信号发生器的设计
一、设计任务
扫频技术是电子测量中的一种重要技术,广泛用于调频放大器、宽频带放大器、各种滤波器、鉴相器以及其他有源或无源网络的频率特性的测量。所以我的设计任务是采用DDS 来设计扫频信号发生器,在KX2C5F+板上实现逻辑综合、时序仿真及功能验证,得到最终的所需要的信号。
二、设计原理
1、扫频技术的原理
将正弦信号加入线性时不变系统,其稳态响应是与输入信号相同频率的正弦量,但它的幅值和相位则决定于具体系统的动态特性。为此,就需要分析在正弦信号作用下,一定频率范围内系统的输出量和输入量的幅值比和相位的变化规律,即系统的频率特性。一个系统输出量与输入量之比称为频率响应函数。即:
())()
(ωωωU Y H =
其中,频率响应的模A(ω)=∣H(ω)∣是表征输出与输入的幅度之比,称为系统的幅频特性。频率响应的相位φ(ω)= ∠H(ω)是表征输出与输入的相位之差,称为系统的相频特性。
为了测量系统的频率响应,可以采用扫频的方法。采用扫频的方法通常需要利用扫频信号发生器产生一定频率范围的扫频信号,并将这一信号加到被测系统的输入端。同时,测出该系统对应的扫频输出。则测出的输出信号与对应的输入信号幅度之比就是系统的幅频特性。输出信号与对应的输入信号的相位之差就是系统的相频特性。
2、DDS 实现原理
DDS (Direct Digital Synthesizer )即直接数字合成器,是一种新型的频率合成技术。具有较高的频率分辨率,可以实现快速的频率切换,并且i 改变时能够保持相位的连续,很容易实现频率、相位和幅度的数字调控。
DDS 中主要包括频率控制寄存器、相位累加器和正弦计算器3部分。其中,频率控制寄存器用来装载并寄存输入的频率控制字加,得到正弦波的相位值;正弦计算器则计算数字化正弦波的幅度。DDS 输出的一般是数字化的正弦波,因此还需经过D /A 转换器和低通滤波器才能得到一个可用的模拟信号。 DDS 所产生的是固定频率的信号,其频率控制字FSW 与输出信号,fout
和参考频率的fc 之间的关系为:
N clk
FSW f 2
.f out = 扫频信号源只需在DDS 原理图的基础上增加频率累加器,每来一个时钟脉冲,频率累加器根据起始频率和频率增量产生瞬时频率,然后经过相位累加器运算输出扫频信号的瞬时相位,以此相位值寻址正弦值存储表,通过查表得到与相位值对应的幅度量化值;在下个周期来临时,频率累加器一方面将在上一个时钟周期作用后所产生的新的频率数据反馈到频率加法器的输入端,以使频率加法器继续累加,频率累加的瞬时值与上一个周期相位累加器反馈到相位加法器输入端的数据累加,然后再依此周期累加的相位值重新寻址正弦值存储表,得到对应的幅度量化值。
扫频信号源需要给定起始频率fstart 终止频率fstop 和每个周期的频率增量△f ,扫频信号源的起始频率控制字start_fsw 、终止频率控制字stop_fsw 和频率增量控制字inc_fsw 分别为:
clk N
start f f fsw start 2_= clk
N
stop f f fsw 2_stop = clk
N
f f fsw 2_inc ∆=
三、设计方案
1、频率累加器
即为计数器,程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
use ieee.std_logic_unsigned.all;
entity cnt32 is
port(clk:in std_logic;
data:in std_logic_vector(31 downto 0);
dout:out std_logic_vector(31 downto 0)); end cnt32;
architecture a of cnt32 is
begin
process(clk)
variable q:std_logic_VECTOR(31 downto 0);
begin
if clk'event and clk='1'then
if q<128 then q:=q+16;
else q:=data;
end if;
end if;
dout<=q;
end process;
end a;
输出dout 即为频率控制字,并且
;16_=fsw start ;128_=fsw stop
;16_=fsw inc
根据公式N clk FSW f 2
.f out =
,可算出=start f 0.16MHZ ,25.1=stop f MHZ 2、相位累加器
相位累加器由加法器和寄存器构成。
(1)32位加法器ADDER32,由LPM_ADD_SUB 宏模块构成,设置 了2级流水线结构,使其在时钟控制下有更高的运算速度和输入数据的 稳定性。
(2)32位寄存器DFF32,由LPM_FF 宏模块担任。ADDER32与DFF32 构成的相位累加器其低十位A[9..0]作为波形数据rom 的地址。 3、正弦函数rom
正弦波形数据rom 模块sin_rom 的地址线和数据线位宽都是10位,其 中的一个周期的正弦数据有1024 个,每个数据有10位。Rom 中的MIF 数据文件我是使用的mif_maker 获得的。
最终设计完成的顶层文件见下图:
四、下载及测试结果
因为我所设计的是信号发生器,所以需要使用嵌入式逻辑分析仪来进行下载,产生仿真波形。
逻辑分析仪的采样部件可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内部系统节点处的信息或总线上的数据流,而且不影响原硬件系统的正常工作。
逻辑分析仪的使用有以下几个步骤:
1.新建一个SignalTap II Logic Analyzer File
2.调入待测信号
3.SignalTap II 参数设置,输入工作时钟信号Clock,在Sample Depth栏选择
采样深度为8K位。
4.保存文件
5.编译下载
6.启动SignalTap II进行采样与分析,得到如下图的采样信号
扫频信号仿真波形
五、总结
这次课程设计,我独立的完成了扫频信号发生器的设计。开始对扫频信号是一无所知,通过看书,、上网查阅资料等方式,对扫频信号有了具体的了解,并