주요 콘텐츠

vco

전압 제어 발진기

설명

y = vco(x,fc,fs)는 샘플링 주파수 fs를 사용하여 실수형 입력 벡터 또는 행렬 x로 결정되는 주파수에서 진동하는 신호를 생성합니다. x가 행렬인 경우 vcox의 열에 따라 열이 진동하는 행렬을 생성합니다.

예제

y = vco(x,[Fmin Fmax],fs)는 주파수 변조 범위를 스케일링하여 x의 ±1 값이 각각 Fmin Hz와 Fmax Hz의 진동을 생성하도록 합니다.

예제

예제

모두 축소

전압 제어 발진기(VCO)와 4개의 가우스 원자로 구성된 2초 길이의 신호를 생성합니다. 순시 주파수는 처프 함수에서 변조됩니다. 샘플 레이트는 14kHz입니다.

fs = 14000;
t = (0:1/fs:2)';

gaussFun = @(A,x,mu,f) exp(-(x-mu).^2/(2*0.01^2)).*sin(2*pi*f.*x)*A';
s = gaussFun([1 1 1 1],t,[0.2 0.5 1 1.75],[10 60 25 5]*100)/10;
x = vco(chirp(t+.1,0,t(end),3).*exp(-2*(t-1).^2),0.2*fs,fs);

s = s/10+x;

생성된 신호의 스펙트로그램을 플로팅합니다. 90%의 중첩과 적당한 스펙트럼 누설을 지정합니다.

pspectrum(s,fs,"spectrogram",OverlapPercent=90,Leakage=0.5)

Figure contains an axes object. The axes object with title Fres = 164.0842 Hz, Tres = 15.6429 ms, xlabel Time (s), ylabel Frequency (kHz) contains an object of type image.

순시 주파수가 시간에 따른 삼각파 함수인, 10kHz로 샘플링된 2초간의 신호를 생성합니다.

fs = 10000;
t = 0:1/fs:2;
x = vco(sawtooth(2*pi*t,0.75),[0.1 0.4]*fs,fs);

생성된 신호의 스펙트로그램을 플로팅합니다. 누설을 0.80으로 지정하고 인접 세그먼트 간 중첩을 95%로 지정합니다.

pspectrum(x,fs,'spectrogram','Leakage',0.80,'OverlapPercent',95)

Figure contains an axes object. The axes object with title Fres = 106.1965 Hz, Tres = 15.7 ms, xlabel Time (s), ylabel Frequency (kHz) contains an object of type image.

입력 인수

모두 축소

입력 데이터로, 실수형 벡터 또는 실수형 행렬로 지정됩니다. x의 범위는 –1에서 1까지이며, 여기서 x = –1은 0 주파수 출력에 해당하고 x = 0fc에 해당하며 x = 12*fc에 해당합니다.

입력 신호를 변조하는 데 사용되는 반송 주파수 또는 기준 주파수로, 양의 실수형 스칼라로 지정됩니다.

주파수 변조 범위 제한으로, 실수형 벡터로 지정됩니다. 최상의 결과를 얻으려면 FminFmax는 0~fs/2 범위에 있어야 합니다.

참고

vco는 modulate 함수를 사용하여 FM 변조를 수행합니다.

샘플 레이트로, 양의 스칼라로 지정됩니다. 샘플 레이트는 단위 시간당 샘플 개수입니다. 시간 단위가 초이면 샘플 레이트의 단위는 Hz입니다.

출력 인수

모두 축소

진동 출력 신호로, 실수형 벡터 또는 실수형 행렬로 반환됩니다. y는 크기가 x와 같고 진폭은 1입니다.

확장 기능

모두 확장

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

|