频谱分析仪模拟式Word格式文档下载.docx

上传人:b****5 文档编号:16265655 上传时间:2022-11-22 格式:DOCX 页数:17 大小:265.10KB
下载 相关 举报
频谱分析仪模拟式Word格式文档下载.docx_第1页
第1页 / 共17页
频谱分析仪模拟式Word格式文档下载.docx_第2页
第2页 / 共17页
频谱分析仪模拟式Word格式文档下载.docx_第3页
第3页 / 共17页
频谱分析仪模拟式Word格式文档下载.docx_第4页
第4页 / 共17页
频谱分析仪模拟式Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

频谱分析仪模拟式Word格式文档下载.docx

《频谱分析仪模拟式Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《频谱分析仪模拟式Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

频谱分析仪模拟式Word格式文档下载.docx

2.扫频信号的滤波,经过试验发现对本系统有影响的噪声有DDS输出信号中的噪声,因此在扫频信号后面加以滤波器截止频率为30MHz。

(5)有效值检测

有效值检测采样高精度的有效值检测器件AD637,先将峰值转换为有效值,再进行采样。

AD637的误差为0.5mV+0.1%

读数,在

电源供电条件下最大输入信号可达4V,能够满足本题的要求。

(6)控制电路

为减少系统的复杂程度和可靠性,我们采用ATmega16单片机作为控制电路,它内部自带AD,速度快。

(7)显示电路

由于设计方案中需要显示信号的频谱,所以用LCD320*240大屏作显示。

2.系统的设计与实现

2.1系统的硬件组成部分

2.1.1本振电路

扫频信号部分采用专用DDS芯片AD9850。

AD9850输出频率的计算公式为

其中

为32位控制字,

=125MHz。

由于

故其输出频率范围

本设计考虑到高频噪声,在扫频信号后面加以截止频率为30MHz的低通滤波器,故最终AD9850输出频率范围为

原理图如图2所示:

图2AD9850电路

2.1.2前级放大电路

根据前面对题目的分析以及受运算放大器的带宽限制,决定采用两级放大电路对输入信号进行放大,使其达到预定的要求。

第一级放大电路采用300MHz带宽的运放AD8011对输入信号进行放大,放大10倍。

第二级采用可控增益放大器AD603进行放大,放大5倍。

题目要求系统的输入阻抗为50欧姆,根据要求设计的具体电路如图3所示:

图3前级放大电路

由图可知:

为运放的输入电阻一般为

为平衡电阻。

通过调节电位器

为10倍,

为5倍,这样两级一共放大

即34dB。

2.1.3混频电路

混频电路采用的是以AD835为核心器件而搭建的电路,AD835最高工作频谱为250MHz,外围电路简单,可靠性高。

具体电路如图4所示:

图4混频电路

输出信号

将扫频信号加在8脚

端,输入信号加在1脚

端,而且输入信号的幅值不宜过大,需要控制在-1~+1V直接。

为了能使AD835能够更好的工作,在正负电源两端加电容去耦,同时加0欧姆电阻,防止高频信号干扰。

图中有Z=X2=Y2=0;

设输入信号Y1为

扫频信号X1为

则输出信号

一般希望得到一个中频信号,通常采用带通滤波器取出所需要的边带,即可得到中频电压

对于本系统而言,希望得到的中频信号频率为10K。

2.1.4滤波电路

题目要求频谱的分辨率为10KHz,所以每个扫描点的间隔为10KHz,一次频率点为中心,左右各5KHz范围内位有效值,所以滤波器需要5KHz的带宽。

MAX297是一个8阶低通椭圆型快关电容滤波器,采用输入时钟频率控制输出截止频率的方法实现模拟信号和数字信号的滤波。

MAX297的截止频率和时钟的比为

,由截止频率为5KHz以及

可得

实际取

经测试器截止频率为5.6KHz。

设计的电路如图所示5。

图5低通滤波电路

2.1.5有效值检测电路

有效值检测电路时采用AD637为主要器件所搭建的电路,其典型接法如图6所示。

图6有效值检测电路

AD637转换建立时间

,转换出信号纹波

,转换出信号的直流误差

,对于转换要求是建立时间短,纹波小,误差小,最终考虑取

,即

2.1.5控制、显示电路

控制电路选择C8051f120单片机作为主控器件,其最小系统如附录所示。

显示电路使用LCD800*600液晶屏作为显示界面,通过单片机控制显示内容。

3.软件设计

控制DDS产生扫频信号,DDS每输出一个频率与输入信号进行相乘,将相乘的结果用滤波器取出,处理,经AD采样送至单片机。

系统软件流程如下:

图7系统软件流程图

4.系统测试

4.1测试条件和测试仪器设备

系统容易受到温度、高频信号和强磁场的干扰,测试时必须在室温、无高频信号源及无强磁场干扰的条件下进行,并要确保供电电源的稳定性,测试仪器设备如下表1所示。

表1测试使用的仪器设备

序号

名称、型号、规格

数量

备注

出厂编号

1

Tektronix示波器

Tektronix

C039070

2

函数信号发生器EE16428

南京新联电子设备有限公司

001398

3

数字万用表UT58E

UNI-T

3050030633

4.2测试方法和结果

(1)频谱测试

测试方法:

用高频信号源输出信号信号幅值为

,频率在1MHz~20MHz范围内任意频率,将信号接入频谱仪,然后简易频谱仪对信号进行标定见下表:

表2:

频谱标定带宽数据表

带宽/MHz

0.995~2.245

9

10.995~12.245

2.245~3.495

10

12.245~13.495

3.495~4.745

11

13.495~14.745

4

4.745~5.995

12

14.745~15.995

5

5.995~7.245

113

15.995~17.245

6

7.245~8.495

14

17.245~18.495

7

8.495~9.745

15

18.495~19.745

8

9.745~10.995

16

19.745~20.995

观察大屏,测试结果如表3所示。

表3:

频谱测试数据表

输入信号频率(MHz)

输入信号幅值(mV)

实测信号频率(MHz)

误差

1.0

68.2

1.02

0.20%

3.0

3.01

0.33%

5.0

5.03

0.60%

7.0

7.04

0.57%

9.0

9.03

11.0

11.04

0.36%

13.0

13.05

0.38%

15.0

15.05

17.0

17.06

0.35%

19.0

19.07

20.0

20.07

5.结论

这个题目感觉比较难,之前一直没有彻底搞通原理,就按照现成的方案制作各个模块,在调前置放大器AD811时也遇到了问题,发现放大增益不好控制。

现在改用AD603。

在各个模块调试好后,在一起联调时,又不能工作了,后来发现滤波电路也存在问题,又改用两级滤波,这时又出现有效值处理后的幅值太小。

经过两级反向放大后,终于出来正常的频谱了!

经过三天的努力,虽然整个系统仍有许多不足之处,但我们基本上完成了题目要求的基本部分和发挥部分,而且分辨率5K带宽还超出了题目的要求。

能在液晶上显示操作提示等,提供了较好的人机界面。

限于时间短暂,显示平均噪声电平功能和指标没有时间实现。

参考文献:

[

]谢自美.电子线路设计实验测试.武汉:

华中科技大学出版社,2006

]谭浩强.C语言程序设计(第三版).北京:

清华大学出版社,2008

]高吉祥.全国大学生电子设计竞赛培训系列教程.北京:

电子工业出版社,2007

]黄智伟.全国大学生电子设计系统设计.北京:

北京航空航天大学出版社,2006

[5]张洪润,张亚凡.单片机原理及应用.北京:

清华大学出版社.2005.

[6]赵亮,侯国锐.单片机C语言编程与实例,北京:

人民邮电出版社.2003.

[7]康华光.电子技术基础(模拟部分).北京:

高等教育出版社,2006

附录:

附件1:

系统主程序

//**********************************//

/*工程说明:

控制DDS扫频信号,与模拟硬件电路进行共振产生混频信号,AD进行实时采样

通过320_240显示对应频谱波形*/

/*编写时间:

2011-08-09*/

/*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*/

#include<

iom16v.h>

macros.h>

math.h>

#include"

320_240.h"

ADC.h"

DDS.h"

#defineUintunsignedint

#defineUcharunsignedchar

#definekey0PINC4

#definekey1PINC5

#pragmainterrupt_handlerTIME_0_PIPEI:

20//定时器0比较匹配中断序号

Ucharflag;

//标志位

Uintadmax,admin,adpp;

//最大值,最小值,峰峰值;

Uintxx,yy;

//用来显示坐标的参数

Uinta0,a1;

doublev0;

//AD采样变量

unsignedlongintfreq,freq1;

unsignedintgetdata[250];

//存储采样点数

//externflag_AD;

/////////////////////////////////////////////////

voidDelay_ms(Uintz);

voiddelay_us(unsignedinttt);

voidjiemian(void);

//界面静态显示

voidsao_pin(void);

voiddisplay_Xzuobiao();

//显示频率

voiddisplay_Yzuobiao();

//显示幅值

voidtimer0();

voiddisplay_Fdds(void);

//显示DDS频率

////////////////////////////////////////////////

voidmain(void)

{

floata,b;

Uinti,j;

freq1=995000;

//0.995MHz

xx=0;

yy=0;

//xx,yy赋初值

//admax=65535;

admin=0;

DDRB|=BIT(0)|BIT

(1)|BIT

(2)|BIT(3);

//DDS的控制及数据口

DDRC&

=~BIT(4);

PORTC|=BIT(4);

TCCR0=0x04;

//1024分频设置

TCNT0=0x00;

//寄存器初始值设置

OCR0=0xff;

//比较匹配值的设置(但是最大不能超过0xff,因为T/C0是8位定时器)

TIMSK|=BIT(OCIE0);

//开启T/C0输出比较匹配中断使能

SREG|=BIT(7);

//开启总中断允许位

ad9850_reset_serial();

Delay_ms(50);

LcmInition();

//液晶屏初始化

LcmClear();

//清屏

jiemian();

while

(1)

{

if((PINC&

(1<

<

key0))==0)//在下降沿边沿触发

{

Delay_ms(50);

while((PINC&

key0))==0);

freq1=freq1+1250000;

freq=freq1-1250000;

if(freq1==20005000)

{

freq1=995000;

}

}/**/

//ad9850_wr_serial(0x00,freq);

//freq=freq+5000;

getdata[xx]=mega16_ad0();

//Delay_ms(30);

//xx++;

Linexy(xx,190-getdata[xx]*0.04884,xx,190-getdata[xx+1]*0.04884,1,2);

//

//Delay_ms(10);

//display_Yzuobiao(getdata[xx]);

/*if(freq==freq1)

freq=9995000;

}

if(xx==249)

xx=0;

//Delay_ms(30);

LcmClear2();

//用来清除已显示的波形

}*/

//display_Yzuobiao();

display_Fdds();

/*ad9850_wr_serial(0x00,3000);

if(xx<

999&

&

yy<

999)

{

xx++;

yy++;

display_Xzuobiao(xx);

display_Yzuobiao(yy);

Delay_ms(100);

}

ad9850_wr_serial(0x00,freq);

Delay_ms(10);

freq=freq+10000;

if(freq==20005000)

freq=9995000;

}*/

}

}

voidTIME_0_PIPEI()

ad9850_wr_serial(0x00,freq);

freq=freq+5000;

if(xx==249)

freq=freq1-1250000;

xx=0;

//Delay_ms(30);

LcmClear2();

/*if(xx==249)

//寄存器初始值重新设置

voidDelay_ms(Uintz)

Uintx,y;

for(x=0;

x<

z;

x++)

for(y=0;

y<

1141;

y++);

voiddelay_us(unsignedinttt)

while(tt--);

voidjiemian(void)//界面静态显示

Linexy(0,0,252,0,1,1);

Linexy(0,239,252,239,1,1);

Linexy(0,240,253,240,1,1);

Linexy(0,0,0,240,1,1);

Linexy(252,1,252,239,1,1);

Linexy(253,0,253,240,1,1);

for(y=0;

240;

y=y+30)//画8条横线

Linexy(0,y,253,y,1,1);

250;

x=x+25)//画10条竖点线

Linexy(x,0,x,239,1,1);

circle(314,5,5,8,1);

//8画圆0擦圆

circle(314,234,5,8,1);

//PutWordInGraph_zuo();

PutWordInGraph_you();

voidsao_pin(void)

freq=995000;

voiddisplay_Xzuobiao(void)//显示频率

displaynumber(29,64,a1/100);

displaynumber(30,64,a1%100/10);

displaynumber(31,64,a1%10);

voiddisplay_Yzuobiao(void)//显示幅值

doubletemp0;

temp0=adpp*2.56/1024;

a0=temp0*100;

displaynumber(32,80,a0/100);

displaynumber(33,80,a0%100/10);

displaynumber(34,80,a0%10);

voiddisplay_Fdds(void)//显示DDS频率

{

Uinttemp;

temp=freq/1000;

displaynumber(32,128,temp/10000);

displaynumber(33,128,temp%10000/1000);

displaynumber(34,128,temp%1000/100);

displaynumber(35,128,temp%100/10);

displaynumber(36,128,temp%10);

/*for(xx=0;

xx<

xx++)

a=sin(4*xx*0.0175);

yy=190-a*50;

//Point(xx,yy,1);

//Linexy(xx,yy,xx,yy,1);

Delay_ms

(1);

}*/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1