DDS直接数字频率合成器的MATLAB性能仿真

2024-02-23 06:50

本文主要是介绍DDS直接数字频率合成器的MATLAB性能仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、理论基础

二、核心程序

三、仿真结论


一、理论基础

         随着科学技术的日新月异的发展,各种各样的电子产品也正在逐步向着高精尖技术方向发展。电子技术广泛的应用于工业、农业、交通运输、航空航天、国防建设等国民经济的诸多领域中,数字电子技术已经渗透到了人们生活的各个层面,信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验等领域。它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。因此,信号发生器和示波器、电压表、频率计等仪器一样是最普通、最基本的,也是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要用到信号发生器。

       从宏观上测量仪器可分为两大类,即激励和检测。其中各类信号源属于激励仪器一类。信号源能够产生不同频率、不同幅度的规则或不规则波形的信号,广泛应用于电子测量、电力工程、工业控制、故障诊断和教学科研等多方面,是电子工程师们进行研究开发和生产产品过程中的必备仪器之一。

      信号源从用途上可分为通用信号源和专用信号源两大类。专用信号源仅适用于某些特殊测量需要,如电视信号源、编码脉冲信号源。通用信号源包括:正弦信号源,脉冲信号源,函数信号源,高频信号源,噪声信号源。

       信号源常有三方面的用途:(1)激励源,作为某些电器设备的激励信号,如激励扬声器发出声音。(2)信号仿真,当要研究一个电气设备在某种实际环境下所受的影响时,需要施加具有与实际环境相同特性的信号,加高频干扰信号,这时就需要对干扰信号进行仿真。(3)校准源,用于对一般信号源进行校准或比对,有时称为标准源。

      上世纪四十年代,惠普为海军研究试验室开发了第一台信号发生器,从而使得人们便可以使用可控的信号发生器对设备进行比较全面和准确地测量,信号发生器也在测试测量方面发挥出日益重要的作用。电子技术和计算机技术的发展推动着信号源的不断发展,信号源经历了从模拟式信号源到数字式信号源的发展过程。上世纪七十年代以前,信号源的设计采用的是模拟电子技术,产生正弦波、方波和三角波等几种简单的波形,较大的缺点,使得输出波形的幅度稳定性较差。电路结构复杂,仅能产生由于模拟电路存在漂移较大的缺点,使得输出波形的幅度稳定性较差。同时模拟电路存在着尺寸大,成本高和功耗大等缺点,而且要产生复杂的波形信号时电路会更复杂。七十年代以后,数字电路在信号源的设计中得到广泛的应用,信号源采用的是数字电子技术。随着微处理器的出现,信号源也开始从完全地由分立元器件搭建发展为以微处理器为核心的集成系统。信号源产生的波形种类也丰富起来,频带大大增加,通用性也得到了提高。

       伴随着信号源的发展,作为其重要功能之一的移相技术也得到了改进和发展,所谓移相是指两路同频的信号,以其中一路为参考,另一路相对于该参考信号作超前或滞后的移动,即称为是相位的移动。两路信号的相位不同,便存在相位差,即相差。若将一个信号周期看作是360°,则相差的范围就在0—360°。

      要实现移相,通常有两个实现途径:一是直接对模拟信号进行移相,如RC移相、LC移相、变压器移相等,采用这种方式的移相技术有许多不足之处,如:输出波形受输入波形的影响,移相操作不方便,移相角度随所接负载和时间等因素的影响而产生漂移等。另一个是随着电子技术和计算机技术的发展而兴起的数字移相技术,是目前移相技术的潮流,数字移相技术的核心是,先将模拟信号或移相角数字化,形成一张数据表,将数据地址的偏移量映射为信号间的相位值,通过D/A 转换芯片连续循环地读出该数据表的数据并还原成模拟信号。本文所采用的直接数字频率合成技术(DDS-Direct Digital frequency Synthesis)中移相的实现正是属于数字移相技术。

1.1信号发生器的发展

信号发生器是一种历史最为悠久的测量仪器。早在二十年代,当电子设备刚开始出现时,它就出现了。随着通信和雷达技术的发展,四十年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的测试仪器成为定量分析的测量仪器。同时还出现了可用来测试脉冲电路或用作脉冲调制器的脉冲信号发生器。由于早期的信号发生器机械结构比较复杂,功率比较大,电路比较简单(与数字仪器、示波器等相比),因此发展速度较慢。直到1964年才出现了第一台全晶体管的信号发生器。

自六十年代以来,信号发生器有了迅速的发展,出现了函数发生器、扫频信号发生器、合成信号发生器、程控信号发生器,等新种类。各类信号发生器的主要性能指标也都有了大幅度的提高,同时在简化机械结构、小型化、多功能等各方面也有了显著的进展。

1.2 信号发生器分类

信号发生器的应用非常广泛,种类也相当繁多。首先,信号发生器可以分为通用和专用两大类。专用信号发生器主要是为了某种特殊的测量目的而研制的。如电视信号发生器、编码脉冲信号发生器等。这种发生器的特性是受测量对象的要求所制约的。其次,信号发生器按输出波形又可分为正弦波形发生器、脉冲信号发生器、函数发生器和任意波形发生器等。再次,按其产生频率的方法又可分为谐振法和合成法两种。一般传统的信号发生器都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。但也可以通过频率合成技术来获得所需的频率利用频率合成技术制成的信号发生器。

    所谓频率合成技术就是指从一个高稳定和准确的参考频率源,经过技术处理,生成大量离散的频率输出。技术处理方法可以是传统的用硬件实现频率的加、减、乘、除基本运算,可以是锁相环技术,也可以是各种数字技术和计算技术。参考频率可由高稳定的参考振荡器(一般为晶体振荡器)产生,所生成的一系列离散频率输出与参考振荡器频率有严格的比例关系,并且具有同样的准确度和稳定度。基于频率合成原理制成的信号发生器,由于可以获得很高的频率稳定度和精确度,因此发展非常迅速。尤其是最近随着现代电子技术的发展,其应用更是有了质的飞跃。

1.3 频率合成技术

频率合成技术在本世纪30年代开始提出,它的发展己经有70年的历史。在这70年的历史中,大致可以分成三个发展阶段:直接式频率合成技术,锁相环频率合成技术以及直接数字频率合成技术。

所谓直接频率合成技术就是用倍频、分频和混频电路对一个或几个基准频率进行加、减、乘和除的运算,从而产生所需要的频率信号,并通过窄带滤波器选出。这是最先出现的一种合成器类型的频率信号源。这种频率合成器原理简单,易于实现。其合成方法大致可分为两种基本类型:一种是所谓非相关合成方法,另一种是所谓相关合成方法。这两种合成方法的主要区别在于所使用的参考频率源的数目不同。

非相关合成方法使用多个晶体参考频率源,所需的各种频率分别由这些参考源提供。它的缺点在于制作具有相同频率稳定性和精度的多个晶体参考频率源既复杂又困难,而且成本很高。相关合成方法只使用一个晶体参考频率源,所需的各种频率都由它经过分频、混频和倍频后得到的,因而合成器输出频率的稳定性和精度与参考源一样,现在绝大多数直接频率合成技术都使用这种合成方法。

直接频率合成器的频率范围宽,频率转换较快,可以达到微秒级,频率间隔较小( Hz),工作稳定可靠;但是寄生输出大,需要大量的模拟元件,结构复杂,体积大,成本高。直接频率合成技术所固有的缺点,在锁相环(Phase-LockedLooPs)频率合成技术中得到了很大的改善。锁相环频率合成技术(简称PLL)是在40年代初根据控制理论的线性伺服环路发展起来的,最早用于电视机的扫描同步电路,以减少噪声对同步的影响,从而使电视的同步性能得到重大改进。同时,它的低噪声跟踪特性也得到人们的高度重视,发展越来越快,以致于今天被广泛的应用于无线电技术领域的各个方面。锁相频率环合成技术也叫间接式频率合成,这种合成方法所使用的电路较直接式频率合成简单。它主要是将含有噪声的振荡器放在锁相环路内,它的相位锁定在希望的信号上,从而使振荡器本身的噪声被抑制,使它的输出频谱大大提纯。

1.4 DDS技术

直接数字频率合成技术 (Direct Digital Synthesis)完全不同于我们己经熟悉的直接频率合成技术和锁相环频率合成技术。直接数字频率合成技术(简称DDS)的理论早在七十年代就被提出。它的基本原理就是利用采样定理,通过查表法产生波形,由于硬件技术的限制,DDS技术当时没能得到广泛应用。随着大规模集成电路技术的飞速发展,DDS技术的优越性己逐步显现出来。不少学者认为,DDS是产生信号和频率的一种理想方法,发展前景十分广阔。与其他频率合成方法相比较,直接数字频率合成技术的主要优点是易于程控,相位连续,输出频率稳定度高,分辨率高。其频率分辨率可以达到10-3。而且频率转换速度快,可小于100ns,特别适宜用在跳频无线通信系统。其相位噪声主要决定于参考时钟振荡器。

         DDS工作原理框图如图1所示。其基本结构包括:相位累加器PA、波形查询表ROM、数模转换器DAC及低通滤波器。

二、核心程序

...................................................................[Pyy,wy]=periodogram(rom_y,[],'onesided',pp);
%figure;%figure2 只有相位截断,没有量化 figure1
%%psdplot(Pyy/max(Pyy),wy);%      归一化显示出图;
Hpsd=dspdata.psd(Pyy/max(Pyy),wy)
plot(Hpsd)
xlabel('只有相位截断误差');
%%%%%%%%%%%%%%
rom_x=cos(2*pi*add_y/(2^N));
[index,quants2] = quantiz(rom_x,pat,codebook);%量化
[Pzz,wz]=periodogram(quants2,[],'onesided',pp);
figure;%没有相位截取和DAC的非线性等,figure2,只有量化%%psdplot(Pzz/max(Pzz),wz);%      归一化显示出图;
Hps=dspdata.psd(Pzz/max(Pzz),wz)
plot(Hps)
xlabel('只有量化误差');
%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%
[index,quants1] = quantiz(rom_y,pat,codebook);%量化
[Pxx,wx]=periodogram(quants1,[],'onesided',pp);    %频谱分析;
figure;       %figure3 相位截断加量化
%%psdplot(Pxx/max(Pxx),wx);%     归一化显示出图;
Hp=dspdata.psd(Pxx/max(Pxx),wx)
plot(Hp)
xlabel('相位截断误差和量化误差同时有');
grid on
up113

三、仿真结论

 

 

这篇关于DDS直接数字频率合成器的MATLAB性能仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737842

相关文章

捷瑞数字业绩波动性明显:关联交易不低,募资必要性遭质疑

《港湾商业观察》施子夫 5月22日,山东捷瑞数字科技股份有限公司(以下简称,捷瑞数字)及保荐机构国新证券披露第三轮问询的回复,继续推进北交所上市进程。 从2023年6月递表开始,监管层已下发三轮审核问询函,关注到捷瑞数字存在同业竞争、关联交易、募资合理性、期后业绩波动等焦点问题。公司的上市之路多少被阴影笼罩。​ 业绩波动遭问询 捷瑞数字成立于2000年,公司是一家以数字孪生驱动的工

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要

DDS信号的发生器(验证篇)——FPGA学习笔记8

前言:第一部分详细讲解DDS核心框图,还请读者深入阅读第一部分,以便理解DDS核心思想 三刷小梅哥视频总结! 小梅哥https://www.corecourse.com/lander 一、DDS简介         DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有低成本、低功耗、高分辨率、频率转换时间短、相位连续性好等优点,对数字信

[vivado][IP核]DDS

刘东华的IP核详解: 1、 这里的是指IP核配置中的相位数据的宽度。 2、 实际使用此IP核时并没有“频率分辨率”可以配,是靠改变来变的。 3、 4、 5、 数据输出的ready在数据正式输出时才会有。 自己仿真: 使用SIN/COS LUT only的模式,使用一个累加器作为相位输入,不知怎么,输出为X。

剑指offer(C++)--和为S的两个数字

题目 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 class Solution {public:vector<int> FindNumbersWithSum(vector<int> array,int sum) {vector<int> result;int len = array.size();if(

剑指offer(C++)--数组中只出现一次的数字

题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 class Solution {public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {int len = data.size();if(len<2)return;int one = 0;for(int i

Java中如何优化数据库查询性能?

Java中如何优化数据库查询性能? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在Java中如何优化数据库查询性能,这是提升应用程序响应速度和用户体验的关键技术。 优化数据库查询性能的重要性 在现代应用开发中,数据库查询是最常见的操作之一。随着数据量的增加和业务复杂度的提升,数据库查询的性能优化显得尤为重

神经网络第四篇:推理处理之手写数字识别

到目前为止,我们已经介绍完了神经网络的基本结构,现在用一个图像识别示例对前面的知识作整体的总结。本专题知识点如下: MNIST数据集图像数据转图像神经网络的推理处理批处理  MNIST数据集          mnist数据图像 MNIST数据集由0到9的数字图像构成。像素取值在0到255之间。每个图像数据都相应地标有“7”、“2”、“1”等数字标签。MNIST数据集中,

ccp之间是不可以直接进行+,-的,要用ccpSub和ccpAdd。

1.  http://www.cnblogs.com/buaashine/archive/2012/11/12/2765691.html  上面有好多的关于数学的方面的知识,cocos2dx可能会用到的 2.学到了   根据tilemap坐标得到层上物体的id int oneTiled=flagLayer->tileGIDt(tilePos);