1、 本科毕业设计 ( 20 届) 基于 DSP Builder 的 AM 信号发生器设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 - 1 - 摘 要 信号发生器是指能产生测试信号的仪器,又称为信号源或者振荡器。 目前的调制技术有很多种,论文简单阐述了 AM 调制、 FM 调制的原理与实现。 幅度调制( AM)是最常用的调制技术之一。调幅信号发生器主要实现调幅功能,使高频载波的频率随信号改变 ,属于基带调制。 文章阐述了本课题的应用背景以及研究意义。概述了本次设计涉及的三个平台,包括 Matlab、 DSP Builder 和 Quartus。介绍了基于
2、 DSP Builder 的设计流程。根据 DDS 原理,首先实现了基于 DSP Builder 的 DDS 建模,然后以这一模型为基础,依次实现了低频调制信号模块、高频载波模块和幅度调制模块。对设计结果进行功能验证及仿真,最后利用 signal compiler 工具将模型进行适配、综合和转换,生成 Quartus下的工程。对该工程进行 最终的行为级仿真,经验证正确后,即可下载至目标板,驱动目标程序。论文生成了最终的目标文件,但没有进行最终的下载与驱动。 论文还记录和整理了设计、调试和仿真过程中出现的问题,给出自己的分析,供读者参考。 关键词: 信号发生器; AM 调制; DSP Build
3、er; DDS; Quartus - 2 - Abstract Signal generator is an instrument to produce test signals,it is also known as sourse or oscillator. Now,there are a variety of modulation techniques.Paper briefly discusses the AM modulation, FM modulation principle and implementation.Amplitude modulation (AM) is one
4、of the most common modulation technique.AM signal generator achieve amplitude modulation function.It makes the high-frequency change the frequency of the carrier,it is base-band modulation. This paper describes the application background of this issue and the research significance, this article outl
5、ines the design involves the three platforms, including Matlab, DSP Builder and Quartus , this paper introduces the DSP Builder-based design flow. According to DDS theory, first implemented in the DDS-based modeling of DSP Builder, and then to the model, in order to achieve the low frequency modulat
6、ion signal modules, high-frequency amplitude modulation of the carrier module and the module, functional verification of design and simulation results, the last use signal compiler tool to model adaptation, integration and transformation, generated under the project Quartus . The behavior of the fin
7、al project-level simulation, proven correct, you can download to the target, driving the target program. The ultimate goal of generating a paper document, but no final downloads and drivers. The paper also records and put together the design, debugging and simulation problems arising in the process,
8、 give their own analysis for reference. Key Words: Signal Generator, AM modulation ,DSP Builder,DDS, Quartus - 3 - 目 录 1 引言 . 1 1.1 课题的应用背景和意义 . 1 1.2 论文的内容与组织结构 . 2 2 调制技术概述 . 3 2.1 AM 调制原理及实现 . 3 2.2 FM 调制原理及实现 . 4 3 设计平台概述 . 5 3.1 MATLAB软件概述 . 5 3.2 DSP BUILDER概述 . 5 3.2.1 DSP Builder 平 台简述 . 5 3
9、.2.2 DSP Builder 设计流程 . 6 3.3 QUARTUS II 集成环境概述 . 8 4 基于 DSP BUILDER 的 AM 调制信号发生器设计 . 9 4.1 基于 DSP BUILDER的 DDS 实现 . 9 4.2 AM 信号发生器的设计与实现 . 10 4.2.1 低频调制信 号的设计与实现 . 10 4.2.2 高频载波信号的设计与实现 . 13 4.2.3 幅度调制电路的设计与实现 . 14 4.2.4 系统的顶层设计与转换 . 16 5 调试与仿真 . 19 5.1 低频调制模块 . 19 5.2 高频载波模块 . 20 5.3 AM 信号发生器模块 .
10、20 5.4 QUARTUS II 行为仿真 . 21 6 总结 . 22 致 谢 .错误 !未定义书签。 参考文献 . 22 - 1 - 1 引言 1.1 课题的应用背景和意义 信号发生器是基础的通用仪器之一,是电子工程师信号仿真实验的最佳工具,在许多领域都有广泛的应用。 信号发生器的应用与分类有很多,如有基于 CPLD 的信号发生器 1,多波形信号发生器 2 3和基于 FPGA 的三相函数信号发生器 4。基于 CPLD 的信号发生器是CPLD 为核心,采用 DDS 技术,此信号发生器具有可编程重置特性,分辨率高等特点,而且 CPLD 可以方便的改变控制方式或改变波形数据,简单易行,同时具有
11、很高的性价比。而多波形信号发生器,采用 FPGA 器件,设计简单,频率稳定性高,具有稳定的输出波形,在现代电子设计中,常常采用 FPGA 器件来实现多波形信号发生器,采用 Matlab 来建立模型,来实现信号发生器,在设计过程中,能根据需要设计出对应的多波形信号发生器。相比于其他,基于 FPGA 的三相函数信号发生器,也是采用 FPGA,在 FPGA 芯片上设计 函数信号发生器,产生三角波,方波等多种波形,系统的频率切换快,分辨率高,而且设计采用 EDA 技术,缩短了周期,提高设计效率,使系统具有结构紧凑,性能稳定的特点。 而在信号发生器中,调幅( AM) 信号发生器占着十分重要的地位。调幅信
12、号发生器的特点是实现调幅功能,调幅是一种调制方式,属于基带调制 5。使高频载波的频率随信号改变的调制。其中,载波信号的振幅随着调制信号的某种特征的变换而变化。传统的 AM 信号发生器都是基于 FPGA 实现的,采用 VHDL 语言 6或者直接硬件设计。 本设计是基于 DSP Builder 的模块 化设计,可避免繁琐的程序代码编写,也可降低对设计人员的硬件设计能力要求。只要直接利用 DSP Builder 中自带的模块进行设计,仿真和编译即可。编译正确后,可利用综合、转换工具将模块化的设计转换为 VHDL 语言,最后在 Quartus II 中进行 FPGA 的实现。设计周期大大缩短,而且设计
13、难度大大降低。 - 2 - 1.2 论文的内容与组织结构 围绕课题,主要完成以下工作: 1. 熟悉 DSP Builder 平台,熟悉基于 DSP Builder 的一般设计流程; 2. 了解和熟悉 DDS 技术,查阅相关的 DDS 原理,完成基于 DSP Builder 的DDS 设计; 3. 查阅 AM 信号发生器设计的原理内容,熟悉低频调制信号和高频载波信号的原理和框架,设计实现幅度调制模块,实现顶层设计,完成系统的编译和仿真,分析验证其正确性; 4. 对设计与调试过程中出现的问题进行整理和分析。 本文一共有 6 章,第一章为引言,简单介绍课题的应用背景与论文的组织结构;第二章介绍各种调
14、制技术的原理与实现方法;第三章就本课题涉及的 DSP Builder 平台, Matlab 软件以及 Quartus II 集成环境 7进行了概述;第四章为论文的重点,详细阐述设计过程。在 Matlab/DSP Builder 环境下建立DDS 模型、信号发生器模型,进一步建立低频调制信号和高频载波信号以及幅度调制模型,最后实现系统功能;第五章为本次设计的仿真、调试及验证;第六章总结了在本次设计中出现的困难与解决过程。 - 3 - 2 调制技术概述 2.1 AM 调制原理及实现 AM 就是常规双边带调制,假设调制信号 m(t)的平均值为 0,将其叠加一个直流偏量后与载波相乘,就可以形成调幅信号
15、。 AM 调制器原理如图 2-1 所示。 图 2-1 AM 信号调制原理图 如图 2-1 所示,其中 0A 为外加直流分量; m(t)可以是确知信号,也可以是随机信号。如果 m(t)是确知信号,那么 AM 的频谱表达式与时域表达式分别如式 2-3和 2-4 所示。 1( ) ( ) ( ) ( ) ( ) 2m c c c cS A M M (2-1) 00( ) ( ) c o s c o s ( ) c o sA M c c cS t A m t w t A w t m t w t (2-2) AM 信号波形的包络和输入基带信号 m(t)成正比,所以用包络检波的方法很容易恢复原始的调制信号
16、,如果不发生失真,就必须满足 0A 大于等于 |m(t)|的 最大值,否则就会出现过调幅现象而带来失真。 AM 信号的频谱 ()AMSt是由载频分量和上边带和下边带两部分组成,上边带的频谱和原来调制信号的频谱结构相同,而下边带则是上边带的镜像。所以不论是上边带和下边带,都含有原先调制信号的完整信号。因此 AM 信号是带有载波的双边带信号,它的带宽是基带信号的两倍,也就是 22A M m HB B f (2-3) 在公式中, mB = Hf 为调制信号 m(t)的带宽, Hf 是调制信号的最高频率。 - 4 - 2.2 FM 调制原理及实现 使高频信号的瞬时频率随调制信号而变化的过程叫做调频 (
17、FM) 8,用调制信号控制载波的振荡频率,使载波的频率随着调制信号变化,调频波的振幅保持不变,调频波的瞬时频率偏离载波频率的量与调制信号的瞬时值成比例。频率调制的一般表达式为 ( ) c o s ( ) tF M c Fs t A t K m d (2-4) FM 与 PM 很 相似,如果 事 先 不知 道 所需要调制信号的具体形式,则无法判断信号是调频信号 还是调相信号。 图 2-2 显示的是一种产生调频信号的方法,叫做直接调频法。 ( ) ( )FMm t F M S t 图 2-2 直接调频法 图 2-3 显示的是另一种方法,叫做间接调频法。 ( ) ( ) ( )FMm t d t P
18、 M S t 图 2-3 间接调频法 而由于相位调制器的实际调节范围是不可能超出 ,所以间接调频法只能适用于相位和频率偏移都不大额度窄带调制,但是直接调频的方法则是适合用于宽带调制的情况下。 对于 FM 调制的实现,则可以利用 modulate 这个函数来实现,其函数表达式为 m o d ( , , , )y u la te x fc fs F M (2-5) 其中 x 表示调制信号, fc 表示为载波频率, fs 表示的是 y 的采样频率,所有频率的单位都是 Hz。 - 5 - 3 设计平台概述 3.1 Matlab 软件概述 Matlab 程序设 计语言是美国 Mathworks 公司 2
19、0 世纪 80 年代中期推出的一种高性能数值计算软件,公司经过 20 余年的开发扩充和不断的完善, Matlab 已经发展成为了一款适合多科学应用,功能强大的大型的系统软件,使它成为了控制系统仿真与设计、数值计算、信号处理等领域最重要的一款软件。而且 Matlab 软件已经成为了一些课程的基本仿真计算与设计的工具,比如线性代数,控制理论,数理统计,数字信号处理等,使它成为了大学学习的必修内容。 Matlab 是由主包和功能不一的工具箱组成,最基本的数据结构是矩阵,即操作对象是以矩阵为单位的 ,而随着 Matlab 的不断发展和各种工具箱的不断开发,Matlab 软件已经成为了一种功能强大的实时
20、工程计算软件,广泛应用于各种科学领域。 Matlab 的核心是一个基于矩阵运算的快速解释程序。首先它提供了一个开放式的集成环境,用户可以运行系统提供的很多命令,包括图形的绘制,数值的计算等等。接着它以一种交互的方式接受用户输入的各种指令,然后输出计算的结果。 Matlab 具有庞大的功能,具体如数值计算功能,优化工具功能,“活”笔记本功能,数据分析和可视化功能,非线性动态系统建模与仿真功能等等。 Matlab 功能如此巨 大,它的特点也是显著,它具有编程效率高,界面用户使用方便,方便的图形功能 智能化程度高等等特点。 9 3.2 DSP Builder 概述 3.2.1 DSP Builder
21、 平台简述 DSP 作为一种微处理器,它的任务是完成实时数字信号处理,核心是算法和实现。 DSP 器件的发展,必须兼顾 3P 的因素,也就是性能 (performance),功耗(powerconsumption)和价格 (price)。随着 VLSI 技术的发展,现代 DSP 器件在价格显著下降的同时,仍然保持着性能的不断完善和单位运算量的功耗不断降低。 DSP Builder 是美国 Altera 公司推出的一个面向 DSP 开发的系统级工具, DSP - 6 - Builder 将 MathWorks 公司的 Matlab 和 Simulink 系统级设计工具的计算开发,仿真和验证的功能
22、与 VHDL 的综合,仿真和 Altera 开发工具结合在一起,使这些工具有效的集成。 DSP Builder 是 Matlab 中 Simulink 的其中一个工具箱,能够使得用FPGA 设计 DSP 系统可以通过 Simulink 的图形化界面来进行创建信号发生器等模型,以及实现仿真。基于 DSP Builder 的模块化设计,则可以避免繁 琐的程序代码编写,也可以降低对设计人员额度硬件设计能力要求,只要直接利用 DSP Builder中自带的模块进行设计,仿真与编译就行。编译正确后,可以利用综合,转化工具将模块化的设计转换为 VHDL 语言,最后可以自动调用 Quartus II 完成综
23、合,网表生成以及器件适配乃至 FPGA 的配置下载,使得系统描述与硬件实现有效的合为一体。 有关 DSP Builder 设计平台的特点,由于篇幅关系,在此不再描述,读者可参阅相关文献。 3.2.2 DSP Builder 设计流程 DSP Builder 将 MathWorks 公司 的 Matlab 与 Simulink 系统级设计工具的算法开发,仿真与验证功能和 VHDL 综合,仿真和 Altera 开发工具整合在一起,为使用者提供了一个完整的 DSP 平台。 DSP Builder 可以通过帮助设计人员创建一个DSP 设计的硬件来缩短 DSP 的开发周期。现在的 Matlab 功能与
24、Simlink 块以及Altera 的 DSP Builder 块和 MageCore 功能块有效地结合在一起,能够使系统,算法和硬件设计共同享用一个通用的开发平台。 设计者可以利用 DSP Builder 中的功能块来为 Simulink 中的系统模型 创建硬件。 DSP Builder 包含了按周期设计和按位的 Simulink 功能块,这些功能块覆盖了一些最基本的操作。比如说存储和运算的功能。在 DSP Builder 模型中,通过使用MageCore 功能块,可以使一些复杂的功能比较容易的实现。 Altera 公司的MageCore 功能块是一个参数化,高级的 IP 功能,比如快速傅里叶变化 (FFT)和有限脉冲响应 (FIR)滤波器,都可以根据系统的性能需求来进行简单快速的配置。 10 DSP Builder 的 SignalComiler 块读入 Simulink 的模型文件 (.mdl),这个模型文件是用 DSP Builder 和 MageCore 块生成的,接着生成 VHDL 文件和 TCL 脚本文件,用于综合和硬件的实现与仿真。 DSP Builder 可以帮助设计者完成基于 FPGA