このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Binary Symmetric Channel
バイナリ エラーの発生
ライブラリ:
Communications Toolbox /
Channels
説明
Binary Symmetric Channel ブロックによって、バイナリ対称チャネルを通して伝送される入力信号に誤りが発生します。その誤りは、指定した Error probability に基づいて発生します。詳細については、ヒントを参照してください。
例
バイナリ対称チャネルが劣化したデータのビタビ復号化
cm_ex_viterbi_decode_binary_seq
モデルは Random Integer Generator
ブロックを使用してバイナリ シーケンスを生成します。シーケンスは、Convolutional Encoder
ブロックで符号化され、Binary Symmetric Channel
ブロックで劣化します。Viterbi Decoder
ブロックはデータ シーケンスを符号化し、ビット エラー レートが計算されます。
InitFcn
コールバックを使用して、フレーム、BSC 誤り確率、およびビタビ復号化器のトレースバック長ごとにサンプルのワークスペース パラメーターを初期化します。送信信号と受信信号間の信号遅延はトレースバック長と同等です。信号遅延は、エラー レートの計算に必要です。
バイナリ ビット ストリームを作成するために、Random Integer Generator
ブロックは、セット サイズを 2
および出力タイプを boolean
に指定します。
計算されたエラー レートは、Binary Symmetric Channel
ブロックで指定された Error probability
を近似します。
Computed error rate = 0.095023
バイナリ対称チャネルのエラー レート
バイナリ対象チャネルを経由してランダムな信号を渡します。指定された誤り確率に対するエラー レートを計算します。
slex_bsc_channel
モデルを開くには、[モデルを開く] ボタンを使用します。
0.01 に設定した BSC ブロックの誤り確率を使用したモデルを実行します。結果は、1 行 3 列の行ベクトルのベース ワークスペース変数 ErrorVec
に保存されます。最初の要素には BER が含まれます。
With error probability set to 0.01, BER: 0.009929
BSC ブロックの誤り確率を 0.04 に変更します。モデルを実行して BER の増加を観察します。
With error probability set to 0.04, BER: 0.039889
バイナリ対称チャネルの誤差の端子
バイナリ対象チャネルを経由してランダムな信号を渡します。指定した誤り確率の場合、Err
端子によって示された誤差の合計数を Error Rate Calculation
ブロックによって報告された結果と比較します。
slex_bsc_channel_err
モデルを開きます。
0.02 に設定した BSC ブロックの誤り確率を使用したモデルを実行します。Error Rate Calculation
ブロックからの結果は、1 行 3 列の行ベクトルのベース ワークスペース変数 ErrorVec
に保存されます。ErrorVec
には、[BER
, TotalErrors
, TotalSamplesProcessed
] が含まれます。
Total number of errors: 20296
Binary Symmetric Channel
の Err
端子は、長さが処理されたサンプルの合計数と一致するバイナリ ベクトルです。出力の Err
ベクトルの要素を加算して、信号データに生じた誤差の合計数を得ます。Err
ベクトルの要素の加算は、ベース ワークスペース変数 BscErrTotal
に保存されます。
BscErrTotal: 20296
Error Rate Calculation
ブロックは、BscErrTotal
によって示される同じ誤りの合計数を報告します。
マルチチャネルのバイナリ対称チャネルに対する確率の誤りの変化
バイナリ対称チャネルを経由してマルチチャネルのランダムな信号を渡します。指定した誤り確率の場合、各チャネルの Err
端子出力を比較してエラー レートを比較します。
slex_multichannel_bcs_err
モデルを開くには、[モデルを開く] ボタンを使用します。
[0.02 0.04 0.07
] に設定した行ベクトルとして Error probability
を定義することによってマルチチャネル信号の個々のチャネルに異なる BSC 誤り確率を設定します。
Binary Symmetric Channel
の Err
端子は、次元が入力信号と一致するバイナリ行列です。Err
には各チャネルの誤りの結果が含まれます。チャネルごとに発生した誤りの合計数を取得するために、個々に Err
の各列の出力の要素を加算します。各合計をチャネルごとに送信されたサンプルの合計数で割ると、各チャネルのビット エラー レートを得られます。
BER for channel 1: 2.02960e-02 BER for channel 1: 3.97430e-02 BER for channel 1: 7.00090e-02
計算された BER は Error probability
パラメーターで設定された確率とほぼ同じになります。
端子
入力
出力
Output — バイナリ出力信号
列ベクトル | 行列
バイナリ出力信号。Input
と同じ次元をもつ列ベクトルまたは行列として返されます。出力信号は、指定した Error probability に基づいて発生する確率的誤差によって変更されている入力信号のバージョンです。出力データ型を設定するには、出力データ型 を使用します。
Err — 誤差の位置
列ベクトル | 行列
誤差の位置。Input
と同じ次元をもつ列ベクトルまたは行列として返されます。Err
の要素の値は、1
または 0
です。ここで、
1
は、Output
の対応する要素に誤差があることを示します。0
は、Output
の対応する要素に誤差がないことを示します。
Err
のデータ型は、出力データ型 によって設定するときの Output と同じです。
依存関係
この端子を有効にするには、Output error vector を選択します。
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
Error probability — 誤差発生の確率
0.05
(既定値) | スカラー
入力信号要素に対する誤差発生の確率。[0,1] の範囲のスカラーとして指定します。誤差の発生は、各要素に対して個別に適用されます。
Output error vector — 誤差の位置を出力するオプション
on
(既定値) | off
ブロックに対して Err
出力端子を有効にするには、このパラメーターを選択します。
出力データ型 — 出力データ型
double
(既定値) | single
| boolean
出力データ型を double
、single
、または boolean
として選択します。このパラメーターは、出力端子と Err 端子の両方に出力データ型を設定します。
Initial seed — 初期シード
71
(既定値) | 整数
ブロックによって使用される乱数発生器の初期シードの値。整数として指定します。ブロックは、mt19937ar
アルゴリズムを使用して、一様分布の乱数を生成させます。mt19937ar
アルゴリズムの詳細については、乱数ストリームの作成と管理を参照してください。
シミュレーション実行方法 — 実行するシミュレーションのタイプ
コード生成
(既定値) | インタープリター型実行
実行するシミュレーションのタイプ。次のように指定します。
コード生成
–– 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。この C コードは、モデルが変更されない限り以降のシミュレーションで再利用されます。このオプションには、追加の起動時間が必要です。インタープリター型実行
–– MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションで起動時間が短くなります。[インタープリター型実行]
モードで、ブロックのソース コードをデバッグできます。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
ヒント
入力が
Boolean
以外の値で構成されている場合、Binary Symmetric Channel はゼロ値の要素を 0 に変換し、非ゼロ値の要素を 1 に変換します。Binary Symmetric Channel ブロックは、独立した
RandStream
を作成して使用し、確率を決定するための乱数ストリームを提供します。繰り返し可能な結果を生成するには、同じ Initial seed 値を使用します。
独立した確率統計を生成するには、マルチチャネル信号、複数処理連鎖、またはシミュレーション実行に、異なる Initial seed 値を設定します。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入R2018b: 乱数発生
統計プロパティを向上させるため、Binary Symmetric Channel ブロックは RandStream
を使用する mt19937ar
アルゴリズムを使用します。Binary Symmetric Channel ブロックは、Initial seed パラメーターに対する単一のスカラー値を受け入れます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)