频谱分析仪模拟式Word格式文档下载.docx
- 文档编号:16265655
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:17
- 大小:265.10KB
频谱分析仪模拟式Word格式文档下载.docx
《频谱分析仪模拟式Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《频谱分析仪模拟式Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 频谱 分析 模拟