Main Content

comm.PhaseFrequencyOffset

位相と周波数オフセットを入力信号に適用

説明

PhaseFrequencyOffset オブジェクトは、入力信号に位相と周波数のオフセットを適用します。

位相と周波数オフセットは次により入力信号に適用します。

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

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

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

作成

説明

pfo = comm.PhaseFrequencyOffset は、位相/周波数オフセット System object™ を作成します。このオブジェクトは、入力信号に位相と周波数のオフセットを適用します。

pfo = comm.PhaseFrequencyOffset(Name=Value) は、指定されたそれぞれのプロパティを指定された値に設定して、位相/周波数オフセット オブジェクトを作成します。たとえば、SampleRate=20 はサンプル レートを 20 Hz に設定します。(Name1=Value1,...,NameN=ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

プロパティ

すべて展開する

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

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

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

位相オフセット (度単位)。数値スカラー、M 行 1 列または 1 行 N 列の数値ベクトル、あるいは M 行 N 列の数値行列として指定します。詳細については、相互に依存するプロパティ入力の次元を参照してください。

調整可能: Yes

データ型: double

周波数オフセットのソース。次のいずれかの値として指定します。

  • "Property"FrequencyOffset プロパティを使用して周波数オフセットを指定します。

  • "Input port" — 入力引数 fOffset で周波数オフセットを指定します。

周波数オフセット (Hz 単位)。数値スカラー、数値の行ベクトルまたは列ベクトル、あるいは数値行列として指定します。

詳細については、相互に依存するプロパティ入力の次元を参照してください。

調整可能: Yes

依存関係

このプロパティを有効にするには、FrequencyOffsetSource プロパティを "Property" に設定します。

データ型: double

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

データ型: double

使用法

説明

y = pfo(x) は、位相と周波数のオフセットを入力信号 x に適用します。この構文を使用するには、FrequencyOffsetSource"Property" に設定します。

y = pfo(x,fOffset) は、x に適用する周波数オフセットを指定します。この構文を使用するには、FrequencyOffsetSource"Input port" に設定します。

入力引数

すべて展開する

入力信号。数値スカラー、数値の行ベクトルまたは列ベクトル、あるいは数値行列として指定します。詳細については、相互に依存するプロパティ入力の次元を参照してください。

データ型: single | double

周波数オフセット (Hz 単位)。数値スカラー、数値の行ベクトルまたは列ベクトル、あるいは数値行列として指定します。詳細については、FrequencyOffset プロパティの説明と相互に依存するプロパティ入力の次元を参照してください。

依存関係

この入力を有効にするには、FrequencyOffsetSource プロパティを "Input port" に設定します。

データ型: single | double

出力引数

すべて展開する

出力信号。x と同じ次元およびデータ型で返されます。

データ型: single | double

オブジェクト関数

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

release(obj)

すべて展開する

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

すべて折りたたむ

16-QAM 信号に位相オフセットを導入し、コンスタレーションへの影響を確認します。

位相周波数オフセット System object™ を作成し、位相オフセットを 30 度に設定します。

pfo = comm.PhaseFrequencyOffset(PhaseOffset=30);

ランダムなシンボルを生成して 16-QAM 変調を適用します。

M = 16;
data = (0:M-1)';
x = qammod(data,M);

16-QAM コンスタレーションをプロットします。

scatterplot(x);
title("Original Constellation")
xlim([-5 5])
ylim([-5 5])

Figure Scatter Plot contains an axes object. The axes object with title Original Constellation, xlabel In-Phase, ylabel Quadrature contains a line object which displays its values using only markers. This object represents Channel 1.

位相オフセットを導入し、オフセットのコンスタレーションをプロットします。

y = pfo(x);
scatterplot(y);
title("Constellation After Phase Offset")
xlim([-5 5])
ylim([-5 5])

Figure Scatter Plot contains an axes object. The axes object with title Constellation After Phase Offset, xlabel In-Phase, ylabel Quadrature contains a line object which displays its values using only markers. This object represents Channel 1.

詳細

すべて展開する

アルゴリズム

入力信号が u(t) の場合、出力信号は次のとおりです。

y(t)=u(t)(cos(2π0tf(τ)dτ+φ(t))+jsin(2π0tf(τ)dτ+φ(t))),

ここで、f(t) は周波数オフセットで、φ(t) は位相オフセットです。

離散時間出力は、次で与えられます。

y(0)=u(0)(cos(φ(0))+jsin(φ(0))) and y(i)=u(i)(cos(2πn=0i1f(n)Δt+φ(i))+jsin(2πn=0i1f(n)Δt+φ(i))),

ここでは i > 0 であり、Δt はサンプル時間です。

拡張機能

バージョン履歴

R2012a で導入