Main Content

vco

説明

y = vco(x,fc,fs) は、実数値の入力ベクトルまたは入力行列 x とサンプリング周波数 fs によって決定された周波数で振動する信号を作成します。x が行列の場合、vco では x の列に基づいて列が振動する行列が作成されます。

y = vco(x,[Fmin Fmax],fs) では、-1 ~ 1 の間の x の値により、それぞれ Fmin Hz から Fmax Hz の振動が発生するように周波数変調範囲がスケーリングされます。

すべて折りたたむ

電圧制御発振器 (vco) と 4 つのガウス原子で構成される 2 秒間の信号を生成します。瞬時周波数はチャープ関数によって変調されます。サンプルレートは 14 kHz です。

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 contains an object of type image.

瞬間的な周波数が時間の三角形関数となる 10 kHz でサンプリングした 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 contains an object of type image.

入力引数

すべて折りたたむ

入力データ。実数値のベクトルまたは実数値の行列として指定します。x は、–11 の範囲です。ここで、x = –1 は 0 周波数出力に、x = 0fc に、x = 12*fc にそれぞれ対応します。

入力信号を変調するために使用される搬送周波数または基準周波数。実数の正のスカラーとして指定します。

周波数変調の範囲限界値。実数ベクトルとして指定します。最良の結果を得るには、FminFmax は、0 ~ fs/2 の範囲内にします。

メモ

vco では、関数 modulate を使用して、FM 変調が実行されます。

サンプルレート。正のスカラーで指定します。サンプルレートは単位時間あたりのサンプル数です。時間の単位が秒の場合、サンプルレートの単位は Hz です。

出力引数

すべて折りたたむ

発振出力信号。実数値のベクトルまたは実数値の行列として返されます。yx と同じサイズで、1 と同じ振幅です。

バージョン履歴

R2006a より前に導入

参考

|