ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:487.08KB ,
资源ID:1334566      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1334566.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(论文信号波形合成.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

论文信号波形合成.docx

1、论文信号波形合成中国地质大学2013年电子设计大赛竞赛论文参赛题目:信号波形合成成 员:信号波形合成实验电路摘要:本作品主要用于非正弦信号的分解与合成实验验证,包括电源电路模块,方波信号产生模块,放大、移相、波形合成模块、测量显示模块等。通过1MHz晶振电路产生1MHz方波信号,经计数、分频得到10kHz方波信号,利用LC并联谐振(滤波器)分离出10kHz、30kHz、50kHz正弦波信号,然后对三个正弦波信号进行放大、移相加到加法器中合成方波信号。把10kHz和30kHz正弦波信号送到减法器中合成三角波信号。三个正弦波信号的幅度通过单片机采样,由液晶屏显示出来。关键词:方波信号,滤波器,正弦

2、波信号,分解,合成1 作品简介1.1设计目标 设计制作一个电路,能够产生多个不同频率的正弦信号,利用傅里叶原理产生以10KHz为基波,以奇次谐波为辅助谐波的信号,并将这些信号再合成为近似方波和其他信号。电路示意图如图1所示:图1 信号波形合成电路示意图1.2要求及指标1.2.1基本要求(1)方波振荡器的信号经分频与滤波处理,同时产生频率为10kHz和30kHz的正弦波信号,这两种信号应具有确定的相位关系;(2)产生的信号波形无明显失真,幅度峰峰值分别为6V和2V;(3)制作一个由移相器和加法器构成的信号合成电路,将产生的10kHz和30kHz正弦波信号,作为基波和3次谐波,合成一个近似方波,波

3、形幅度为5V,合成波形的形状如图2所示。图2 利用基波和3次谐波合成的近似方波1.2.2发挥部分(1)再产生50kHz的正弦信号作为5次谐波,参与信号合成,使合成的波形更接近于方波;(2)根据三角波谐波的组成关系,设计一个新的信号合成电路,将产生的10kHz、30kHz等各个正弦信号,合成一个近似的三角波形;(3)设计制作一个能对各个正弦信号的幅度进行测量和数字显示的电路,测量误差不大于 5;(4)其他。2 方案设计 2.1 系统分析及整体方案方波信号由基波成分和若干个谐波成分构成,即,本作品根据这一理论原理制作而成。本系统要包括了以下几个模块:电源电路模块,方波信号产生模块,放大、移相、波形

4、合成模块、测量显示模块,如图3所示。本系统通过1MHz晶振电路产生1MHz方波信号,通过分频得到10kHz方波信号,经过三个不同频率的滤波器分离出10kHz、30kHz、50kHz正弦波信号,再对三个正弦波信号进行放大、移相加到加法器中合成方波信号。三个正弦波信号的幅度通过单片机采样,由液晶屏显示出来。图3 系统方框图2.2 设计方案论证2.2.1 方波信号发生器方案一:通过反相器、外加电阻和电容来产生频率可调、占空比可调的方波信号。其优点电路简单,且有些芯片可以产生稳定的方波。方案二:利用单片机时钟信号,通过软件编程实现输出10kHz方波信号。实现起来相对较容易,但若没有时间做本参赛题的发挥

5、部分,大材小用了。综合所述,由于频率稳定直接影响信号的方波信号的分解与合成,并从实际出法,所以选择方案二。2.2.2 滤波器 方案一:无源滤波。由无源元器(电阻、电容、电感)设计而成,电路简单,但是滤波效果不好,且产生较多的杂波。方案二:有源滤波。由运算放大器、电阻和电容构成,无需电感器。还可提供电压增益。由于方波信号发生器输出的信号幅度较高(5V),从实际制作、调试方便和产生较好的滤波效果等角度考虑,所以选择方案二。2.2.3 移相电路 方案一:有源移相电路。在移相的同时,还可以得到一定的增益,移向效果好,角度范围大。 方案二:RC电路移相。电路简单,但每级RC电路理论极限移相90度。由于三

6、个正弦波是在同一个方波信号下滤波产生的,它们之间相的位差相对较小,故选择方案一。2.2.4 整流滤波电路方案一:采用精密整流、滤波电路。整流、滤波效果好,可对低于二极管导通电压的信号进行整流、滤波。但电路复杂。方案二:采用转换芯片将交流直接转换为直流,电路简单、易于制作。由于任务要求对峰峰值为6V、2V、1.2V的正弦波信号进行整流、滤波,故选择方案二。3.系统实现3.1 硬件电路(主要单元电路设计)3.1.1电源电路本设计系统共需要四种不同的直流电压,分别为+9V、-9V、+5V和+3.3V电压。为了满足电路供电要求,我们把+9V、-9V、+5V电源使用同一个电路输出,如图4(a)所示;而3

7、.3V电压的输出使用了TI公司REG1117稳压芯片,专门为后续单片机提供电压,如图4(b)所示。 (a)9V、5V电源电路 (b)3.3V电源电路图4 电源电路3.1.2 方波信号产生电路 图5方波信号产生锁相环CD4046为数字PLL,内有两个PD、VCO、缓冲放大器、输入信号放大与整形电路、内部稳压器等。它具有电源电压范围宽、功耗低、输入阻抗高等优点,其工作频率达1MHz,内部VCO产生50%占空比的方波,输出电平可与TTL电平或CMOS电平兼容。同时,它还具有相位锁定状态指示功能。信号输入端:允许输入0.1V左右的小信号或方波,经A1放大和整形,提供满足PD要求的方波。PDI由异或门构

8、成,具有三角形鉴相特性。它要求两个输入信号均为50%占空比的方波。当无输入信号时,其输出电压为VDD/2,用以确定VCO的自由振荡频率PDI由异或门构成,具有三角形鉴相特性。CD4046锁相环采用的是RC型压控振荡器,必须外接电容C1和电阻R1作为充放大元件。当PL对跟踪的输入信号的频率宽度有要求时还需要外接电阻R2。由于VCO是一个电流控制振荡器,对定时电容C1的充电电流与从9脚输入的控制电压成正比,使VCO的振荡频率亦正比于该控制电压。当VCO控制电压为0时,其输出频率最低;当输入控制电压等于电源电压VDD时,输出频率则线性地增大到最高输出频率。VCO振荡频率的范围由R1、R2和C1决定。

9、由于它的充电和放电都由同一个电容C1完成,故它的输出波形是对称方波。一般规定CD4046的最高频率为1.2MHz(VDD=15V),若VDD15V,则fmax要降低一些。3.1.3分频电路分频电路实现将某方波通过分频产生10KHz、30KHz和50KHz的新的方波。根据题意要求,在某特定频率的方波上要产生几个其他频率方波,可按照这些频率的最小公倍数2为原则,题目要求的三个频率为10KHz、30KHz和50KHz,其公倍数为150KHz,再乘以2,则上述方波发生器为300KHz。验证一下:300KHz频率30分频得10KHz,10分频30KHz,6分频50KHz。采用十进制计数分配器CD4017

10、配合D触发器CD4013实现分频为上述3个频率的方波,CD4017默认10分频,下图中二极管正极连接位置决定分频系数。对于CD4013,所起的作用是将由CD4017分频后非50%占空比调节为50%。设计电路见图3所示,300KHz输入信号送CD4017的CLK(14pin),输出信号从CD4013的Q端送出。 图6分频器电路该图中由于D2接CD4017的Q3,因此实现将300KHz3分频,为300KHz/3=100KHz再经后级CD4013进行2分频,获得了100KHz/2=50KHz的频率。对于30KHz和10KHz的分析计算方法相同,不再细述。3.1.4滤波电路滤波电路的作用是从300kH

11、z的方波信号中得到10kHz、30kHz、50kHz正弦波信号。本系统中选用有源LC带通滤波电路,如 图7带通电路 电路设计时,低通与高通滤波电路串联就可以构成带通滤波电路,条件是低通滤波电路的截止频率大于高通滤波的截止频率,两者覆盖的通路就构成了带通响应。在选用元器件时,应当考虑由于元器件的误差对传递函数造成的影响;考虑到已知A1的增益=1.586,A2的增益=2.515;同时要尽量使运放同相输入端和反向输入端对地电阻相等,同相比例放大电路的电压增益就是有源低通或者高通的电压增益。 当f0=10kHz时,f=1/2RC;将高通和低通的电容都取为103 pF(为了满足运放电路的电阻不宜选择过大

12、或者过小,一般为几千欧至几十千欧比较合适)。取低通截止为10k,高通截止频率为8k,R1和R17可调。图7中,R7=(A1-1)R15,取R15=4.7k,R8=7.9k;同理,当f0=30kHz时,R1=R4=5.25k,R10=R17=5.73k可调,C=102 pF。取R15=12.95k,R8=15.9k;同理当f0=50kHz时,R1=R4=3.18k可调,R10=R17=24k可调,C=102nF。取R15=10k,R8=10k。为了取得更好的滤波效果,在每一级滤波后面加上RC滤波电路,频率按照上面的公式计算。 3.1.5放大电路放大电路的作用是把得到10kHz、30kHz、50k

13、Hz正弦波信号的幅度进行放大,得到峰峰值为6V、2V、1.2V的正弦波信号。本系统选用了TI公司OPA227、082CD这两种集成运放作为放大电路的核心2。10kHz,30kHz,50kHz均采用如图8所示的电路图。由于输入信号为20mV左右,前面加上跟随器的原因是因为跟随器的输入电阻趋于无穷大,该电路几乎不从信号源吸收电流,因此当负载变化时,输出电压几乎不变,从而消除负载变化对输出电压的影响。 图8调幅电路3.1.6 移相电路移相电路的作用是使三个正弦波信号在同一个相位叠加,我们以10kHz正弦波信号为基准,对30kHz、50kHz正弦波信号进行移相。移相电路采用有源移相电路,如图12所示。

14、移相角,最大移相角为90。具体电路参考附总电路图。30kHz正弦波信号的移相电路R取10 k,C取10pF;50kHz正弦波信号的移相电路R取10 k,C取1pF。图12 移相电路 3.1.7 加法电路加法电路作用是对10kHz、30kHz、50kHz三个正弦波信号进行合成方波信号,电路如图13所示,采用TI082CM。其中AV=1,前面加上跟随器的原因是因为跟随器的输入电阻趋于无穷大,该电路几乎不从信号源吸收电流,因此当负载变化时,输出电压几乎不变,从而消除负载变化对输出电压的影响。U0=(Ui1*R6/R1+Ui2*R6/R4+Ui3*R6/R5);当R1=R4=R5=R6的时候,就是这三

15、个信号相加,合成方波。 图13 加法电路(方波合成电路)3.1.8 减法电路减法电路作用是对10kHz、30kHz正弦波信号进行合成三角波信号,电路如图14所示,采用TI082CM。其中AV=1,其他和加法合成电路一样,只是将加了一个反向器,将30k的正弦波进行反向后才能够合成正弦波,因为三角波是由一次基波和多次谐波合成的,且每个相邻的正弦波是反向的。U0=(Ui1*R6/R1Ui2*R6/R4+Ui3*R6/R5);当R1=R4=R5=R6的时候,就是这三个信号相加,合成三角波。 图14 减法电路(三角波合成电路)3.1.9 整流滤波检测电路由于任务要求检测的信号幅度较高,故采用AD637集

16、成有效值转换器电路,并由单片机采样、处理、显示正弦波幅度的大小,如图16所示。图16整流滤波检测电路3.2软件设计 3.2.1软件流程图 软件流程图如图17所示。图17 软件流程图3.3.2 软件程序 软件程序见附录2。4 系统性能测试与分析4.1 测试仪器示波器、数字万用表4.2 性能测试4.2.1. 测试方法 用示波器分别测量10kHz、30kHz、50kHz正弦波信号的波形、峰峰值和合成后的方波信号的三角波信号的波形、峰峰值及三个正弦波信号的频谱分析。4.2.2测量内容 1用示波器分别测量10kHz方波信号的波形,如图18所示。2用示波器分别测量10kHz、30kHz、50kHz正弦波信

17、号的波形、峰峰值及相位关系,如图1922所示。图18 10kHz方波信号 图19 10kHz正弦波信号 图20 30kHz正弦波信号 图21 50kHz方波信号 图22 10kHz、30kHz正弦波信号的相位比较 3用用示波器分别测量合成后的方波信号、三角波信号的波形、峰峰值,如图23、24所示图23 合成后的方波信号 图24 合成后的三角波信号 4. 对示波器对30kHz正弦信号的幅度进行测量,与峰峰值数字显示电路的值进行比较,如表1所示。 表1 正弦波信号幅度的测量示波器测量值(V)峰峰值数字显示电路显示值(V)6.086.002.102.001.261.204.2.3 误差分析 1.由于

18、在万能板上进行焊接,对于频率相对比较高的信号影响较大,可能产生波形的抖动和频率的波动。 2.在元器件参数选择上也存在一定的误差,测量值与标称测量值不同或是没有我们需要的元器件,采用各式方法合成的器件。5 总结与展望从测量的波形、数据看,本系统基本实现了题目中的各个要求。同时,本次比赛也极大地提高了我们的实践操作能力和团队协作能力。由于时间关系,系统仍有待进一步完善,精度需要进一步提高、测量信息需要进一步扩展,三角波可增加高次谐波成分进行合成等。附录1:电路总图附录2:软件程序#include /锁存器*#include#include#include#define uchar unsigned

19、 char#define uint unsigned intsbit st=P30; /ADC0809端口定义sbit eoc=P32;sbit oe=P31;/sbit dabc=P14;sbit ale=P37;sbit key0=P20; sbit key1=P21; sbit key2=P22; sbit key3=P23; sbit LCD_RS=P33; /数据/命令选择端(H/L)sbit LCD_RW=P34; /读/写选择端(H/L)sbit LCD_EN=P35; /使能信号sbit LCD_PSB=P36; /并/串选择(H/L) uchar ad_0809; uint

20、ad_data,ad_data1,ad_data2,ad_data3;/uchar number=0;uchar code dis0=幅值测量:(V);uchar code dis1=1:频率10KHZ;uchar code dis2=2:频率30KHZ;uchar code dis3=3:频率50KHZ;uchar code dis4=幅值:;uchar code dis5=10KHZ;uchar code dis6=30KHZ;uchar code dis7=50KHZ;void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-)

21、; /*12864*/*写指令数据到LCD*/RS=L,RW=L,E=高脉冲,D0-D7=数据void write_cmd(uchar cmd) LCD_RS=0; LCD_RW=0; LCD_EN=0; P1=cmd; delay(5); LCD_EN=1; delay(5); LCD_EN=0;/*写显示数据到LCD*/RS=H,RW=L,E=高脉冲,D0-D7=数据void write_dat(uchar dat) LCD_RS=1; LCD_RW=0; LCD_EN=0; P1=dat; delay(5); LCD_EN=1; delay(5); LCD_EN=0;uchar read

22、_date() /读数据 uint readvalue; P1=0xff; LCD_RS=1; LCD_RW=1; LCD_EN=0; LCD_EN=1; readvalue=P1; delay(1); LCD_EN=0; return readvalue;void lcd_set_dot(unsigned char x, unsigned char y) uchar x_byte, x_bit; /在横坐标的哪一个字节,哪一个位 uchar y_byte, y_bit; /在纵坐标的哪一个字节,哪一个位 uchar tmph,tmpl; x_byte = x / 16; /算出它在哪一个字节

23、(地址).注意一个地址是16 位的 x_bit = x % 16; /(取模)算出它在哪一个位 y_byte = y /32; /y 是没在哪个字节这个说法.这里只是确定它在上半屏(32 行为一屏)还是下半屏.0:上半屏1:下半屏 y_bit = y % 32; /y_bit 确定它是在第几行 write_cmd(0x34); /打开扩展指令集.绘图显示关闭 write_cmd(0x80 + y_bit); /先写垂直地址 write_cmd(0x80 + x_byte + 8 * y_byte); /水平坐标 .下半屏的水平坐标起始地址为0x88.(+8*y_byte)就是用来确定在上半屏还

24、是下半屏 read_date(); /先空读一次 tmph=read_date(); /读高位 tmpl=read_date(); write_cmd(0x80+y_bit); /读操作会改变AC,所以重新设置一次 write_cmd(0x80+x_byte+8*y_byte); if(x_bit 8) /如果x_bit 位数小于8 write_dat(tmph|0x01 (7 - x_bit);/写高字节。因为坐标是从左向右的.而GDRAM 高位在左,低位在右 write_dat(tmpl); /原数据送回 else write_dat(tmph); /原数据送回 write_dat(tmp

25、l|0x01 (15 - x_bit); write_cmd(0x36); /打开绘图显示 write_cmd(0x30); /回到基本指令集,毕竟ST7920是以字符为主的void lcd_displayclr() /使用图形模式时,应对所有GDRAM 写0x00 才算清屏,清屏命令(write_cmd(0x01))是对使用自带字库显示时用的uchar i, j, k ;write_cmd(0x34); /打开扩展指令集,绘图显示关write_cmd(0x36); /打开扩展指令集,绘图显示开for( i = 0 ; i 2 ; i+ ) /分上下两屏写 for( j = 0 ; j 32

26、; j+ ) write_cmd( 0x80 + j ) ; /写Y 坐标 delay(1); if( i = 0 ) /写X 坐标 write_cmd( 0x80 ) ; delay(1); else /写下半屏 write_cmd( 0x88 ) ; delay(1); for( k = 0 ; k 16 ; k+ ) /写一整行数据 write_dat(0x00) ; delay(1); write_cmd( 0x30 ) ; /关闭扩展指令集void lcd_init() LCD_PSB=1; /并口方式 write_cmd(0x30); /基本指令操作(8位数据) delay(5);

27、 write_cmd(0x0c); /显示开,关光标 delay(5); write_cmd(0x01); /清除LCD的显示内容 delay(5);void fsin1() float x,y; uchar x1,y1; for(x=0;x(4*3.1415);x+=0.1) y=2*sin(x); x1=10*x; y1=31-(10*y+0.5); /对y值进行四舍五入 lcd_set_dot(x1,y1+10); void fsin2() float x,y; uchar x1,y1; for(x=0;x(4*3.1415);x+=0.1) y=1*sin(3*x); x1=10*x;

28、 y1=31-(10*y+0.5); /对y值进行四舍五入 lcd_set_dot(x1,y1+10); void fsin3() float x,y; uchar x1,y1; for(x=0;x(4*3.1415);x+=0.1) y=0.5*sin(5*x); x1=10*x; y1=31-(10*y+0.5); /对y值进行四舍五入 lcd_set_dot(x1,y1+10); /*AD0809*/void ad0809() ale=1; ale=0; oe=0; /以下三条指令为起动AD0809 st=0; delay(2); st=1; st=0; while(eoc=0); /等待转换结束 oe=1; /取出读得的数据 ad_0809=P0; oe=0;void display1() uint i; write_cmd(0x80); i=0; while(dis0i!=0) write_dat(dis0i); /显示字符 i+; write_cmd(0x90+1); i=0; while(dis1i!=0) write_dat(dis1i); /显示字符 i+; write_cmd(0x88+1); i=0; while(dis2i!=0) write_dat(dis2i); /显示字符 i+;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2