Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

dvbsapskmod

DVB-S2/S2X/SH 規格固有の振幅位相偏移変調 (APSK) 変調

説明

Y = dvbsapskmod(X,M,stdSuffix) は、stdSuffix で識別されるデジタル ビデオ放送 (DVB) 規格と変調次数 M に従って、入力信号 X の APSK 変調を実行します。

Y = dvbsapskmod(X,M,stdSuffix,codeIDF) は、変調パラメーターを選択するときに使用する符号識別子 codeIDF を指定します。

Y = dvbsapskmod(X,M,stdSuffix,codeIDF,frameLength) は、変調パラメーターを選択するときに使用する codeIDFframeLength を指定します。

Y = dvbsapskmod(___,Name=Value) は、前述の構文のいずれかを使用して 1 つ以上の名前と値のペアの引数を使用し、オプションを指定します。たとえば、dvbsapskdemod(OutputDataType='double') では目的の出力データ型を double として指定します。名前と値のペアの引数は、他のすべての入力引数の後で指定します。

すべて折りたたむ

DVB-S2X 規格が指定する 32-APSK 変調スキームを使用してデータを変調します。結果を散布図で表示します。

変調次数、および DVB-S2X 規格を識別する接尾辞を設定します。考えられるすべてのシンボルでデータ ベクトルを作成します。

M = 32;
stdSuffix = 's2x';
x = (0:M-1);

データを変調します。

y = dvbsapskmod(x,M,stdSuffix);

散布図を使用してコンスタレーションを表示します。

scatterplot(y)

DVB-S2X 規格で指定されている 64-APSK を使用してデータを変調します。さまざまな符号識別子のコンスタレーションをプロットします。

変調次数および標準接尾辞を設定します。1 チャネルでランダム データのシンボルを 1000 個生成します。

M = 64;
std = 's2x';
x = randi([0 M-1],1000,1);

符号識別子 7/9 の 64-APSK コンスタレーションに従ってデータを変調し、基準コンスタレーションをプロットします。

y1 = dvbsapskmod(x,M,std,'7/9',PlotConstellation=true);

符号識別子を 132/180 に設定して変調し、コンスタレーション構造の違いを観察します。

y2 = dvbsapskmod(x,M,std,'132/180',PlotConstellation=true);

標準のフレーム長と短いフレーム長用として DVB-S2 規格で指定されている 16-APSK を使用してデータを変調します。出力の信号強度を計算します。

変調次数および標準接尾辞を設定します。1 チャネルで 1000 シンボル分のランダム ビット データを生成します。

M = 16;
std = 's2';
x = randi([0 1],1000*log2(M),1);

入力タイプをビットに設定し、符号識別子 2/3 の 16-APSK コンスタレーションに従ってデータを変調します。既定の標準のフレーム長を使用します。

y1 = dvbsapskmod(x,M,std,'2/3',InputType='bit');

異なる設定を使用してデータを変調し、符号識別子を 8/9 に設定して、短いフレーム長を使用します。

y2 = dvbsapskmod(x,M,std,'8/9','short',InputType='bit');

変調された信号の平均パワーは、符号識別子に基づいて変化します。変調された信号の平均パワーを計算します。

y1avgPow = mean(abs(y1).^2)
y1avgPow = 0.7590
y2avgPow = mean(abs(y2).^2)
y2avgPow = 0.7716

DVB-SH 規格および DVB-S2 規格で指定されている 16-APSK を適用してデータを変調します。平均信号強度が 1 W になるように変調器出力を正規化します。

変調次数を設定し、考えられるすべてのシンボルを生成します。

M = 16;
x = 0:M-1;

DVB-SH で指定されている 16-APSK を適用してデータを変調します。名前と値のペアを使用して single データ型出力を指定します。

y1 = dvbsapskmod(x,M,'sh', ...
    OutputDataType='single');

DVB-S2 で指定されている 16-APSK を適用してデータを変調します。名前と値のペアを使用して single データ型出力を指定します。

y2 = dvbsapskmod(x,M,'s2', ...
    OutputDataType='single');

DVB-S2 で指定されている 16-APSK を適用してデータを変調します。名前と値のペアを使用して、単位平均パワーを true に設定し、single データ型出力を指定します。

y3 = dvbsapskmod(x,M,'s2', ...
    UnitAveragePower=true, ...
    OutputDataType='single');

どの信号が単位平均パワーをもっているかを確認します。

y1avgPow = mean(abs(y1).^2)
y1avgPow = single
    1
y2avgPow = mean(abs(y2).^2)
y2avgPow = single
    0.7752
y3avgPow = mean(abs(y3).^2)
y3avgPow = single
    1.0000

入力引数

すべて折りたたむ

入力信号。スカラー、ベクトルまたは行列として指定します。X の要素は、バイナリ値または [0, M – 1] の範囲の整数でなければなりません。ここで、M は変調次数です。

メモ

入力信号をバイナリの要素として処理するには、'InputType' の値を 'bit' に設定します。バイナリ入力の場合、行数は log2(M) の整数倍でなければなりません。列の log2(M) ビットのグループがシンボルにマッピングされます。ここで、最初のビットは MSB を表し、最後のビットは LSB を表します。

データ型: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

変調次数。2 の正の整数乗として指定します。変調次数は信号コンスタレーション点の合計数を指定します。

データ型: double

DVBS 変調バリアントの標準接尾辞。's2''s2x'、または 'sh' として指定します。

符号識別子。文字ベクトルまたは string として指定します。以下の表は、許容可能な codeIDF の値の一覧です。

コンスタレーション次数 (M)適用可能な標準 (stdSuffix)許容可能な符号識別子 (CodeIDF) の値
16

's2' または 's2x'

'2/3', '3/4', '4/5', '5/6', '8/9', '9/10'

16

's2x'

'26/45', '3/5', '28/45', '23/36', '25/36', '13/18', '7/9', '77/90', '100/180', '96/180', '90/180', '18/30', '20/30'

32

's2' または 's2x'

'3/4', '4/5', '5/6', '8/9', '9/10'

32

's2x'

'32/45', '11/15', '7/9', '2/3'

64

's2x'

'11/15', '7/9', '4/5', '5/6', '128/180'

128

's2x'

'3/4', '7/9'

256

's2x'

'32/45', '3/4', '116/180', '20/30', '124/180', '22/30'

詳細については、DVB-S2 規格 [1] の Table 9 と Table 10、DVB-S2X 規格 [2] の Table 17a を参照してください。

依存関係

この入力引数は、stdSuffix's2' または 's2x' に設定した場合にのみ適用されます。

フレーム長。'normal' または 'short' として指定します。関数は frameLength および codeIDF を使用して、変調パラメーターを選択します。

依存関係

この入力引数は、stdSuffix's2' または 's2x' に設定した場合にのみ適用されます。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: Y = dvbsapskmod(X,M,std,InputType='bit',OutputDataType='single');

入力タイプ。'integer' または 'bit' として指定します。'integer' を使用するには、入力信号が [0, M – 1] の範囲の整数値で構成されていなければなりません。'bit' を使用するには、入力信号がバイナリ値を含まなければならず、行数は log2(M) の整数倍でなければなりません。

データ型: char | string

単位平均パワー フラグ。logical の 0 (false) または 1 (true) として指定します。

  • このフラグが true の場合、関数は 1 オームを基準とした 1 ワットの平均電力にコンスタレーションをスケーリングします。

  • このフラグが false の場合、関数は[1]および[2]で説明されている関連する規格の仕様に基づいてコンスタレーションをスケーリングします。

メモ

stdSuffix'sh' に設定した場合、コンスタレーションは常に単位平均パワーをもちます。

依存関係

この引数は、stdSuffix's2' または 's2x' に設定されている場合にのみ適用されます。

データ型: logical

出力のデータ型。'double' または 'single' として指定します。

コンスタレーションをプロットするためのオプション。logical 0 (false) または logical 1 (true) として指定します。コンスタレーションをプロットするには、PlotConstellationtrue に設定します。

データ型: logical

出力引数

すべて折りたたむ

変調された信号。複素数のスカラー、ベクトル、または行列として返されます。Y の次元は、指定した 'InputType' 値によって異なります。OutputDataType を使用して、出力のデータ型を指定します。

'InputType' の値出力の次元
'integer'Y の次元は入力 X と同じになります。
'bit'Y の行数は log2(M) で除算した X の行数と等しくなります。

データ型: double | single

詳細

すべて折りたたむ

DVB-S2/S2X/SH

デジタル ビデオ放送 (DVB) 規格では、S2、S2X、および SH 規格固有の振幅位相偏移変調 (APSK) 変調が指定されています。DVB-S2/S2X/SH 規格の詳細については、それぞれ[1][2]、および[3]に指定されている内容を参照してください。

参照

[1] ETSI Standard EN 302 307 V1.4.1: Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2), European Telecommunications Standards Institute, Valbonne, France, 2005-03.

[2] ETSI Standard EN 302 307-2 V1.1.1: Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2X), European Telecommunications Standards Institute, Valbonne, France, 2015-02.

[3] ETSI Standard EN 302 583 V1.1.1: Digital Video Broadcasting (DVB); Framing structure, channel coding and modulation for Satellite Services to Handheld devices (SH), European Telecommunications Standards Institute, Valbonne, France, 2008-03.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2018a で導入