メインコンテンツ

comm.DiscreteTimeVCO

可変周波数正弦波を生成する

説明

comm.DiscreteTimeVCO System object™ オブジェクトは、入力を電圧として扱って、静止周波数プロパティからの周波数シフトが入力信号に比例する信号を生成します。

可変周波数正弦波は次により生成します。

  1. comm.DiscreteTimeVCO オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とはを参照してください。

作成

説明

discreteVCO = comm.DiscreteTimeVCO は、離散時間電圧制御発振器 (VCO) System object discreteVCO を作成します。このオブジェクトは、指定された静止周波数から入力信号に比例する値に周波数をシフトして、正弦波信号を生成します。

discreteVCO = comm.DiscreteTimeVCO(Name=Value) は、オプションの名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、comm.DiscreteTimeVCO(OutputAmplitude=2.5) は出力信号の振幅を 2.5 に設定します。

プロパティ

すべて展開する

特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release を使用します。

プロパティが "調整可能" の場合、その値をいつでも変更できます。

プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

出力信号の振幅。スカラーとして指定します。

調整可能: Yes

データ型: single | double

出力信号の静止周波数 (ヘルツ単位)。スカラーとして指定します。この静止周波数は、入力値がゼロのときの出力信号の周波数を指します。

調整可能: Yes

データ型: single | double

入力に対する出力信号の周波数シフトの感度。スカラーとして指定します。この値によって入力電圧がスケーリングされ、指定された静止周波数から対応する周波数シフトが導出されます。単位はヘルツ/ボルトです。

調整可能: Yes

データ型: single | double

出力信号の初期位相 (ラジアン単位)。スカラーとして指定します。

データ型: single | double

入力のサンプル レート (ヘルツ単位)。正のスカラーとして指定します。

データ型: single | double

使用法

説明

Y = discreteVCO(X) は、指定された QuiescentFrequency プロパティから入力信号 X に比例する値に周波数をシフトして、正弦波信号 Y を生成します。

入力引数

すべて展開する

入力信号。スカラーまたは列ベクトルとして指定します。

データ型: single | double

出力引数

すべて展開する

出力信号。スカラーまたは列ベクトルとして返されます。Y のデータ型とサイズは X と同じです。

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて折りたたむ

信号ソース System object™ を作成します。

reader = dsp.SignalSource;

ランダム データを生成し、矩形パルス整形を適用します。

reader.Signal = randi([0 7],10,1);
reader.Signal = rectpulse(reader.Signal,100);

信号ロガーおよび離散時間 VCO System object を作成します。

logger = dsp.SignalSink;
discreteVCO = comm.DiscreteTimeVCO( ...
    OutputAmplitude=8, ...
    QuiescentFrequency=1);

周波数偏移変調 (FSK) 信号を生成します。

while(~isDone(reader))
    sig = reader();
    y = discreteVCO(sig);
    logger(y);
end
oscsig = logger.Buffer;

生成した FSK 信号をプロットします。

t = (0:length(oscsig)-1)'/discreteVCO.SampleRate;
plot(t,reader.Signal,'--r', LineWidth=3)
hold on
plot(t,oscsig,"-b");
hold off
xlabel("Time (s)")
ylabel("Amplitude (V)")
legend("Input signal","FSK signal","location","se")

Figure contains an axes object. The axes object with xlabel Time (s), ylabel Amplitude (V) contains 2 objects of type line. These objects represent Input signal, FSK signal.

アルゴリズム

comm.DiscreteTimeVCO System object は、電圧として解釈される入力信号に比例する静止周波数からの周波数シフトをもつ信号を生成します。入力信号 (u(t)) が与えられた場合、出力信号の式は次のようになります。

y(t)=Accos(2πfct+2πkc0tu(τ)dτ+φ)

ここで、

  • Ac は出力振幅。

  • fc は静止周波数。

  • kc は入力感度。

  • φ は初期位相。

拡張機能

すべて展開する

バージョン履歴

R2012a で導入

参考

オブジェクト