fm信号调制器的设计与实现

fm信号调制器的设计与实现

ID:6602749

大小:406.53 KB

页数:14页

时间:2018-01-20

fm信号调制器的设计与实现_第1页
fm信号调制器的设计与实现_第2页
fm信号调制器的设计与实现_第3页
fm信号调制器的设计与实现_第4页
fm信号调制器的设计与实现_第5页
资源描述:

《fm信号调制器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、设计选题及技术要求设计选题FM信号调制器的设计与实现基础指标:实现FM信号产生,可配置载波和调制信号频率、调频频偏。(1)载波频率范围:100kHz-20MHz,精度优于5%。(2)音频(调制信号)频率范围:10Hz-10kHz,精度优于5%。(3)调频频偏:10kHz-100kHz,步进1kHz,精度优于5%。(4)将FM调制器封装成IP核,测试其功能。增加指标:(1)实现多种波形的调制信号(2)可设置输入外部载波信号二、方案设计及原理分析(一)原理分析由题目要求可知,需要输入的基本控制字有载波频率控制字和调制信号频率控制字、调频频偏控制字。时域表达式:SFM(t)=cos⁡[ωct+

2、KFM0lxτdτ]=cosωcnTa+mTs+KFM0nTa+mTsxτdτ=cos2π2NKnl+m+KFMp=0nl+m-1xpTsTs=cosp=0nl+m-12π2N(K+2N2πKFMTsx(pTs))则SFMt=cosp=0nl+m-12π2N(K+K0x(pTs)),其中:K是频率控制字,K0=2NKFMTs/2π,KFM是调制指数。从波形产生的角度,可以把公式分成两部分来设计,第一部分是调制信号产生部分,第二部分是FM信号产生部分。而信号的产生可以运用DDS原理实现,直接数字式频率合成DDS技术的基本原理是将波形数据先存储起来,然后在频率控制字的作用下,通过相位累加器从存储

3、器中读出波形数据,最后经过数模转换和低通滤波后输出频率合成。调制信号频率控制字控制调制信号的频率,由DDS产生的调制信号和调频频偏控制字相乘后再与载波频率控制字相加,得到的就是FM频率控制字,这个控制字通过DDS控制FM信号的产生。(二)总体方案设计硬件部分:图1硬件原理框图1、外部控制部分:通过实验硬件平台具有的外部控制(按键、开关等)实现对FM模块的控制字输入2、基于FPGA的FM信号发生部分:通过FPGA实现FM信号输出,同时输出调制信号作为参考3、数模转换器:将已经合成的波形数字量转化成模拟量。4、低通滤波器:滤除高频成分,恢复所要合成的波形。由于实验平台缺少数模转换器和低通滤波器,

4、故本报告没有介绍这两个部分。软件部分:图2软件原理框图方案论证:系统设计方案:方案一:各模块代码自己编写,优点是代码灵活,可根据需要增加功能。缺点是设计中无法充分考虑时序因素。方案二:各模块通过调用IP核实现,优点是实现方便,IP核已通验证,性能优越。缺点是灵活性低,不能随意修改内部代码。时钟方案:方案一:所有模块共用同一时钟源,设计方便,不必考虑时钟选择问题。硬件调试时,时钟域单一,可以减少时钟域选择造成的错误。但时钟频率低,可能导致DDS输出波形失真。方案二:DDS高频部分时钟源为系统时钟倍频得到,其他部分共用系统时钟。优点是所有模块理论上可达到题目指标要求。缺点是倍频过高可能导致系统最

5、终不满足时序约束。方案分析:需要输入的基本控制字有载波频率控制字和调制信号频率控制字、调频频偏控制字。在此基础上,该设计又增加了调制信号波形控制部分,总体软件原理框图如图2所示,模块较多,但各部分功能较简单,故不必考虑代码灵活与否,而需要考虑整体性能,则系统设计选择方案二,而部分无IP核可实现的模块通过代码编写。调制信号频率控制字控制DDSIP核,在100MHz时钟源的条件下,DDS核通过查找余弦ROM表生成调制信号,由于增加了三角波、方波和外部信号等波形,故将DDSIP核产生的相位信号作为外部ROM表的输入,ROM表的输出则通过一个波形选择器来控制,波形选择器通过波形控制字决定哪种信号输出

6、,将输出的调制信号与调频频偏控制字相乘,得到的数据再与载波频率控制字相加,结果可作为另一个DDSIP和的输入,DDSIP核的输出即为生成的FM信号。需要注意的是,系统时钟100MHz,而载波最高为20MHz,则当载波为最高时,DDSIP核输出的波形有一定程度的失真,所以产生FM信号的DDSIP核所用的时钟源应该经过系统时钟倍频,时钟方案选择方案二,考虑到系统稍复杂,如果倍频太高,可能导致所设计硬件不能满足时序约束,综合以上情况考虑,将系统时钟倍频到200MHz,作为产生FM信号的DDS核的时钟源。一、程序分析及设计图3总体流程图(一)倍频模块图4ClockingWizard配置结果将100M

7、Hz时钟倍频到200MHz,通过调用ClockingWizardIP核实现(见图4)。wireclk_200M;//定义输出已倍频时钟信号clk_wiz_0instance_name(.clk_in1(clk),//系统时钟接入.clk_out1(clk_200M),//输出已倍频时钟.reset(~cpu_resetn),//复位信号取反后与其连接.locked()//locked输出不接信号);(一)内部

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。