このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
nrEqualizeMMSE
最小平均二乗誤差 (MMSE) イコライズ
説明
例
PBCH の MMSE イコライズの実行
物理ブロードキャスト チャネル (PBCH) の抽出されたリソース エレメントに対して MMSE イコライズを実行します。
PBCH 送信用のシンボルとインデックスを作成します。
ncellid = 146; v = 0; E = 864; cw = randi([0 1],E,1); pbchTxSym = nrPBCH(cw,ncellid,v); pbchInd = nrPBCHIndices(ncellid);
1 つの送信アンテナ用に空のリソース配列を生成します。生成された PBCH インデックスを使用して、配列に PBCH シンボルを入力します。
carrier = nrCarrierConfig('NSizeGrid',20);
P = 1;
txGrid = nrResourceGrid(carrier,P);
txGrid(pbchInd) = pbchTxSym;
OFDM 変調を実行します。
txWaveform = nrOFDMModulate(carrier,txGrid);
チャネル行列を作成し、送信波形にチャネルを適用します。
R = 4; H = dftmtx(max([P R])); H = H(1:P,1:R); H = H / norm(H); rxWaveform = txWaveform * H;
チャネル推定を作成します。
hEstGrid = repmat(permute(H.',[3 4 1 2]),[240 4]); nEst = 0.1;
OFDM 復調を実行します。
rxGrid = nrOFDMDemodulate(carrier,rxWaveform);
PBCH 復号化の準備をするには、nrExtractResources
を使用して、受信グリッドとチャネル推定グリッドからシンボルを抽出します。受信した PBCH コンスタレーションをプロットします。
[pbchRxSym,pbchHestSym] = nrExtractResources(pbchInd,rxGrid,hEstGrid); scatterplot(pbchRxSym(:),[],[],'y+'); title('Received PBCH Constellation');
抽出されたリソース エレメントを使用して PBCH を復号化します。イコライズされた PBCH コンスタレーションをプロットします。
[pbchEqSym,csi] = nrEqualizeMMSE(pbchRxSym,pbchHestSym,nEst); pbchBits = nrPBCHDecode(pbchEqSym,ncellid,v); scatterplot(pbchEqSym(:),[],[],'y+'); title('Equalized PBCH Constellation');
入力引数
rxSym
— 抽出されたリソース エレメント
2 次元の数値行列
物理チャネルの抽出されたリソース エレメント。NRE 行 R 列の数値行列として指定します。NRE は、受信したグリッドの K 行 L 列の各平面から抽出されたリソース エレメントの数です。K はサブキャリアの数、L は OFDM シンボルの数です。R は受信アンテナの数です。
データ型: double
複素数のサポート: あり
hest
— 推定チャネル情報
3 次元の数値配列
推定チャネル情報。NRE×R×P の数値配列として指定します。NRE は、受信したグリッドの K 行 L 列の各平面から抽出されたリソース エレメントの数です。K はサブキャリアの数、L は OFDM シンボルの数です。R は受信アンテナの数です。P はレイヤーの数です。
データ型: double
複素数のサポート: あり
nVar
— 推定ノイズ分散
非負の実数スカラー
推定ノイズ分散。非負の実数スカラーとして指定します。
データ型: double
出力引数
eqSym
— イコライズされたシンボル
2 次元の数値行列
イコライズされたシンボル。NRE 行 P 列の数値行列として返されます。NRE は、受信したグリッドの K 行 L 列の各平面から抽出されたリソース エレメントの数です。K はサブキャリアの数、L は OFDM シンボルの数です。P はレイヤーの数です。
データ型: double
複素数のサポート: あり
csi
— ソフト チャネル状態情報
2 次元の数値行列
ソフト チャネル状態情報。NRE 行 P 列の数値行列として返されます。NRE は、受信したグリッドの K 行 L 列の各平面から抽出されたリソース エレメントの数です。K はサブキャリアの数、L は OFDM シンボルの数です。P はレイヤーの数です。この出力は、各 RE の SNR を考慮した対数尤度比 (LLR) のスケーリング係数です。
データ型: double
複素数のサポート: あり
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。 (R2024a 以降)
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2018b で導入R2024a: GPU 配列のサポート
関数 nrEqualizeMMSE
は、現在、GPU 配列をサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
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)