压控振荡器<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一.原理与分析
压控振荡器VCO(Voltage-Controlled Oscillator)是一种输出信号的频率随着输入信号幅度的变化而发生变化的设备。其的工作原理可以通过式1来描述。
(1)
其中,u(t)表示输入信号,y(t)表示输出信号。由于输入信号的频率取决与输入信号的电压的变化,因此称为“压控振荡器”。其他影响压控振荡器输出信号的参数还有信号的幅度Ac,振荡频率fc,输入信号灵敏度kc,以及初始相位。
二.MATLAB仿真
例子
定义一个锯齿波信号,频率是20HZ,幅度范围在0V和1V之间。现在用此信号作为压控振荡器的输入控制信号,该压控振荡器的振荡频率fc=20HZ, 输入信号灵敏度,初始相位。使用MATLAB求得输出的压控振荡信号。
MATLB脚本语言:
%MATLAB实现压控振荡器 clear all; clc; t0 = 0.15; %定义压控信号持续时间 ts = 0.0001; %定义信号采样率 fc = 50; %定义振荡频率 t = [0:ts:t0]; %时间矢量 u0 = 20*t(1:length(t)/3); %定义压控信号(单周期) u = [u0,u0,u0,0]; %定义压控信号(3个周期) Ac = 1; %定义振幅 kc = 0.1; %定义输入信号灵敏度 fi = 0; %定义初始相位 %对压控信号进行积分 u_int(1) = 0; %定义压控信号积分初值 for i = 1:length(u)-1 %进行离散积分 u_int(i+1) = u(i)+u_int(i); end %压控振荡信号 y = Ac*cos(2*pi*fc*t+2*pi*kc*u_int+fi);
%作图 subplot(2,1,1) %显示压控信号 plot(t,u) axis([0 t0 -1.5 1.5]) title('控制信号') subplot(2,1,2) %显示振荡信号 plot(t,y) axis([0 t0 -1.5 1.5]) title('压控振荡信号') |
MATLAB得到的最后结果:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
图 1 压控振荡器输出
上文的PDF文档和MATLAB文件在如下的压缩包中。
文章评论(0条评论)
登录后参与讨论