标签:
通信基础理论
压控振荡器
一.原理与分析
压控振荡器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得到的最后结果:

图 1 压控振荡器输出
上文的PDF文档和MATLAB文件在如下的压缩包中。

系统分类:
通信网络 | 用户分类:
通信信号源仿真 | 来源:
原创 | 【推荐给朋友】 | 【添加到收藏夹】