日志档案

发表于 2008-2-13 19:10:58

0

标签: 通信基础理论  

压控振荡器的MATLAB仿真

压控振荡器

 

一.原理与分析

    压控振荡器VCOVoltage-Controlled Oscillator)是一种输出信号的频率随着输入信号幅度的变化而发生变化的设备。其的工作原理可以通过式1来描述。

                              1

    其中,u(t)表示输入信号,y(t)表示输出信号。由于输入信号的频率取决与输入信号的电压的变化,因此称为“压控振荡器”。其他影响压控振荡器输出信号的参数还有信号的幅度Ac,振荡频率fc,输入信号灵敏度kc,以及初始相位

 

二.MATLAB仿真

例子

定义一个锯齿波信号,频率是20HZ,幅度范围在0V1V之间。现在用此信号作为压控振荡器的输入控制信号,该压控振荡器的振荡频率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文件在如下的压缩包中。

rar

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

    阅读(413)    回复(0)  

投一票您将和博主都有获奖机会!