×

正弦波形的产生资料下载

消耗积分:10 | 格式:pdf | 大小:725.58KB | 2021-04-14

张燕

分享资料个

  0 引言   正弦信号源在实验室和设计中有着十分重要的作用,而传统的正弦信号源根据实际需要一般价格昂贵,低频输出时性能不好且不便于自动调节,工程实用性较差。本文的设计以较低的成本制作正弦信号发生器,可用作核磁共振中引发磁场测量仪的激励一般的正弦信号,也可作为调制用的教学演示信号源。   正弦信号发生器主要由两部分组成:正弦波信号发生器和产生调幅、调频、键控信号。正弦波信号发生器采用直接数字频率合成DDS技术,在CPLD上实现正弦信号查找表和地址扫描,经D/A输出可得到正弦信号。具有频率稳定度高,频率范围宽,容易实现频率步进100 Hz。全数字化结构便于集成,输出相位连续,频率、相位和幅度均可实现程控。   调幅、调频、键控信号的产生可采用调频、调幅专用芯片能分剐实现,但是该方法实现的调频调幅功能,对于某一特定频率和特定的调制度、频偏效果较好,在载波频率可变和调制度、频偏要求任意设定的情况下难以实现。本文利用CPLD和单片机AT89S52不仅可以实现频率范围可调的正弦波信号,而且在CPLD内部加上相应的数字控制算法就能方便地实现调频FM,调幅AM和键控PSK、ASK数字调制功能有利于提高系统的整体性能和工作可靠性。正弦信号产生部分可在一片CPLD(EP1K30)中实现,大大地简化了硬件电路,便于功能扩展,并为进一步实现系统集成创造了条件。   1 理论分析与计算   1.1 正弦波形的产生   单向DDS由Nbit相位累加器和ROM只读存储器(正弦查找表)构成的数控振荡源(NCO),数模转换器(DAC)、低通平滑滤波器(LPF)构成,图1所示为DDS的基本结构。   图1中fc为时钟频率,K为频率控制字,N为相位累加器的字长,M为ROM地址线位数,L为ROM数据线宽度,fo为输出频率。相位累加器由全加器和累加寄存器级联组成。在时钟频率fc的控制下,对输入频率控制字K进行累加,累加满量时就产生溢出。相位累加器的输出对应于该时刻合成周期信号的相位,并且这个相位是周期性的,在0~2π范围内变化。相位累加器位数为N,最大输出为2N-1,对应于2π的相位,累加1次就输出1个相应的相位码,地址以查表方式,得到对应相位的信号幅度值,经过数模转换,就可以得到一定频率的信号输出波形,低通滤波器对输出的信号波形进行平滑处理,滤除杂波和谐波。由于控制字K经过2N/K次累加,相位累加器满量溢出,完成1个周期运算,所以输出频率fo由fc和K共同决定,即fo=fcK/2N且K《2N-1,得到DDS的最小分辨率可达fc/2N。理论上通过设定DDS相位累加器的位数N、频率控制字K和时钟频率fc的值,就可以产生任一频率的输出。根据频率步进100Hz的要求,选取累加器的位数为19位,计算出时钟频率fc应为52.4288 MHz。步进的累计误差通过软件补偿的方法进行修正,利用现有的52.416 0 MHz晶振完全精确地实现步进100 Hz的要求。      图1 基于DDS的正弦信号发生器的原理图   1.2 产生模拟幅度调制信号   用调制信号去控制高频振荡的幅度,使其幅度的变化量随调制信号成正比地变化,这一过程称为幅度调制。若载波为uc=Uc cosωct,调制信号为f(t)=cosΩt,则调幅波为      普通调幅波利用模拟相乘器实现,但是外围电路复杂,改变调制度需改变电路元件的参数,实现起来繁琐。可以采用CPLD芯片结合DDS技术灵活的实现数字调幅,原理如图2所示。      图2 幅度调制原理图   由DDS产生的波形信号作为载波,在单片机内部作调制信号为1 kHz的正弦波形存储表,根据键盘所设定的调制度ma(10%~100%)与存储表中的数据相乘的结果送CPLD与DDS得到的波形相乘,再与DDS信号相加就产生相应的数字调幅波编码,经D/A转换得到模拟调幅信号。   1.3 产生模拟频率调制信号   在连续波调制中,载波可表示为uc=Uc cosωct,调制信号为UΩ(t),调频波是瞬时频率的变化量与调制信号成正比,因此调频波的瞬时角频率除了载波角频率ωc外,还附加一项和调制信号成正比的部分,式中kf为比例系数,是单位调制信号强度引起的频率变化。△ωf(t)的最大值△ωf称为最大频偏,反映在频率上为f(t)=fc+△fcos(2πft),调频波的表达式:      图3为CPLD数字调频电路,频偏为5 K时的控制字是50,将余弦波形与50相乘,并与单片机传递的频率控制字相加,送入DDS模块经D/A转换就可以输出调频波,其设计原理图如图4所示。      图3 CPLD数字调频电路图      图4 频率调制设计原理图   1.4 产生二进制PSK、ASK信号   用数字基带信号去控制高频正弦波的幅度就是振幅键控调制ASK。在CPLD内部只需要根据所设定的二进制基带序列码对产生的DDS波形进行处理,二进制基带序列为1时波形通过,序列为0时输出0,仿真波形如图5所示。      图5 二进制ASK仿真波形图   移相键控PSK是数字基带信号去控制载波的相位。它是利用载波不同相位或相位变化来传递信息的。PSK的实现方法是根据数字基带信号的两个电平(或符号)使载波相位在两个不同的数值之间切换,两个载波相位通常相差180°。波形如图6所示。      图6 二进制PSK仿真波形图   1.5 输出信号调理部分   D/A转换电路如图7所示,选用的是12位高速D/A器件AD9713,该器件具有更好的静态性能和动态特性。AD9713B更新速率可达100MS/ s。由于该D/A转换器是针对DDS、波形重构和高质量图像信号处理等应用而设计的,这款芯片在动态特性方面表现特别突出,并且具有优良的谐波抑制能力。AD9713输出满量程电流输出是由VCONTROLAMP IN和RSET决定的,图7中AD9713采用内部参考电压,输出满量程电流为-20 mA。      图7 D/A转换电路   幅度调节电路是由放大器组成。高频信号放大要求放大器有足够的输出电压转换速率,在正弦波的情况下,放大器所需要的最大摆率SR=2πω=2πAf,其中ω为信号的角频率,A为信号幅度,f为频率。此外,幅度调节电路要求带低阻负载,放大器的电流输出能力也是个重要参数,要在50 Ω负载上输出6 V信号,则放大器至少要有120 mA的连续电流输出能力。考虑以上原因,本文选择AD公司的高速运放AD811作为输出放大器,它是一个宽带高速电流反馈型运算放大器,其各项参数非常适合上述指标:小信号带宽(G=+2时)达120 MHz,电压摆率SR为2 500 V/μs,全谐波失真THD为-74 dB(10 MHz),输出电流达100 mA,其短路输出电流可达150mA。   幅度调节电路如图8所示,图中R3和R4起分流作用,限制用于I/V转换的电流,1个电流反馈的高速放大电路。它把AD9713输出的电流转换成电压,通过反馈电阻Rf的电流决定AD811输出的幅度为6 V。为了增大后级的带负载能力设计了后级电压跟随,模拟输出的最后部分是滤波电路,滤波器的选择主要取决于系统所要输出的波形,在50 Ω的负载电阻上的电压峰峰值为6±1 V。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.jibsdb.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'正弦波形的产生资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"https://www.elecfans.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);