简易频率特性测试仪.doc

上传人:星星 文档编号:1038290 上传时间:2024-03-28 格式:DOC 页数:20 大小:1.05MB
下载 相关 举报
简易频率特性测试仪.doc_第1页
第1页 / 共20页
简易频率特性测试仪.doc_第2页
第2页 / 共20页
简易频率特性测试仪.doc_第3页
第3页 / 共20页
简易频率特性测试仪.doc_第4页
第4页 / 共20页
简易频率特性测试仪.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、摘 要 该频率特性测量仪采用DDS控制核心外加乘法电路、滤波电路、AD转换电路、以及测量电路。主要由正交扫频信号发生器、乘法器、低通滤波器、AD转换、显示等功能模块组成。在本系统中利用51单片机控制DDS芯片AD9854实现信号发生,从而达到输出频率、相位、幅度可控的正交扫频信号。然后,制作一个频率特性测试仪,用来测量产生的扫频信号的有关信息,并正确显示。为了了解检测电路的特性,最后做一个RLC被测网络。使用测量电路测量被测网络的有关电器参数,同时可以通过对电路优化来提高该测量仪的测量精度。关键字:DDS AD9854 正交扫频II目 录1系统方案11.1 正交扫频信号源的论证与选择11.2

2、相频特性的论证与选择21.3 幅频特性的论证与选择32系统理论分析与计算42.1 系统总体方案的分析42.1.1 采用DSP方式42.1.2 直接利用已有信号源给系统,比较输入输出52.2有关零中频原理的计算53电路与程序设计63.1电路的设计63.1.1系统总体框图63.1.2 扫频信号子系统框图与电路原理图73.2程序的设计83.2.1程序功能描述与设计思路83.2.2程序流程图94测试方案与测试结果10附录1:电路原理图11附录2:源程序12参考文献17简易频率特性测试仪(E题)【本科组】1系统方案本系统主要由信号发生器模块、乘法电路模块、解调模块、显示测量模块组成,下面分别论证这几个模

3、块的选择。1.1 正交扫频信号源的论证与选择方案一:单片函数发生器利用单片函数发生器配合外部分立元件输出频率,通过调整外部元件可改变输出频率。缺点:发生器输出频率稳定度差、精度低、抗干扰能力低、灵活性差,成本也高。方案二:锁相环频率合成技术 图1.1 PPL原理图通过改变程序分频器的分频比,则可改变压控振荡器的输出频率fo,从而获得大量可供利用的频率稳定度等同于参考频率的频率点,这里输出频率fo只能以参考频率fr为步长进行变化。缺点:现有集成PLL的VCO一般都产生方波,而不是正弦波,而且在不改变VCO电容的情况下,要达到1MHZ40MHZ的频率范围有很大困难,所以我们不予采用。方案三:DDS

4、产生编程控制的信号源图1.2. DDS原理图将输出波形的一个完整周期幅度值按相位步进顺序量化存储于 EEPROM 中,利用相位累加技术生成地址查询高速存储器中存储的波形幅值,再以均匀速率把这些样本输出到数模转换器变换成模拟信号,由一个周期输出样本个数决定输出频率的大小。缺点:DDS可以高精度与高纯度的频率信号,理论上只要累加器的位数足够多,可以实现任意小的频率步进。频率分辨率很高,离散输出已十分接近连续变化。对相位累加器预置累加初值可以很方便地实现精密相位调节。综合以上三种方案,选择方案三。1.2 相频特性的论证与选择方案一:积分法 将异或鉴相器的异或输出脉冲送至积分器积分,当积分电压达到一定

5、值时再通过一个回路放电,并测量充放电的时间T1,T2。根据其比值算出其相位差。缺点:这种方案测量精度高且与被测信号的频率关系不大,可以测量高频信号间的相位差。但这种方法对积分电路和充放电时间的要求较高,因此不采用。方案二:计数法 将输入和输出信号分别经过过零比较器后对其输出方波进行异或操作。所得脉冲的占空比既能反映被测信号相位大小。测量异或脉冲的周期为T,假设其高点平时间为Th,给一个基准高频脉冲,T与Th内基准脉冲的数目分别为M、N,则信号的相位差则为=(N/M)*360。该方案实现电路简单,易于ARM编程实现。 方案三:低通滤波器 将输入和输出信号分别经过过零比较器后对其输出方波进行异或操

6、作。将此异或输出信号微分得到两个对应被测信号负向过零瞬间的尖脉冲,利用非饱和型高速双稳态电路被这两组负脉冲所触发,输出周期为T、宽度为TX的方波,若方波幅度为Ug,则此方波的平均值即直流分量可得。用低通滤波器将方波中的基波和谐波分量全部滤除后,输出电压即直流电压。上式中T为被测信号的周期,TX由两信号的相位差决定。TX与的关系为:。若A/D的量化单位取为Ug/3600,则A/D转换结果即为的度数。最终我们选择方案三 1.3 幅频特性的论证与选择方案一:二极管峰值检测法图1.3 二极管峰值检测电路图 由电压跟随器和二极管电路组成,其工作原理为:当输入电压正半周通过时,检波管导通,对电容C充电,使

7、电容上的电压逐渐趋近于峰值电压。只要RC足够大,可以认为其输出的直流电压数值上十分接近于交流电压的峰值。而在其它时段电容C上的电压将对电阻R放电。利用检波二极管对输出信号检测,得到与信号峰值成比例关系的直流信号,在经过运算放大器调整比例系数以便于单片机采样。方案说明:此法检测的信号范围小,但精度高,能够满足该系统的幅频特性的测试要求。并且电路简单,经典易用。但是本题由于经过带阻网络,并且扫频变化很快,所以要求检测能够很快跟随,这点很难实现。方案二:基于AD637的有效检测图1.4基于AD637的有效值检测电路采用集成真有效值变换芯片,测量被测信号的真有效值,然后换算为幅值这样可以实现对正弦波的

8、幅值测量。AD637是一块高精度单片真有效值转换器,计算各种复杂波形的真有效值,采用了峰值系数补偿,量程在07V范围内可调,在测量峰值系数高达10的信号时附加误差仅为1%。而且外围元件少,频带宽,频带宽度在2V输入时可达8MHZ。方案说明:芯片AD637精度很高,稳定性好,快速变化能力比方案一强。综合以上两种方案,选择方案二。2系统理论分析与计算2.1 系统总体方案的分析 2.1.1 采用DSP方式首先给被测网络一个能量脉冲信号X(t),然后分别对被测网络的输出Y(t)和原信号X(t)进行采样,通过对采样数据进行FFT而分别得到Y(jw)和X(jw),两者的比值即为H(jw)。当输入为单位冲击

9、函数时,则输出为系统的单位冲激响应,由于恒等于1,于是就有 由此可得幅频特性和相频特性完整的信息。方案说明:采用这种方法时要制作冲激响应,并对输出响应进行数据采集,再对采集的数据进行FFT以得到。但在实际应用中,不可能得到理想的脉冲,虽然脉冲信号足够窄的信号可以代替,但是比较难以获得。而且此测试方法对软件的计算能力要求比较高,必须采用微机系统,故不采用。2.1.2 直接利用已有信号源给系统,比较输入输出首先设计一个扫描信号源,输出频率可步进的正弦信号,作为被测网络的输入信号Vi,网络的输出信号为Vo,信号源输出的频率按步进值递增,在各个频率点上,通过对幅度有效值的测量和A/D就可以得到 Vo和

10、Vi的有效值,两者之比就是该点的频率响应;对Vo和Vi进行过零比较、整形,再进行相位差的测量。Vi的上升沿启动计数,Vo的上升沿停止计数,得到的时间值比上信号的周期,就是该点的相位响应。方案说明: 该方案可利用ARM工具,减少了硬件电路,并且频率可调的信号易于得到,可实现性明显比方案一高。所以,综合比较,最终选择方案二。2.2有关零中频原理的计算 1 非零中频解调器所遇到的问题非零中频接收机又称超外差式接收机(Heterodyne Receiver),一般要几次下变频的零中频在中频完成解调。在这种接收机的设计中存在以下几个主要问题:1.1镜像频率的抑制下变频过程中会产生有关位于fc-2fi 的

11、镜像频率,在混频之前必须把它抑制掉。这要采用高频滤波器实现。只有当中频很高,镜像与载波相隔很远时才能实现。但这时,却不能把临频道干扰有效地抑制掉。即临频道干扰的抑制和镜频抑制互为矛盾。即使镜频与载波相隔很近(例如:fc/fi=10),对高频滤波器的要求也很高,一般要有很高的Q 值(接近50),而且阶数也很高(6 阶才可以达到6070dB 的镜频抑制度)。1.2 镜频的抑制镜频的抑制可以用I/Q 正交结构实现,但是要求I/Q 幅度一致,相位正交,例如5的幅度不平衡和3 度的相位不正交时,镜频抑制度约在26dB,要达到60dB 的镜频抑制度,相位不正交性要小于0.3 度,一般集成电路很难实现。1.

12、3 集成度低混频器之后的临频道干扰抑制滤波器也要很高的Q 值和阶数,这样的镜频抑制和临频道抑制滤波器难以集成。一般要用分离元件构成。造成体积大,费用较高。1.4 阻抗匹配困难由于镜频滤波器难以集成,低噪声放大器后面要跟一个50的负载,这又要在噪声与线性度之间进行权衡。2 零中频解调的优点零中频(Zero-IF)解调又称为直接下变频(Direct-Conversion)解调,(如图所示),方法是将信号从载波直接变频到基带。这时中频为零,镜频和信号自身重叠一起,此时要采用I/Q 正交结构来抑制镜频。图2.1 零中频解调的基本原理零中频解调的主要优点是:临频道抑制不须要高Q 的滤波器,低通滤波器可以

13、用模拟集成电路实现;零中频解调器与非中频解调器的比较3低噪声放大器后不须要50的负载;I/Q 支路可以直接A/D,用DSP 实现解调器;硬件消耗少,集成度高。3电路与程序设计3.1电路的设计3.1.1系统总体框图本系统采用单片机驱动AD8954 DDS芯片,产生两路信号、一路正弦一路余弦。配合后边的乘法电路,调制解调电路、低通滤波电路、ADC模数转换电路最后运用程序驱动配合外围电路和示波器进行幅频特性的分析。系统总体框图如图6所示图3.1 系统总体框图3.1.2 扫频信号子系统框图与电路原理图图3.2 扫频信号子系统框图与电路原理图3.2程序的设计3.2.1程序功能描述与设计思路通过51单片机

14、控制AD9854,对51单片机编写程序,从而使AD9854在单片机的控制下分别产生一路频率、振幅、相位相同的正弦波和余弦波。3.2.2程序流程图图3.3 程序流程图4测试方案与测试结果图4.1 频率为3MHz的正弦波通过一段时间的努力,我们终于能够运用51单片机控制AD9854产生我们想要得到的正弦波形,紧接着我们进行正交扫频信号的产生实验。但是却始终不能够产生稳定、精确的正交扫频信号波形。剩下的大多数时间都在为产生非常稳定的正交扫频信号波形而努力。软件编程工作基本完成(完整的源程序附于附录中),但是产生的正交扫频信号在稳定相位差、等振幅和等频率的问题上总是不能很好的解决。开始时对程序进行优化

15、,可产生的信号总是受到很大的干扰,后来查阅一些资料了解到我们的外部所布线路完全是由自己用焊锡手工焊接,裸露在外部的焊锡电路没有绝缘层的保护在上电时很容易受到干扰,这可能是波形不稳定的原因。本想从做一个AD9854的外围电路,可是时间以及来不及,这就是我没目前的实验进度情况。18附录1:电路原理图整体电路图附录2:源程序#include #include #define uint unsigned int#define uchar unsigned char#define ulong unsigned longuchar FreqWord6; /6个字节频率控制字#define CLK_Set

16、6const ulong Freq_mult_ulong = 2345625;const double Freq_mult_doulle = 2345624.80592213;#define AD9854_DataBus P0#define AD9854_AdrBus P2sbit AD9854_RST = P37; /AD9854复位端口sbit AD9854_UDCLK = P36; /AD9854更新时钟sbit AD9854_WR = P35; /AD9854写使能,低有效sbit AD9854_RD = P34; /AD9854读使能,低有效sbit AD9854_FDATA = P

17、33; /AD9854 FSK,PSK控制sbit AD9854_OSK = P32; /AD9854 OSK控制端/=/函数名称:void AD9854_WR_Byte(uchar addr,uchar dat)/函数功能:AD9854并行口写入数据/入口参数:addr 6位地址/ dat 写入的数据/出口参数:无/=void AD9854_WR_Byte(uchar addr,uchar dat)AD9854_AdrBus = (addr&0x3f) | (P2&0xc0);AD9854_DataBus = dat;AD9854_WR = 0;AD9854_WR = 1;/=/函数名称:v

18、oid AD9854_Init(void)/函数功能:AD9854初始化/入口参数:无/出口参数:无/=void AD9854_Init(void)AD9854_WR=1;/将读、写控制端口设为无效 AD9854_RD=1; AD9854_UDCLK=0; AD9854_RST=1; /复位AD9854 AD9854_RST=0;AD9854_WR_Byte(0x1d,0x10); /关闭比较器AD9854_WR_Byte(0x1e,CLK_Set); /设置系统时钟倍频 AD9854_WR_Byte(0x1f,0x00); /设置系统为模式0,由外部更新AD9854_WR_Byte(0x20

19、,0x60); /设置为可调节幅度,取消插值补偿AD9854_UDCLK=1; /更新AD9854输出 AD9854_UDCLK=0;/=/函数名称:void Freq_convert(long Freq)/函数功能:正弦信号频率数据转换/入口参数:Freq 需要转换的频率,取值从0SYSCLK/2/出口参数:无 但是影响全局变量FreqWord6的值/说明: 该算法位多字节相乘算法,有公式FTW = (Desired Output Frequency 2N)/SYSCLK/ 得到该算法,其中N=48,Desired Output Frequency 为所需要的频率,即Freq,SYSCLK/

20、 为可编程的系统时钟,FTW为48Bit的频率控制字,即FreqWord6/=void Freq_convert(long Freq) ulong FreqBuf; ulong Temp=Freq_mult_ulong; uchar Array_Freq4; /将输入频率因子分为四个字节Array_Freq0=(uchar)Freq;Array_Freq1=(uchar)(Freq8);Array_Freq2=(uchar)(Freq16);Array_Freq3=(uchar)(Freq24);FreqBuf=Temp*Array_Freq0; FreqWord0=FreqBuf; Freq

21、Buf=8; FreqBuf+=(Temp*Array_Freq1); FreqWord1=FreqBuf; FreqBuf=8; FreqBuf+=(Temp*Array_Freq2); FreqWord2=FreqBuf; FreqBuf=8;FreqBuf+=(Temp*Array_Freq3); FreqWord3=FreqBuf; FreqBuf=8; FreqWord4=FreqBuf; FreqWord5=FreqBuf8; /=/函数名称:void AD9854_SetSine(ulong Freq,uint Shape)/函数功能:AD9854正弦波产生程序/入口参数:Fre

22、q 频率设置,取值范围为0(1/2)*SYSCLK/ Shape 幅度设置. 为12 Bit,取值范围为(04095) ,取值越大,幅度越大 /出口参数:无/=void AD9854_SetSine(ulong Freq,uint Shape)uchar count;uchar Adress;Adress = 0x04; /选择频率控制字地址的初值Freq_convert(Freq); /频率转换for(count=6;count0;) /写入6字节的频率控制字 AD9854_WR_Byte(Adress+,FreqWord-count); AD9854_WR_Byte(0x21,Shape8

23、); /设置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /设置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; /更新AD9854输出 AD9854_UDCLK=0;/= / 函数名称 :void delay (uint us)/ 函数功能 :us级延时,大概24 us/ 入口参数 :us 延时时间的长短/ 出口参数 :无/= void delay (uint us) uint i;for(i=0;ius;i+)_nop

24、_();/测试正弦波,采用120MHZ SYSCLK时,出来10MHZ波形,波形很好,测试成功/当采用300MHZ SYSCLK时,测试50MHZ波形时,DDS发热厉害,且波形衰减严重,幅度在35mV左右int main() uint i;AD9854_Init();for (i = 0; i 400; i+) AD9854_SetSine(1000000+i*100000,4000);delay(1);while(1);参考文献 1 林立.单片机原理及应用.2013第二版.北京:电子工业出版社出版.2013.1 2 华成英.模拟电子技术基础教程.2006年二月第一版.北京:清华大学出版社,2011.10 3 阎石.数字电子技术基础.2009第五版.北京:高等教育出版社,2004.1. 4 郭天祥.51单片机C语言教程.2011第三版. 北京:电子工业出版社出版,2009.1. 5 樊昌信 曹丽娜.通信原理.第六版.北京:国防工业出版社,2011.1.

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

当前位置:首页 > 技术资料 > 其他资料

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922