收藏 分销(赏)

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

上传人:二*** 文档编号:4514908 上传时间:2024-09-26 格式:DOC 页数:9 大小:384KB
下载 相关 举报
基于matlab的直接数字频率合成DDS的仿真.doc_第1页
第1页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

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

3、理图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.0000000000010.1050001100100.207001110

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

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

6、如果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时,输出频率为Fo= Kminfc/2,此时最低输出频率fomin=fc/

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

8、间轴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)提高采样频率后,每周期采样点数增加,可以近似的合成正弦波。- - word.zl-

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服