基于matlab的直接数字频率合成DDS的仿真.doc

上传人:一*** 文档编号:2768338 上传时间:2020-05-04 格式:DOC 页数:8 大小:403KB
返回 下载 相关 举报
基于matlab的直接数字频率合成DDS的仿真.doc_第1页
第1页 / 共8页
基于matlab的直接数字频率合成DDS的仿真.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《基于matlab的直接数字频率合成DDS的仿真.doc》由会员分享,可在线阅读,更多相关《基于matlab的直接数字频率合成DDS的仿真.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数字信号处理课程设计: 题目一: DDS(直接数字频率合成) 原理及仿真姓名:王鹏飞学号:201321010209专业:光学工程1、 设计目的利用Matlab软件编程实现DDS(直接数字频率合成技术)。2、 DDS原理1、DDS简介自20世纪70年代以来,由于大规模集成电路的发展及计算机技术的普及,开创了另一种频率合成方法直接数字频率合成法(DDS即Direct Digital Frequency Synthesis)。它突破了模拟频率合成法的原理,从“相位”的概念出发进行频率合成这种方法不仅可以给出不同频率的正弦波,而且还可以给出初始相位的正弦波,甚至可以给出各种任意波形。这在模拟频率合成法

2、中是无法实现的。相比传统频率合成技术,DDS具有如下一些优点:频率分辨率高,输出频点多,可达2的N次方个频点(N为相位累加器位数);频率切换速度快,可达us量级;频率切换时相位连续;可以输出宽带正交信号;输出相位噪声低,对参考频率源的相位噪声有改善作用;可以产生任意波形;全数字化实现,便于集成,体积小,重量轻。在各行各业的测试应用中,信号源扮演着极为重要的作用。但信号源具有许多不同的类型,不同类型的信号源在功能和特性上各不相同,分别适用于许多不同的应用。目前,最常见的信号源类型包括任意波形发生器,函数发生器,RF信号源,以及基本的模拟输出模块。信号源中采用DDS技术在当前的测试测量行业已经逐渐

3、称为一种主流的做法。2、DDS基本原理图1 以ROM(正弦查询表)为基础组成的DDS原理图在正弦波1周期内,按相位划分为若干等分,将各相位所对应的幅值A按二进制编码并存入ROM中。把1周期60等分,由于正弦波一周期为奇对称,半周期为偶对称,因此ROM中只需存储0到/2范围内的幅值码。若以一周期60等分计算,在0到/2之间共有15等分,其幅值在ROM中共占16个地址单元。因为24=16,所以可按4位地址吗对数据ROM进行寻址。现设幅值码为5位,则在0到/2范围内编码关系如表1所示。表1 正弦函数表(正弦波信号相位与幅值的关系)地址码相位幅度(满度值为1)幅值编码00000.00000000000

4、10.1050001100100.2070011100110.3090101001000.4060110101010.5001000001100.5881001101110.6691010110000.7431100010010.8091101010100.8661110010110.9141110111000.9511111011010.9781111111100.9941111111111.00011111信号的频率关系设时钟的频率为固定值fc,在CLK的作用下,如果按照0000,0001,0010,1111的地址顺序读出ROM中的数据,即表1中的幅值编码,其正弦信号频率为f1;如果每隔一

5、个地址读一次数据(即按0000,0001,0100,1110顺序),其输出信号频率为f2,且将比提高一倍,即f2=2f1;其余类推。这样,就可以实现直接数字频率合成器的输出频率的调节。上述过程是由控制电路实现的,由控制电路的输出决定选择数据ROM的地址(即正弦波的相位)。输出信号波形的产生是相位逐渐累加的结果,这由累加器实现,称为相位累加器,如图1所示。在图中,K为累加值,即相位步进码,也称频率码。如果K=1,每次累加结果的增量为1,则依次从数据ROM中读取数据;如果K=2,则每隔一个ROM地址读一次数据;其余类推。因此,K值越大,相位步进越快,输出信号波形的频率就越高。对于n位地址来说,共有

6、2n个ROM地址,在一个正弦波中共有2n个样点(2n数据)。如果K=2n,就意味着相位步进为2n,则一个信号周期中只取一个样点,它不能表示一个正弦波,因此不能取K=2n;如果K=2n-1,则一个正弦波中有两个样点,虽然在理论上满足了取样定理,但实际难以实现,一般地,限制K的最大值为K=2n-2,这样,一个波形中至少有4个样点,经过D/A变换,相当于四级阶梯波。在后继低通滤波器作用下,可以得到较好的正弦波输出。相应地,K为最小值(Kmin=1)时,一共有2n个数据组成一个正弦波。根据以上讨论,可以得到如下频率关系。假设控制时钟频率为fc,ROM地址码的位数为n。当K= Kmin=1时,输出频率为

7、Fo= Kminfc/2,此时最低输出频率fomin=fc/2,当k=kmax=2n-2时,最高输出频率fomax为fomax=fc/4,由上不难得出DDS的分辨率(即频率间隔)为f=fc/2n.为了改变输出信号频率,除了调节累加器的K值以外,还有一种方法,就是调节控制时钟的频率fc。由于fc不同,读取一轮数据所花时间不同,因此信号频率也不同。用这种方法调节频率,输出信号的阶梯仍取决于ROM单元的多少,只要有足够的ROM空间就能输出逼近正弦的波形,但调节比较麻烦。3、 设计代码和仿真结果1、matlab实现DDS的函数代码%fout: 输出频率 %Fs: 采样频率 %Bits: 累加器位数 %

8、endtime:截止时间 %y: 输出正弦波 %t: 输出信号时间轴function y, t=dds_matlab(fout, Fs, Bits, endtime)delta_F=Fs/2Bits;t=2*pi*(0:2Bits-1)/2Bits;LUT=sin(t);subplot(211)plot(t, LUT)figure(1);grid ont=0:1/Fs:endtime;N=length(t);n=1;y=zeros(1, N);IND=zeros(1, N); % Input Frequency Wordk=floor(fout/Fs*2Bits);index=0;while n=NIND(n)=index;index=index+k;index=mod(index, 2Bits);n=n+1;endm=IND;IND=IND+1;y=LUT(IND);subplot(212)plot(t,y)figure(1);axis(0 endtime -1.2 1.2);grid on2、matlab的仿真输出波形输入dds_matlab(5,20,10,1)此时由于采样频率低,一个周期采的点数太少,所以无法合成正弦波。输入dds_matlab(5,200,10,1)提高采样频率后,每周期采样点数增加,可以近似的合成正弦波。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com