Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

comm.MultibandCombiner

信号の周波数シフトと結合

R2021b 以降

説明

comm.MultibandCombiner System object™ は、指定された周波数帯域に基づいて入力信号の内挿とシフトを行ってから、それらを 1 つの信号に結合します。詳細については、アルゴリズムのセクションを参照してください。

信号の周波数シフトと結合を行うには、次のようにします。

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

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

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

作成

説明

multibandcombiner = comm.MultibandCombiner は、入力信号の周波数シフトと結合を行うマルチバンド コンバイナーの System object を作成します。

multibandcombiner = comm.MultibandCombiner(Name,Value) は、名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、'InputSampleRate',2e6 は入力信号のサンプル レートを 2 MHz に指定します。

プロパティ

すべて展開する

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

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

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

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

データ型: double

周波数オフセット (Hz 単位)。次のいずれかのオプションとして指定します。

  • スカラー — 入力信号の各チャネルの周波数は、このスカラー値だけシフトされます。

  • 1 行 Nchan 列のベクトル — 入力信号の各チャネルの周波数は、このベクトル内の対応する値だけシフトされます。Nchan は、入力信号 x に含まれるチャネルの数です。

データ型: double

出力サンプル レートのソース。以下のいずれかの値として指定します。

  • 'Auto' — このオブジェクトは、周波数をシフトして出力信号を生成したときに元の信号に含まれる周波数成分が歪まないように、入力信号を内挿して十分な大きさの信号サンプル レートを確保します。

  • 'Property'OutputSampleRate プロパティを使用して出力サンプル レートを指定します。

データ型: char | string

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

ヒント

歪みを防ぐため、自動的に計算された出力サンプル レート以上の値を指定してください。自動的に計算された出力サンプル レートを調べるには、まず、OutputSampleRateSource プロパティを 'Auto' に設定してこのオブジェクトを実行します。

依存関係

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

データ型: double

使用法

説明

y = multibandcombiner(x) は、入力信号の内挿、周波数シフト、および結合を行って、1 つの出力信号を生成します。

入力引数

すべて展開する

入力信号。Nsamp 行 Nchan 列の行列として指定します。Nsamp はチャネルあたりの入力サンプルの数、Nchan はチャネルの数です。

データ型: double | single
複素数のサポート: あり

出力引数

すべて展開する

出力信号。入力信号 x と同じデータ型の Nout 行 1 列のベクトルとして返されます。Nout は出力サンプルの数です。詳細については、アルゴリズムを参照してください。

オブジェクト関数

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

release(obj)

すべて展開する

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

すべて折りたたむ

互いに隣接する 2 つの 60 KHz の周波数帯域を結合します。

シミュレーション パラメーターを設定します。

M = 4;      % QPSK modulation
N = 2000;   % Frame length
Fs1 = 60e3; % Input sample rate

QPSK 信号と GMSK 信号を生成します。

data = randi([0,M-1],N,1);
modSig = pskmod(data,M,pi/4,"gray");
qpskTxFilter = comm.RaisedCosineTransmitFilter( ...
    OutputSamplesPerSymbol=2);
qpsksig = qpskTxFilter(modSig);

data = randi([0 1],N,1);
gmskMod = comm.GMSKModulator( ...
    BitInput=true, ...
    SamplesPerSymbol=2);
gmsksig = gmskMod(data);

マルチバンド コンバイナー、および 2 つのスペクトル アナライザーの System object を作成します。オブジェクト関数 info を使用して、結合された信号の出力サンプル レートを調べます。スペクトル アナライザー オブジェクトを構成する際に、この出力サンプル レートを使用します。

mbc = comm.MultibandCombiner( ...
    InputSampleRate=Fs1, ...
    FrequencyOffsets=[-30e3 30e3], ...
    OutputSampleRateSource="Auto");
mbcInfo = info(mbc);
Fs2 = mbcInfo.OutputSampleRate
Fs2 = 120000
sa = spectrumAnalyzer( ...
    SampleRate=Fs2, ...
    ShowLegend=true, ...
    ChannelNames=["qpsk","gmsk"]);
sacombined = spectrumAnalyzer( ...
    SampleRate=Fs2, ...
    ShowLegend=true, ...
    ChannelNames="combined");

マルチバンド コンバイナー オブジェクトを使用して、2 つの信号の内挿、周波数シフト、および結合を行います。

combinedsig = mbc([qpsksig,gmsksig]);

スペクトル アナライザー オブジェクトを使用して、60 kHz の個別の信号、および結合された 120 kHz の信号を表示します。

sa(qpsksig,gmsksig);
release(sa);

sacombined(combinedsig)

アルゴリズム

すべて展開する

拡張機能

バージョン履歴

R2021b で導入