正弦波振荡器
- 格式:doc
- 大小:898.23 KB
- 文档页数:12
正弦波振荡器振荡器——就是自动地将直流能量转换为具有一定波形参数的交流振荡信号的装臵。
和放大器一样也是能量转换器。
它与放大器的区别在于,不需要外加信号的激励,其输出信号的频率,幅度和波形仅仅由电路本身的参数决定。
应用范围:在发射机、接收机、测量仪器(信号发生器)、计算机、医疗、仪器乃至电子手表等许多方面振荡器都有着广泛的应用。
主要技术指标:1.振荡频率f及频率范围2.频率稳定度:调频广播和电视发射机要求:10-5~10-7左右标准信号源:10-6~10-12要实现与火星通讯:10-11要为金星定位:10-123.振荡的幅度和稳定度一、反馈式振荡器的工作原理1.反馈振荡器的组成反馈振荡器由放大器和反馈网络两大部分组成。
反馈型振荡器的原理框图如图4-1所示。
由图可见, 反馈型振荡器是由放大器和反馈网络组成的一个闭合环路, 放大器通常是以某种选频网络(如振荡回路)作负载, 是一调谐放大器, 反馈网络一般是由无源器件组成的线性网络。
自激振荡:没有外加输入信号,但输出端有一定幅度的电压.oU输出,即实现了自激振荡。
自激振荡只可在某一频率上产生,不能在其它频率上产生。
当接通电源时,回路内的各种电扰动信号经选频网络选频后,将其中某一频率的信号反馈到输入端,再经放大→反馈→放大→反馈的循环,该信号的幅度不断增大,振荡由小到大建立起来。
随着信号振幅的增大,放大器将进入非线性状态,增益下降,当反馈电压正好等于输入电压时,振荡幅度不再增大进入平衡状态。
2. 反馈式正弦振荡器分类LC 振荡器 RC 振荡器 石英晶体振荡器 3. 平衡和起振条件 (1)平衡条件平衡状态——反馈电压.f U 等于.i U 时,振荡器能维持等幅振荡,且有稳定的电压输出,称此时电路达到平衡状态看电路可知:电压放大系数...io U A U =反馈系数:..f .oU F U =达到平衡状态时:..f i U U =则平衡条件为:......f f ....i i1o o o o U U U UAF U U U U ∙∙===而根据数学中复数分析:..A F A F ϕϕ∠+=AF 可得出振幅平衡条件为:AF =1相位平衡条件为:A F A F ϕϕϕϕ∠++==+ 2(0123.......)n n π=、、、 (2)起振条件——为了振荡器振荡起来必需满足的条件由振荡的建立过程可知,为了使振荡器能够起振,起振之初反馈电压U f 与输入电压Ui 在相位上应同相(即为正反馈);在幅值上应要求U f >U i , 即:振幅起振条件:AF >1相位起振条件:A F A F ϕϕϕϕ∠++==+ 2(0123.......)n n π=、、、4. 主要性能指标(1)振荡器的平衡稳定条件平衡状态有稳定平衡和不稳定平衡,振荡器工作时要处于稳定平衡状态。
正弦波振荡器原理
正弦波振荡器是一种产生正弦波信号的电路或设备,它的工作原理基于反馈回路和谐振现象。
首先,正弦波振荡器通常由放大器和反馈网络组成。
放大器负责提供信号的放大,而反馈网络则将一部分输出信号返回输入端,从而使电路产生振荡。
具体来说,当正弦波振荡器开始工作时,放大器会放大输入信号。
将一部分放大后的信号通过反馈网络返回到放大器的输入端,与输入信号相叠加。
这就形成了一个反馈回路。
在反馈回路中,存在向前传输的放大路径和反馈传输的路径。
放大路径将输入信号进行放大,而反馈路径则将一部分输出信号返回输入端。
在理想情况下,放大路径和反馈路径的增益相等,从而使得回路保持稳定。
当反馈回路的增益满足特定的条件时,回路会产生谐振现象。
也就是说,输入信号和反馈信号在回路中互相加强,形成一个持续不衰减的振荡。
为了保持回路稳定,正弦波振荡器会引入一些稳定元件,如电容和电感。
这些元件能够提供适当的频率选择和谐振调节,以确保输出信号的频率稳定和准确。
总之,正弦波振荡器通过反馈回路和谐振现象来产生稳定的正弦波信号。
合适的放大器、反馈网络和稳定元件的组合能够实
现不同频率范围内的正弦波振荡器。
这在电子通信、信号处理、声音合成等许多应用领域中都有着广泛的应用。
正弦波振荡器的组成
正弦波振荡器主要由四部分组成:放大电路、选频网络、反馈网络和稳幅电路。
其中,放大电路用于提供足够的增益,以补偿振荡过程中的能量损失;选频网络用于选择特定的振荡频率,使振荡器只在该频率下产生振荡;反馈网络则将输出信号的一部分反馈到输入端,与输入信号叠加,形成正反馈,从而维持振荡;稳幅电路则用于控制振荡幅度,使其保持稳定。
正弦波振荡器可以分为两大类:一类是利用反馈原理构成的反馈振荡器,它是应用最广的一类振荡器;另一类是负阻振荡器,它将负阻抗元件直接连接到谐振回路中,利用负阻器件的负阻抗效应去抵消回路中的损耗,从而产生出正弦波振荡。
此外,正弦波振荡器还可以根据使用的元件不同,分为LC振荡器、RC 振荡器和由这三种元件组成的复合振荡器。
其中,LC振荡器由电感(L)和电容(C)组成,可以产生高频振荡;RC振荡器由电阻(R)和电容(C)
组成,可以产生低频振荡;而复合振荡器则结合了LC和RC振荡器的特点,可以在一定范围内调节振荡频率。
总之,正弦波振荡器是一种能够产生稳定正弦波信号的电子电路,其组成包括放大电路、选频网络、反馈网络和稳幅电路等部分,可以根据不同的应用需求选择不同的元件类型和电路结构。
正弦波振荡器的原理
正弦波振荡器是一种电路,用于产生稳定的正弦波信号。
它由几个基本组件构成,包括放大器、反馈电路和频率控制元件。
首先,放大器是振荡器的核心部分。
它负责放大输入信号的幅度,并提供足够的反馈信号以维持振荡器的振荡。
接下来是反馈电路。
它将一部分输出信号反馈到放大器的输入端,形成正反馈回路。
这样,输出信号经过放大后再次进入放大器,形成持续的振荡。
最后是频率控制元件,通常是由电容或电感构成的电路。
它的作用是控制振荡器的频率。
通过调整电容或电感的值,可以改变振荡器输出信号的频率。
当振荡器开始工作时,初始信号经过放大器放大后进入反馈电路。
由于正反馈的存在,输出信号不断增大,直到达到稳定的振荡状态。
振荡器的稳定性取决于正反馈回路的增益和频率控制元件的精确性。
需要注意的是,正弦波振荡器的工作受到许多因素的影响,例如温度、噪声和元件的非线性等。
因此,设计和优化正弦波振荡器需要考虑这些因素,并采取适当的措施来提高其性能和稳定性。
内蒙古工业大学信息工程学院实验报告课程名称: DSP技术及应用实验名称:正弦波振荡器实验类型:验证性□ 综合性□ 设计性■实验室名称:信息学院机房班级:电子09-2班学号:200920203057姓名:郭兴荣组别:同组人:成绩:实验日期: 2012年6月27日实验报告撰写要求一、实验前用预习报告纸撰写预习报告,预习报告包括以下内容1、实验目的2、实验用仪器设备、器材或软件环境3、实验原理、方案设计、程序框图、预编程序等4、实验过程中需要记录的实验数据表格二、实验过程中,要认真观察,仔细记录三、完成实验后用实验报告纸撰写实验报告,包括以下内容1、仪器设备型号及编号2、实验器材或软件环境3、实验步骤、程序调试方法4、实验数据处理及结果分析5、实验中存在的问题6、体会及思考题四、报告撰写时,要求格式规范、书写整齐预习报告成绩:指导教师审核(签名):年月日预习报告1、实验目的(1)了解利用CCS进行DSP工程项目创建、编译和运行的过程;(2)会利用CCS中提供的图形化显示工具、断点、探点等调试工具进行工程项目的简单调试;(3)能够设计基于迭代法的数字正弦振荡器;(4)掌握定时器中断的设置和使用。
2、实验用仪器设备、器材或软件环境(1)微机一台;(2)CCS软件;(3)DES5402PP-U实验箱。
3.预习要求(1)参照教材学习DSP定时器的工作原理、中断频率范围、具体寄存器的设置。
根据期望的数据转换速率,得到合理的定时器寄存器设置参数。
(2)参照教材学习二阶IIR数字振荡器的设计原理。
根据选定的数据转换速率和规定的正弦波频率(4kHz),设计相应IIR数字滤波器(差分方程),并对滤波器系数进行合适的量化(确定Q值),转换成定点二进制补码。
(3)参照教材学习在CCS中设置断点、探针的方法,程序动态运行(animate)的要求;学习设置图形化显示工具进行时、频域分析的方法,特别是频域分析工具的使用(各种谱分析方法、FFT点数的设置、窗函数的选用等)。
规划程序调试策略和数据、波形的采集、分析方法。
(4)参照教材给出的指令说明,编写实验程序代码。
4.实验要求(1)对自己编写的实验程序进行汇编、运行,对出现的问题进行调试,并作必要的记录。
(2)记录数字序列在不少于2个周期内的数据及对应的时域波形(注意地址的一致性)。
(3)分析数字序列的频谱(需要注明FFT点数、窗函数和其他关键信息)。
(4)观察量化(不同Q值)对定点DSP算法的影响(频谱纯度、稳定性),记录关键数据和波形。
5.实验报告要求(1)说明设计过程(包括滤波器系数、量化结果、定时器设置等);(2)绘制程序流程图(要求与代码相对应);(3)实验要求记录的数据、波形以及其他关键信息;(4)程序调试中遇到的问题以及解决过程;(5)实验代码清单;实验报告成绩: 指导教师审核(签名): 年 月 日实验报告1、实验目的(1)了解利用CCS 进行DSP 工程项目创建、编译和运行的过程;(2)会利用CCS 中提供的图形化显示工具、断点、探点等调试工具进行工程项目的简单调试;(3)能够设计基于迭代法的数字正弦振荡器; (4)掌握定时器中断的设置和使用。
2、实验用仪器设备、器材或软件环境(1)微机一台;(2)CCS 软件;(3)DES5402PP-U 实验箱。
3、实验原理本实验采用递归的差分方程方法计算正弦和余弦值,其数字振荡器的实现原理与实验5(c )相同。
其实现公式为:y[n]=2cos α×y[n -1]-y[n-2]式中: 02sf f πα⋅=为角度的计算步长,f 0是正弦信号的频率,f s 是D/A 转换速率。
利用上面的递推公式计算正弦或余弦值y[n]需要已知cos α和正弦/余弦的前两个初始值y[0]和y[1]。
在产生周期性的正弦信号时,必须以一定的D/A 转换速率f s 将各个样点值送往D/A 转换器。
正弦信号每个周期的样点数N 由正弦信号的频率f 0及D/A 转换速率f s 决定,即s 0f N f =例如,当利用递归的差分方程产生正弦信号时,若设定D/A 转换速率f s =16000Hz ,则产生f 0=1000Hz 的正弦波信号时,存在s 016000161000f N f === ,此时 02220.392716sf f Nπππα⋅====首先在程序中计算出cos α及初始值y[0]和y[1]。
cos α=0.9238795 ; y[0]=sin0=0 ;y[1]=sin α=0.382683 ;n≧2以后的y[n]的值,都可以通过前面的递推公式递归计算得出。
在产生正弦信号的过程中,由于sinx 的值总是小于1的数,而F206 DSP 是16位定点处理器,所以要将其乘以215,变成Q15的数据格式,才能够在DSP 中送到D/A 转换器进行处理。
本实验采用低速D/A 转换器(AIC10)进行D/A 转换。
在AIC10中包含A/D 和D/A 两部分电路,在实验中只使用D/A 转换部分。
F206 DSP 通过片内外设SSP (同步串行口)与EVM 板上的AIC10相连。
当F206 DSP 的发送FIFO 缓冲区空时,产生SSP 发送中断。
此时调用XmitIsr 中断服务程序。
XmitIsr 中断服务程序的功能:对于软件仿真时,中断服务程序根据正弦振荡器的算法计算出1000h 点正弦波的波形值,并把这些波形值存储到板载存储器900h 开始的存储单元上;对于硬件仿真时,中断服务程序除了根据正弦振荡器的算法产生正弦波波形值以外,还要将该波形数据通过AIC10进行D/A转换。
4、实验内容与步骤在CCS下的仿真器驱动程序的具体过程:5.实验中遇到的问题及结果分析1.建立Project后,添加完main.asm、tint_ISR.asm、vector_table.asm 后,进行汇编时,出现警告,因为没有添加sine.cmd文件。
添加完sine.cmd文件后,再进行汇编后成功,没有警告。
2.进行查看波形时,出现错误。
由于没有将sine的波形载入,载入后错误消失。
6.程序代码主函数main.asm.title "2kHz sine wave geberator(fs=40000Hz,25 us TINT) ".mmregs.global _c_int00.global y0,y1,y2,AA,BB,CC.ref vectorOFF_INTIMER .set 04Ch ; vector of INTtimer at VECTOR+OFF_INTIMERINIT_A .set 079bch ; A/2=0.9510498046875INIT_B .set 0c000h ; B/2=-0.5INIT_C .set 0278dh ; C=0.308990478515625.bss y0,1.bss y1,1.bss y2,1.bss temp,1.bss AA,1.bss BB,1.bss CC,1.text_c_int00:ld #0,dpssbx intm ; disable all interrupt !st #1fffh,spld #vector, a ; get vector table address !and #0FF80h, aandm #007Fh, pmstor pmst, astlm a, pmst ; set IPTRstm #10h,TCR ; init TIMERstm #2499,PRD ; f=100M/(2499+1)=40kHz stm #20h,TCR ; reset TIMERldm IMR,a ; read back IMRor #08h,a ; enable TIMER interruptstlm a,IMR ; set IMRld #temp,dp ; set DPssbx FRCT ; prepare for fraction mpyst #INIT_A,AA ; init AAst #INIT_B,BB ; init BBst #INIT_C,CC ; init CCpshd CCpopd y2 ; init y2,y2=CCld AA,T ; T=AAmpy y2,a ; y2*AA -> asth a,y1 ; y2*AA -> y1stm #0h,TCR ; enable TIMERnoprsbx intm ; enable all interrupts ! idle:nopb idle.endtint_ISR.asm.mmregs.global _tint.ref y0,y1,y2,AA,BB,CC;------------------------------; ISR for TIMER0 interrupt !;-----------------------------_tint:ld #BB,DPld BB,T ; T=BBmpy y2,a ; a=y2*BBltd y1 ; T=y1,y2=y1mac AA,a ; a=a+y1*AAsth a,1,y1 ; new cos data -> y1sth a,1,y0 ; new cos data -> y0nop ; set breakpoint in CCS !!! rete.endvector_table.asms.ref _c_int00.ref _tint.global vector.sect ".int_table";---------------------------- ; interrupte vector table ;---------------------------- vector:rs b _c_int00nopnopnmi retenopnopnopsint17 retenopnopnopsint18 r etenopnopnopsint19 retenopnopnopsint20 retenopnopnopsint21 r etenopnopnopsint22 retenopnopnop sint23 r etenopnopnop sint24 r etenopnopnop sint25 r etenopnopnop sint26 r etenopnopnop sint27 r etenopnopnop sint28 r etenopnopnop sint29 r etenopnopnop sint30 r etenopnopnopint0 retenopnopnopint1 retenopnopnopint2 retenopnopnoptint0 b _tintnopnop brint0 retenopnopnop bxint0 retenopnopnop dmac0 retenopnopnoptint1 retenopnopnopint3 retenopnopnop hpint retenopnopnop dmac2 retenopnopnop dmac3 retenopnopnop dmac4 retenopnopnop dmac5 retenopnopnoprev1 retenopnopnoprev2 retenopnopnop.end;---------------------------------------; end of interrupte vector table;---------------------------------------sine.cmdMEMORY{PAGE 1:INT_D : ORIGIN=80h, LENGTH=1F80h PAGE 0:EXT_P : ORIGIN=2000h, LENGTH=2000h}SECTIONS{.text : > EXT_P PAGE 0.int_table : > (EXT_P ALIGN (128) PAGE (0)).data : > INT_D PAGE 1}.out文件.title "2kHz sine wave geberator(fs=40000Hz,25 us TINT) ".mmregs.global _c_int00.global y0,y1,y2,AA,BB,CC.ref vectorOFF_INTIMER .set 04Ch ; vector of INTtimer at VECTOR+OFF_INTIMERINIT_A .set 079bch ; A/2=0.9510498046875INIT_B .set 0c000h ; B/2=-0.5INIT_C .set 0278dh ; C=0.308990478515625 .bss y0,1.bss y1,1.bss y2,1.bss temp,1.bss AA,1.bss BB,1.bss CC,1.text_c_int00:ld #0,dpssbx intm ; disable all interrupt !st #1fffh,spld #vector, a ; get vector table address !and #0FF80h, aandm #007Fh, pmstor pmst, astlm a, pmst ; set IPTRstm #10h,TCR ; init TIMERstm #2499,PRD ; f=100M/(2499+1)=40kHzstm #20h,TCR ; reset TIMERldm IMR,a ; read back IMRor #08h,a ; enable TIMER interruptstlm a,IMR ; set IMRld #temp,dp ; set DPssbx FRCT ; prepare for fraction mpyst #INIT_A,AA ; init AAst #INIT_B,BB ; init BBst #INIT_C,CC ; init CCpshd CCpopd y2 ; init y2,y2=CCld AA,T ; T=AAmpy y2,a ; y2*AA -> asth a,y1 ; y2*AA -> y1stm #0h,TCR ; enable TIMERnoprsbx intm ; enable all interrupts !idle:nopb idle.end7.实验心得体会在这个DSP的实验中,在收获知识的同时,还收获了阅历。