• 回答数

    4

  • 浏览数

    285

艳的笑窝
首页 > 期刊论文 > 示波器论文参考文献中英文

4个回答 默认排序
  • 默认排序
  • 按时间排序

极夜北极光

已采纳

首先根据输出波形的频率和幅值进行编码,存储在单片机的ROM里,然后以一定的时间间隔依次将这些数字量送往D/A进行转换输出,这样,只要循环送数,在D/A的双极性输出端就可以得到波形波形。采用单片机片内的振荡器、上电复位和外部硬件看门狗电路。至于波形编码,网上资料很多,下面是硬件电路设计的描述(这个是网上找的):输出两路幅值相等相位相差90°的正弦波形作为物体偏转测量的基准波形;另一路输出测角波形,该波形相对基准波形的相位反映角偏差的方向、幅值反映角偏差量。专用波形发生器就是模拟角位移输出波形的装置,用来进行后续解调电路以及功放电路的检测。它以单片机为核心,经过D/A转换和放大电路的处理,最后输出反应弹体姿态的基准波形和测角波形。软件方面的编程:#include "reg52.h" #define uchar unsigned char#define uint unsigned intunsigned char code table[]=; //共阴极0~9对应16进制数//=============正弦波数据==================== uchar code sin_tab[256]= { 0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae, 0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4, 0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xed, 0xef, 0xf0, 0xf2, 0xf3, 0xf4, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf3, 0xf2, 0xf0, 0xef, 0xed, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe1, 0xde, 0xdc, 0xda, 0xd8, 0xd6, 0xd3, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb4, 0xb1, 0xae, 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c, 0x99, 0x96, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83, 0x80, 0x7d, 0x79, 0x76, 0x73, 0x70, 0x6d, 0x6a, 0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52, 0x4f, 0x4c, 0x49, 0x46, 0x43, 0x41, 0x3e, 0x3b, 0x39, 0x36, 0x33, 0x31, 0x2e, 0x2c, 0x2a, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x14, 0x12, 0x10, 0xf, 0xd, 0xc, 0xb , 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x3, 0x2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x2, 0x3, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 , 0x9, 0xa, 0xc, 0xd, 0xe, 0x10, 0x12, 0x13, 0x15, 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x23, 0x25, 0x27, 0x29, 0x2c, 0x2e, 0x30, 0x33, 0x35, 0x38, 0x3b, 0x3d, 0x40, 0x43, 0x46, 0x48, 0x4b, 0x4e, 0x51, 0x54, 0x57, 0x5a, 0x5d, 0x60, 0x63, 0x66, 0x69, 0x6c, 0x6f, 0x73, 0x76, 0x79, 0x7c, }; //三角波信号数据表uchar code thr_tab[32]={ 0x00,0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0x8f,0x9f,0xaf,0xbf,0xcf,0xdf,0xef, 0xff,0xef,0xdf,0xcf,0xbf,0xaf,0x9f,0x8f,0x7f,0x6f,0x5f,0x4f,0x3f,0x2f,0x1f,0x0f};//-------------------------------------------------------------------------------------------------------//锯齿波信号数据表uchar code jc_tab[33]={ 0x00,0x08,0x0f,0x18,0x1f,0x28,0x2f,0x38,0x3f,0x48,0x4f,0x58,0x5f,0x68,0x6f,0x78, 0x7f,0x88,0x8f,0x98,0x9f,0xa8,0xaf,0xb8,0xbf,0xc8,0xcf,0xd8,0xdf,0xe8,0xef,0xf8,0xff};//数码管位选控制口定义sbit LED4=P2^7;sbit LED3=P2^6;sbit LED2=P2^5;sbit LED1=P2^4;//按键口申明sbit S1=P2^3;sbit S2=P2^2;sbit S3=P2^1;unsigned char tabArry[4]; //保存显示数据char flag=1; //按键标志,当flag=1时表示没有按下,当flag=0时表示有按键按下int keycount=0; //按键计数unsigned char waveth,wavetl; //用于对定时器付值unsigned int frecount=100; //频率计数unsigned int mbjs; //码表计数,共采32个点//毫秒延时程序void delayms(int ms){ uchar i; while(ms--) { for(i=250;i>0;i--); }}//键盘扫描void keyscan(){ if(flag==1) { if(S3==0) //用S3切换波形 { delayms(2); //延时去抖 if(S3==0) //按键计数,便于切换波形 { flag=0; keycount++; if(keycount>=4) keycount=0; //四种波形计数4次 } } if(S2==0) //频率加1 处理 { delayms(2); if(S2==0) { flag=0; switch(keycount) { case 0: //正弦波频率加1 frecount++; if(frecount>1000) frecount=0; break; case 1: //三角波频率加1 frecount++; if(frecount>1000) frecount=0; break; case 2: //锯齿波频率加1 frecount++; if(frecount>1000) frecount=0; break; case 3: //方波频率加1 frecount++; if(frecount>1000) frecount=0; break; } waveth=(65536-57603/frecount)/256; //重新计算初值 wavetl=(65536-57603/frecount)%256; } } if(S1==0) //频率减1 处理 { delayms(2); if(S1==0) { flag=0; switch(keycount) { case 0: //正弦波频率减1 frecount--; if(frecount<0) frecount=999; break; case 1: //三角波频率减1 frecount--; if(frecount<0) frecount=999; break; case 2: //锯齿波频率减1 frecount--; if(frecount<0) frecount=999; break; case 3: //方波频率减1 frecount--; if(frecount<0) frecount=999; break; } waveth=(65536-57603/frecount)/256; //重新计算初值 wavetl=(65536-57603/frecount)%256; } } } if(S1!=0 && S2!=0 && S3!=0) flag=1; //判断按键是否弹起 }//数据分位void change(char wavetype,unsigned int frequency){ tabArry[0]=wavetype; //显示字母,表示波形类型 tabArry[1]=frequency%1000/100; //百位 tabArry[2]=frequency%100/10; //十位 tabArry[3]=frequency%10; //个位}//显示函数void display(){ switch(keycount) { case 0: //显示A和正弦波的频率 change(0x0a,frecount); break; case 1: //显示b和三角波的频率 change(0x0b,frecount); break; case 2: //显示C和锯齿波的频率 change(0x0c,frecount); break; case 3: //显示d和方波的频率 change(0x0d,frecount); break; } P0 = table[tabArry[0]]; //送最高位段码 LED1=0; //打开对应的位选控制口 delayms(2); //显示延时 LED1=1; //关闭对应的位选控制后显示下一位 P0 = table[tabArry[1]]; LED2=0; delayms(2); LED2=1; P0 = table[tabArry[2]]; LED3=0; delayms(2); LED3=1; P0 = table[tabArry[3]]; LED4=0; delayms(2); LED4=1; }void Timerinit(){ TMOD=0x01; //定时器0方式1 //定时器初值计算公式:X=65536-(T/T0)=65536-(f0/f/32) TH0=waveth=(65536-57603/frecount)/256; //定时器初值 22.1184MHz TL0=wavetl=(65536-57603/frecount)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //定时器0开始计数}//主函数 void main(){ Timerinit(); //定时器初始化 while(1) { keyscan(); //扫描按键 display(); //显示程序 } }void Timer0() interrupt 1{ TH0=waveth; //重新赋初值 TL0=wavetl; if (keycount==0) //输出正弦波 { P1 = sin_tab[mbjs]; mbjs+=8; //256点,每隔8点输出一个数据 if(mbjs>=256) { mbjs=0; } } else if(keycount==1) //输出三角波 { P1 = thr_tab[mbjs]; mbjs++; if(mbjs>=32) { mbjs=0; } } else if(keycount==2) //输出锯齿波 { P1 = jc_tab[mbjs]; mbjs++; if(mbjs>=32) { mbjs=0; } } else if(keycount==3) //输出方波 { mbjs++; if(mbjs>=32) { mbjs=0; } else if(mbjs<16) P1=0xff; else P1=0x00; }} 摘 要函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波—正弦波函数发生器的设计方法,先通过比较器产生方波,再通过积分器产生三角波,最后通过差分放大器形成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。经过仿真得出了方波、三角波、正弦波、方波——三角波转换及三角波——正弦波转换的波形图。关键字:函数信号发生器、集成运算放大器、晶体管差分放设计目的、意义1 设计目的(1)掌握方波—三角波——正弦波函数发生器的原理及设计方法。(2)掌握迟滞型比较器的特性参数的计算。(3)了解单片集成函数发生器8038的工作原理及应用。(4)能够使用电路仿真软件进行电路调试。2 设计意义函数发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都学要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波等,因而广泛用于通信、雷达、导航、宇航等领域。设计内容1 课程设计的内容与要求(包括原始数据、技术参数、条件、设计要求等):1.1课程设计的内容(1)该发生器能自动产生正弦波、三角波、方波。(2)函数发生器以集成运放和晶体管为核心进行设计(3)指标:输出波形:正弦波、三角波、方波 频率范围:1Hz~10Hz,10Hz~100Hz输出电压:方波VP-P≤24V,三角波VP-P=8V,正弦波VP-P>1V;(4)对单片集成函数发生器8038应用接线进行设计。1.2课程设计的要求(1)提出具体方案(2)给出所设计电路的原理图。(3)进行电路仿真,PCB设计。2 函数波形发生器原理2.1函数波形发生器原理框图 图2.1 函数发生器组成框图2.2函数波形发生器的总方案函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件 (如低频信号函数发生器S101全部采用晶体管),也可以采用集成电路(如单片函数发生器模块8038)。为进一步掌握电路的基本理论及实验调试技术,本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波—正弦波函数发生器的设计方法。产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波—三角波,再将三角波变换成正弦波的电路设计方法[3]。由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。2.3函数波形发生器各组成部分的工作原理2.3.1方波发生电路的工作原理此电路由反相输入的滞回比较器和RC电路组成。RC回路既作为延迟环节,又作为反馈网络,通过RC充、放电实现输出状态的自动转换。设某一时刻输出电压Uo=+Uz,则同相输入端电位Up=+Ut。Uo通过R3对电容C正向充电,如图2.3中实线箭头所示。反相输入端电位n随时间t的增长而逐渐增高,当t趋于无穷时,Un趋于+Uz;但是,一旦Un=+Ut,再稍增大,Uo从+Uz跃变为-Uz,与此同时Up从+Ut跃变为-Ut。随后,Uo又通过R3对电容C反向充电,如图中虚线箭头所示。Un随时间逐渐增长而减低,当t趋于无穷大时,Un趋于-Uz;但是,一旦Un=-Ut,再减小,Uo就从-Uz跃变为+Uz,Up从-Ut跃变为+Ut,电容又开始正相充电。上述过程周而复始,电路产生了自激振荡[4]。2.3.2方波——三角波转换电路的工作原理 图2.2方波—三角波产生电路工作原理如下:若a点断开,整个电路呈开环状态。运算发大器A1与R1、R2及R3、RP1组成电压比较器,C1为加速电容,可加速比较器的翻转。运放的反相端接基准电压,即U-=0,同相输入端接输入电压Uia,R1称为平衡电阻。比较器的输出Uo1的高电平等于正电源电压+Vcc,低电平等于负电源电压-Vee(|+Vcc|=|-Vee|), 当比较器的U+=U-=0时,比较器翻转,输出Uo1从高电平跳到低电平-Vee,或者从低电平Vee跳到高电平Vcc。设Uo1=+ Vcc,则 (2.1)将上式整理,得比较器翻转的下门限单位Uia_为 (2.2)若Uo1=-Vee,则比较器翻转的上门限电位Uia+为 (2.3)比较器的门限宽度: (2.4)由以上公式可得比较器的电压传输特性,如图2.3所示。a点断开后,运放A2与R4、RP2、C2及R5组成反相积分器,其输入信号为方波Uo1,则积分器的输出Uo2为: (2.5) 时, (2.6) 时, (2.7)可见积分器的输入为方波时,输出是一个上升速度与下降速度相等的三角波,其波形关系如图2.4所示。a点闭合,即比较器与积分器形成闭环电路,则自动产生方波-三角波。三角波的幅度为: (2.8)方波-三角波的频率f为: (2.9)由以上两式(2.8)及(2.9)可以得到以下结论:(1) 电位器RP2在调整方波-三角波的输出频率时,不会影响输出波形的幅度。若要求输出频率的范围较宽,可用C2改变频率的范围,PR2实现频率微调。(2) 方波的输出幅度应等于电源电压+Vcc。三角波的输出幅度应不超过电源电压+Vcc。电位器RP1可实现幅度微调,但会影响方波-三角波的频率[3]。图2.3比较器的电压传输特性图2.4方波与三角波波形关系2.3.3三角波---正弦波转换电路的工作原理如图2.5三角波——正弦波的变换电路主要由差分放大电路来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器,可以有效的抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性[1]。 图2.5 三角波——正弦波的变换电路分析表明,传输特性曲线的表达式为: (2.10) (2.11)式中 ——差分放大器的恒定电流; ——温度的电压当量,当室温为25oc时, ≈26mV。如果Uid为三角波,设表达式为 (2.12)式中 Um——三角波的幅度; T——三角波的周期。 为使输出波形更接近正弦波,由图2.6可见:(1)传输特性曲线越对称,线性区越窄越好。(2)三角波的幅度Um应正好使晶体管接近饱和区或截止区。(3)图2.7为实现三角波——正弦波变换的电路。其中RP1调节三角波的幅度,RP2调整电路的对称性,其并联电阻RE2用来减小差分放大器的线性区。电容C1,C2,C3为隔直电容,C4为滤波电容,以滤除谐波分量,改善输出波形[2]。 图2.6三角波—正弦波变换原理 图2.7三角波—正弦波变换电路2.4电路的参数选择及计算2.4.1方波-三角波中电容C1变化(关键性变化之一)实物连线中,我们一开始很长时间出不来波形,后来将C2从10uf(理论时可出来波形)换成0.1uf时,顺利得出波形。实际上,分析一下便知当C2=10uf时,频率很低,不容易在实际电路中实现。2.4.2三角波—正弦波部分的计算比较器A1与积分器A2的元件计算如下:由式(2.8)得 即 取 ,则 ,取 ,RP1为47KΩ的点位器。取平衡电阻 由式(2.9) 即 当 时,取 ,则 ,取 ,为100KΩ电位器。当 时 ,取 以实现频率波段的转换,R4及RP2的取值不变。取平衡电阻 。三角波—正弦波变换电路的参数选择原则是:隔直电容C3、C4、C5要取得较大,因为输出频率很低,取 ,滤波电容 视输出的波形而定,若含高次斜波成分较多, 可取得较小, 一般为几十皮法至0.1微法。RE2=100欧与RP4=100欧姆相并联,以减小差分放大器的线性区。差分放大器的静态工作点可通过观测传输特性曲线,调整RP4及电阻R*确定。2.5 总电路图先通过比较器产生方波,再通过积分器产生三角波,最后通过差分放大器形成正弦波。如图2.5.1所示, 图2.5.1三角波-方波-正弦波函数发生器实验电路2.6 8038单片集成函数发生器2.6.1 8038的工作原理8038由恒流源I1、I2,电压比较器C1、C2和触发器①等组成。其内部原理电路框图和外部引脚排列分别如图2.8和图2.9所示。 图2.8 8038原理框图 图2.9 8038管脚图(顶视图)1. 正弦波线性调节;2. 正弦波输出;3. 三角波输出;4. 恒流源调节;5. 恒流源调节;6. 正电源;7. 调频偏置电压;8. 调频控制输入端;9. 方波输出(集电极开路输出); 10. 外接电容;11. 负电源或接地;12.正弦波线性调节;13、14. 空脚在图2.8中,电压比较器C1、C2的门限电压分别为2VR/3和VR/3( 其中VR=VCC+VEE),电流源I1和I2的大小可通过外接电阻调节,且I2必须大于I1。当触发器的Q端输出为低电平时,它控制开关S使电流源I2断开。而电流源I1则向外接电容C充电,使电容两端电压vC随时间线性上升,当vC上升到vC=2VR/3 时,比较器C1输出发生跳变,使触发器输出Q端由低电平变为高电平,控制开关S使电流源I2接通。由于I2>I1 ,因此电容C放电,vC随时间线性下降。当vC下降到vC≤VR/3 时,比较器C2输出发生跳变,使触发器输出端Q又由高电平变为低电平,I2再次断开,I1再次向C充电,vC又随时间线性上升。如此周而复始,产生振荡。若I2=2I1 ,vC上升时间与下降时间相等,就产生三角波输出到脚3。而触发器输出的方波,经缓冲器输出到脚9。三角波经正弦波变换器变成正弦波后由脚2输出。当I1

295 评论

壹秒钟变rabbiT

文摘随着计算机技术的发展,传统仪器开始转向计算机化。虚拟仪器是现代计算机技术、仪器技术以及其他新技术完美结合的产物,其强大的功能已完全超出了仪器概念本身。本文首先叙述了虚拟仪器的概念、发展、组成等,接着采用图形化编程软件Labview设计了虚拟示波器以及它的虚拟频谱分析功能,重点介绍了Labview中使用第三方板卡——研华PCL-812PG实现外部模拟信号采集的方法。最后总结了本文所做的主要工作并提出了进一步研究的设想:虚拟仪器在internet网中的远程测控。关键词:虚拟仪器、PCL-812PG、Labview.AbstractWith the development of computer, traditional instrument has developed into computerize instrument. Virtual Instrument is a perfect combination of modern computer technology, instrument technology and other new technology. Its strong function is beyond the instrument itself. This paper first introduce the development, concept, form of the virtual instrument, design the virtual scope, virtual-frequency-analysis instrument by using the programming software Labview, then gather the analogue signal outsides by PCL-812PG, transferred into digital signal, show in the computer. At last, this paper put forward the further research: the distance-usage of the virtual instrument in the internet.Keywords: Virtual Instrument、PCL-812PG、Labview.目录第一章绪论1. 1虚拟仪器的概述----------------------------------------------(1)1. 2软件开发工具的简介----------------------------------------(1)1. 3本文的主要工作----------------------------------------------(2)第二章 虚拟示波器的实现2. 1图形化的编程语言Labview---------------------------------(3)2. 2虚拟示波器实时波形显示界面的实现和框图程序-----(3)2. 3快速傅立叶变换(FFT)和Labview分析库中的FFT VI-(6) 2. 4虚拟频谱分析功能软面板和方框图的实现--------------(7)第三章声卡的作用和主要技术参数3. 1声卡的作用-------------------------------------------------(10)3. 2声卡的主要技术参数--------------------------------------(10)3. 3 LabVIEW中相关声卡操作函数简介------------------(10)四章 实验分析结果4. 1实验设备-------------------------------------------------------(14)4. 2实验内容-------------------------------------------------------(14)4. 3实验步骤-------------------------------------------------------(14)第五章 结束语----------------------------------------------------------(16)参考文献--------------------------------------------------------------------(17)第一章绪论随着计算机技术的发展,传统仪器开始向计算机化的方向发展。虚拟仪器是20世纪90年代提出的新概念,是现代计算机技术,仪器技术及其他新技术完美结合的产物。虚拟仪器技术的提出与发展,是21世纪自动测试与电子测量仪器技术发展的一个重要方向。1. 1虚拟仪器的概述 虚拟仪器是现代技术与计算机技术结合的产物。随着计算机技术特别是计算机的快速发展,CPU处理能力的增强,总线吞吐能力的提高以及显示器技术的进步,人们逐渐认识到,可以把仪器的信号分析和处理、结果的表达与输出功能转移给计算机来完成。这样,可以利用计算机的高速计算能力和宽大的显示屏更好地完成原来的功能。如果在计算机内插上一块数据采集卡,就可以把传统仪器的所有功能模块都集中在一台计算机中了,而软件就成了虚拟仪器的关键,任何一个使用者都可以通过修改虚拟仪器的软件来改变它的功能,这就是美国NI公司“软件就是仪器”一说的来历[1]。 所谓虚拟仪器,就是在通用的计算机平台上定义和设计仪器的功能,用户操作计算机的同时就是在使用一台专门的电子仪器。虚拟仪器以计算机为核心,充分利用计算机强大的图形界面和数据处理能力,提供对测量数据的分析和显示功能。虚拟仪器的最大特点是其灵活性,用户在使用过程中,可以根据需要添加或删除仪器功能,以满足各种需求和各种环境,并且突破了传统仪器在数据处理、表达、传送以及存储方面的限制。虚拟仪器的组成与传统仪器一样,由数据采集与控制、数据分析与处理、结果显示三部分组成。对于传统仪器,三部分几乎均由硬件完成,对于虚拟仪器,后两部分主要由软件来实现。与传统仪器相比,虚拟仪器设计日趋模块化、标准化,设计的工作量和复杂性都大大减小。1. 2软件开发工具的简介应用软件开发环境是设计虚拟仪器所必需的软件工具。应用软件开发环境的选择,可以开发人员的喜好不同而不同,但最终都必须提供给用户一个界面友好、功能强大的应用程序。软件在虚拟仪器中处于重要的地位,它肩负着对数据进行分析处理的任务,如数字滤波,频谱变换等。通常在编制虚拟仪器软件时,有两种方法:一种是传统的编程方法,采用高级语言,如VC、C++,C++ Buider;另一种是采用流行的图形化编程方法,如采用NI公司的labview。这次的毕业设计我主要是采用labview编程方法,因为它是图形化的编程语言,界面形象直观,有很多按钮、控件可以直接用来表示实际的仪器。虚拟仪器系统的软件主要包括仪器驱动程序、应用程序和软面板程序。仪器驱动程序主要用来初始化虚拟仪器,设定特定的参数和工作方式,使虚拟仪器保持正常的工作状态。应用程序主要对采集来的数据信号进行分(1)析处理,用户可以根据编制应用程序来定义虚拟仪器的功能。软面板程序用来提供与虚拟仪器的接口,它可以在计算机屏幕上生成一个和传统仪器相似的图形界面,用于显示测量和处理的结果;另一方面,用户也可以通过控制软面板上的开关和按钮,模拟传统仪器的操作,通过键盘和鼠标,实现对虚拟仪器系统的控制。1. 3本文的主要工作数字示波器是实验、教学、科研中常用的电子仪器,可以采集信号并进行分析,但传统仪器都具有设备更新慢、功能单一、价格贵等缺点。本文主要是实现虚拟示波器的功能:从外界采样模拟信号,转化为相应的数字信号,在计算机上实现波形的显示,并能够进行简单的波形处理,比如说,可以延时采样,可以显示波形的最大值、最小值、平均值,并能够根据需要放大波形的倍数,在采样的任何时期可以结束采样。另外,还利用快速傅立叶变换实现了简单的频谱分析功能的实现。具体如下:(1)具有声卡采集参数设定功能;具有录音和重放功能;可以实现声音数据的采集;能够完成功率谱信号的显示与分析;(2)声音采集数据能够储存并根据需要调用;(3)具有声音信号滤波及处理功能。(4) 基于LABVIEW的声卡虚拟示波器应具有美观实用的用户界面。音频格式设置数据采集(声卡)数据处理波形显示频谱分析数 据 储 存虚拟示波器结构框图第二章虚拟示波器的具体实现2. 1图形化的编程语言labviewlabview主要用于仪器控制、数据采集、数据分析等领域,它是一种基于图形编程语言(G语言)的开发环境,主要是以框图形式编写程序。它与C等传统编程语言有着诸多相似之处,如:相似的数据类型、数据流控制结构、程序调制工具,以及层次化、模块化的编程特点。但二者最大的区别在于:传统编程语言用文本语言编程;而labview使用图形语言(即:各种图标、图形符号、连线等),以框图的形式编写程序。用labview编程无须太多的编程经验,因为labview使用的都是测试工程师熟悉的术语和图标,如各种旋钮,开关,波形图等,界面直观形象。labview是一个功能强大的集成开发环境,它完整的集成了与GPIB、VXI、RS-232和内插式数据采集卡等硬件的通讯。Labview还具有内置程序库,提供了大量的连接机制,通过DLLs、共享库、OLE等途径实现与外部程序代码的连接。使用labview开发环境,用户可以创建32位的编译程序,从而为常规的数据采集、测试等任务提供了更快的执行速度。labview是真正的编译器,用户可以创建独立的可执行程序,能够脱离开发环境而单独运行[2]。 一个labview程序包含三个主要部分:前面板、框图程序、图标/连接端口。前面板是labview程序的交互式图形化用户界面,用于设置用户输入和显示程序输出,目的是仿真真实仪器的前面板。框图程序则是利用图形语言对前面板上的控制量和指示量进行控制。图标/连接端口用于把labview程序定义成一个子程序,以便在其他程序中加以调用,这使labview得以实现层次化,模块化编程。2. 2虚拟示波器的界面实现 图2-1是虚拟示波器的主界面:上半部分是波形显示部分,用于显示采集的波形,下半部分是对波形的频谱分析。图2-1 示波器主界面的实现采集来的信号首先要在图2-1的波形实时显示部分进行显示,即图2-2。图2-2 波形实时显示界面如图2-2的软面板是实时波形显示窗口,可以显示实时采样波形。右上边可以直接得到采样数据的最大值、最小值、平均值。右下边包含了放大倍数、采样延迟时间两个旋钮。通过这两个旋钮,可以调整实时波形在屏幕上的显示效果。另外,面板上还有采样结束按钮,用于结束采样。波形实时显示面板下面是一个工具面板:用X和Y按钮可以改变X、Y轴的比例。如果想让绘制的图形自动适应变化的坐标比例,可以单击每个按钮左边的锁定(4)开关,使其自动锁定。第二列的两个是设置X、Y轴刻度值数字表示方式的快捷方式,单击后可以对精度等特性进行设置。第三列的第一个是波形缩放工具,当用赋值工具单击它时,可弹出波形缩放方式的选择项,如图2-3所示:各功能如下:第一个按钮是矩形缩放。选择该项后,在显示区上,按住鼠标左键可以拉出一个方框,方框内的波形将被放大。横着第二个是水平缩放按钮:波形只在水平方向上被放大,垂直方向上保持不变。第三个是垂直缩放按钮:波形只在垂直方向上被放大,水平方向上保持不变。第二行第一个是取消缩放:取消最近的一次缩放操作。接下来的两个是连续缩放按钮。选中该项后,在显示区内按住鼠标左键,波形将以鼠标指针停留位置为中心进行连续缩放。图2-3 工具面板的演示(5)2-4 实时波形的框图程序2-4的框图中,左面是一个while循环框,图框中随机采样信号与面板上的放大倍数旋钮对应的图标相乘(板卡的驱动先不考虑),然后输入到实时波形屏幕中,接着信号流向图框外,并变成数组型数据。框图下方,设置采样延迟时间,由面板上的旋钮控制。另外还有采样结束的控制按钮。 右边循环框外是对数组信号进行处理。通过labview 6i本身提供的子程序,可以得到数据的最大值、最小值和平均值。 该虚拟示波器是单通道虚拟示波器,要想设计多通道的示波器,只需在这个基础上,在面板上加上几个屏幕显示控件,框图程序类似上图即可。当需要把信号进行其他的处理时,我们可以选择labview自带的信号处理部件,也可以把编好的C程序或是matlab程序加入到系统中,扩充系统的功能。2. 3快速傅立叶变换(FFT)和labview分析库中的FFT VI 从DAQ板上获得的采样信号是时域信号,这种信号给出了采样时刻信号的幅度,但是很多情况下,更想了解的是频率成分,而不是幅度值。频域表示法就表示了单个频率成分,这种表示法可以给出更多关于信号和系统的信息。 从时域的采样数据变为频域的算法,称为离散傅立叶变化(DFT)。DFT将采样信号的时域跟频域联系起来。DFT广泛应用于谱分析、应用力学、光学、医学图像、数据分析、仪器及远程通信等方面[2]。(6)假设从DAQ板上获得N个采样信号,对这N个样本进行DAT变换,结果仍将为N个样本,但它却是频域表示法。时域的N个样本与频域的N个样本之间的关系如下:假设信号采样率为fs,采样间隔为t,有t=1/fs,采样信号表示为Xi,0<i<N-1(即有N个样本),对这N个样本进行傅立叶变换,公式如下:Xk=X1*e(-j2*3.1415926*0/N)+X2*e(-j2*3.1415926*1/N)+……+Xi*e[-j2*3.1415926*(N-1)/N]注意时域跟频域中均有N个样本。同时域中的时间间隔对应的频率间隔f为:f=fs/N=1/Nt,f也称为频率分辨率,增多采样次数N或减小采样频率fs均能减小f(提高频率分辨率)。对N个采样数据进行DFT是个非常耗时的过程,大约需要n的平方次复数运算;但如果N是2的幂,假设N=2m,对N进行DFT就只需要m*N/2次操作,大大提高了速度,这种算法叫做快速傅立叶变换(FFT),它其实就是当采样N是2的幂时,进行DFT的一种快速算法。FFT的优点在于速度快,且节省内存,这是因为当VI操作FFT时,无需额外的存储缓冲区,但它要求输入序列N必须是2的幂。而DFT速度比FFT慢得多,这是由于它需要额外的缓冲区来存储中间的结果,但是DFT对任一个序列都适用。FFT中为了使采样次数N等于2的幂,可以在输入序列末尾加0。例如:若N=10,可以在输入序列末尾加6个0,使得采样次数的总数为16(2的4次方)。分析库中有两种VI用来计算信号的FFT,即Real FFT VI和Complex FFT VI。两者的区别在于,Real FFT对实信号进行FFT,Complex FFT对复信号进行FFT,值得注意的是,两者的输出均为复数。由于大多数信号都是实数值,因此可以用 Real FFT VI,当然也可以用Complex FFT VI,只是将虚数部分置为0。由于远程通信中的信号一般都为复数信号(实部、虚部均不为0),此时应该使用Comlex FFT VI,对复电位进行调制将产生复信号。2. 4虚拟频谱分析功能软面板和方框图的实现图2-5中,按界面上的运行按钮,在显示界面上分别会显示时域波形和经过FFT以后的频域波形。(7)2-5虚拟频谱分析功能软面板的实现2-6 虚拟频谱分析功能框图的实现(8)图2-6中: Arbitrary Wave—— 用于产生一个随机的波形,RealFFT —— 对输入的采样数据进行FFT,Complex To Polar —— 将FFT的复数输出分为实、虚两部分(幅值和相位),相位部分以弧度为单位,但屏幕上只显示FFT的幅值。(9)第三章声卡在虚拟示波器设计与实现1.认识声卡随着计算机技术和虚拟仪器技术的发展,虚拟仪器逐渐成为现代仪器的发展方向,其中大部分虚拟仪器都是基于各种数据采集卡的,如NI公司的PCI-6221数据采集卡,研华公司PCL-1800型数据采集卡,ISA型数据采集卡AC1820。在对采样频率要求不高的情况下,可以利用计算机的声卡进行数据的输入和输出。声卡是一个非常优秀的音频信号采集系统,其数字信号处理包括模数变换器ADC(Analogue Digital Converter)和 数模变换器DAC(Digital Analogue Converter),ADC用于采集音频信号,DAC则用于重现这些数字声音。声卡已成为多媒体计算机的一个标准配置,因此基于声卡的虚拟仪器具有成本低,兼容性好,通用性和灵活性强的优点,可以不接受硬件限制,安装在多台计算机上。本文利用LabVIEW8.2中的数字声音记录节点,编程实现了基于声卡的虚拟双踪数字存储示波器,采样速率为44.1KHz,线路输入端口最高电压限制为1V,对高于1V的信号采用比例运算放大电路衰减后输入,能适合

316 评论

龙真妈妈

[1] Lab Windows/CVI Instrument Driver Developer Guide[Z]. Agilent 2003 Edition 370699A-01.[2] NI. Lab Windows/CVI Programmer’s reference manual[P].Austin(USA),1998.[3] The VISA library[M]. VXI Plug&Play System Alliance,Austin(USA) ,1998.[4] 5500A Multi-Product Calibrator Programmer Reference Guide[M], Fluke Corporation,1999.[5] 张毅刚.自动测试系统[M].哈尔滨:哈尔滨工业大学出版社,2001.[6] 李石君.现代数据库系统及应用教程.武汉:武汉大学出版社,2005,1.

99 评论

suibianlaidian

我也在做这个,可以资源共享下

250 评论

相关问答

  • 波谱分析论文英文参考文献

    书名 用斜体,文章名可以不用

    yuxinchen008 4人参与回答 2023-12-12
  • 基于声卡的虚拟示波器毕业论文

    嗯,我有一台数字示波器,利利普7102V,我看说明书也是有电压限制的,表笔10倍衰减的时候最大400V输入。 计算机的声卡LINE IN口是信号输入设备,

    坚吃不懈1208 6人参与回答 2023-12-11
  • 巴特沃斯滤波器论文参考文献

    需要学习如何设计滤波器并仿真 我可以教你如何设计 但是你需要一整篇的毕业设计 还是你自己动手吧!

    轻舞飞扬庆庆 4人参与回答 2023-12-07
  • 英文论文中英文参考文献示例

    根据学术堂的了解,参考文献是英语论文的重要组成部分,也是编辑加工和重要内容。接下来就为大家介绍英语论文参考文献格式要求,欢迎阅读。I.文内引用(一)直接引用1.

    黑犬黑犬97 3人参与回答 2023-12-10
  • 数字滤波器设计论文英文文献

    试试OA图书馆吧。输入相应关键词英文即可。

    疯中之子 4人参与回答 2023-12-08