实验一双音多频信号发生器分析报告.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一、双音多频信号发生器 本实验需要产生两个不同频率的正弦信号,其中一个我们把它设定为750HZ,另外一个设定为1500HZ,然后将两个信号叠加在一起。我们知道双音多频信号是在两个不同频率正弦波叠加的基础上在100ms时间内产生至少45ms的信号,然后剩下的时间保持静音。在这里我们用一个计数器来控制时间。 首先进入Matlab,在菜单栏选择 FileNewModel新建一个模型文件。并给这个模型文件取名保存,本示例中,将文件保存为dtmf.mdl。 在dtmf文件窗口的工具栏点击Library Browser按钮,打开Simulink Library Browser窗口。 在Simulink Library Browser窗口中,点击展开Altera DSP Builder目录,可以看到DSP Builder工具支持的各种模型和组件。这些组件可以被Simulink方便的调用来建立模型,在设计完成并验证通过之后,DspBuilder工具能将其直接转化成硬件描述语言,从而在硬件上实际运行并验证设计。 在Simulink Library中选择Altera DSP Builder BlocksetRate ChangeClock,将输入频率设置为24khz,改名为clk。 在Simulink Library中选择SimulinkSourcesPulse Generator,命名为Pulse,参数设置成如下所示 再添加一个计数器模块用来计数控制后面的信号输出,在Simulink Library中选择Altera DSP Builder BlocksetArithmeticIncrement Decrement,命名为Inc,输出位宽设置成11位,因为采样频率为24K,在100ms应该有2400个点,50ms能记1200个点。让计数器的值与设定的常数1024做比较,当计数超过1024时,输出一个低电平,让随后产生的双音多频信号保持静音。参数设定为: 计数器的复位端接地,模块在IOBUSGND中,参数不做任何改动 添加常数,值设定为1024,Altera DSP Builder BlocksetIOBUSConstant,命名为Con,参数设定: 添加一个比较器Altera DSP Builder BlocksetArithmeticComparator,命名为Compare,设定成,ab。 然后添加正弦波发生模块: 先加一个计数器模块,改名为Inc1,参数设定:输出位宽定为5, 在Simulink Library中选择Altera DSP Builder BlocksetStorageLUT,命名为f750。向模型中添加一个查找表,双击LUT弹出参数配置窗口,将数据类型设置为有符号整形,输出数据宽度设置为8位,查找表地址线设置为5,MATLAB Array参数设置为127*sin( [0:2*pi/(2^5):2*pi] )。也就是在查找表中放一个周期的数据,共32点。根据采样频率及计数器的位宽就可以计算出产生的信号为750HZ。参数如下: 接着产生一个高频信号,同理添加计数器和查找表,分别命名为Inc2和f1500。参数如下: 可以计算这个高频信号频率为1500HZ。 在Simulink Library中选择Altera DSP Builder BlocksetArithmeticPipelined Adder,改名为Add。向模型中添加一个加法器,双击Pipelined Adder,弹出参数配置窗口。将数据类型设置为有符号整形,数据宽度设置为8位,Direction设置为ADD。 再接一个输出端口,在iobus中的output,改名为dtmfout。 最后接一个示波器,用来观察双音多频信号。双击滤波器,点击,滤波器设置为:3路信号,分别接两路正弦信号,跟一路双音多频信号。如下图: 在dtmf窗口的菜单,选择SimulationConfiguration Paramters…,在利用Simulink进行仿真之前,先对仿真做参数设置。 为了在逻辑分析仪中能够观察到完整的信号波形,我们需要用一个较低频率的采样信号来设置观察,因此需要在原来的模型基础上引出这个信号clk_out,参见下图,将其添加到你的mdl文件中 clk_base的设置如下图 clk_add设置如下图 clk_Dlay设置如下图 clk_BW设置如下图 clk_out设置如下图 仿真结果如图所示: 整个连线如图所示: 总结: 我们可以产生任意频率的正弦波信号,关键在于查找表中所放的数据。如果像本试验中的一样,只在查找表中放一个周期的波形数据,那么所占的系统内存是比较少的,但是却不能产生任意频率的信号,比如在这里,定下采样频率24K后,我们把计数器位宽定为5的话,那么所

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档