Phase Noise
受信側の位相ノイズの複素ベースバンド信号への適用

ライブラリ:
Communications Toolbox /
RF Impairments and Components
説明
Phase Noise ブロックは位相ノイズを複素信号に追加します。このブロックは無線通信の送信機または受信機のローカルの発振器によって生じた劣化要因をエミュレートします。ブロックは、指定されたスペクトル マスクに従ってフィルター処理された位相ノイズを生成し、それを入力信号に追加します。位相ノイズ モデリングについては、アルゴリズムを参照してください。
例
16-QAM 信号に位相ノイズ ベクトルと周波数オフセット ベクトルを追加します。コンスタレーションを表示します。
slex_PhaseNoise16QAM モデルはランダム データを生成し、データに 16-QAM 変調を適用して、信号に位相ノイズを追加します。Phase Noise
ブロックは、位相ノイズ レベルが 100 Hz で -40 dBc/Hz、200 Hz で –70 dBc/Hz のスペクトル マスクを指定します。
コンスタレーション ダイアグラムは、基準 16-QAM コンスタレーションと、位相ノイズによって劣化した信号サンプルを示しています。
この例では、スペクトルおよび位相ノイズが 100 kHz 正弦波に与える影響について説明します。
slex_phasenoise
モデルは、Sine Waveブロックを使用して 100 kHz の tone を生成し、Phase Noiseブロックを使用してこれらの周波数に位相ノイズを付加します。
1e3
Hz の周波数オフセットで-85
dBc/Hz9.5e3
Hz の周波数オフセットで-118
dBc/Hz19.5e3
Hz の周波数オフセットで-125
dBc/Hz195e3
Hz の周波数オフセットで-145
dBc/Hz
スペクトルと位相ノイズを解析するために、モデルには dBW/Hz
ビュー用に構成された 3 つのスペクトル アナライザーブロックが含まれています。
Pure Tone, RBW=1 Hz — 1 Hz の分解能帯域幅
Noisy Tone, RBW=1 Hz — 1 Hz の分解能帯域幅
Noisy Tone, RBW=10 Hz — 10 Hz の分解能帯域幅
このモデルには、RMS 位相ノイズを計算するサブシステムも含まれています。RMS 位相ノイズを計算するサブシステムは、純粋正弦波とノイズのある正弦波との間の位相誤差を検出します。その後 RMS 位相ノイズを度単位で計算します。一般に、位相誤差を正確に求めるには、純粋な信号がノイズ信号と時間で整列されなければなりません。しかし、このモデルでは正弦波の周期性によりこの手順が不要です。
このモデルは信号スペクトルを表示し、計算された位相ノイズの平均を出力します。計算された位相ノイズは、Phase Noise ブロックで定義されたスペクトルに達します。
このモデルを実行すると、信号のスペクトルが表示され、計算された位相ノイズの平均が出力されます。計算された位相ノイズは、Phase Noise ブロックで定義されたスペクトルに達します。
分解能帯域幅を 1 Hz に設定すると、スペクトル アナライザーの dBW/Hz
ビューには 0 dBW/Hz における tone が表示されます。分解能帯域幅を 10 Hz に設定すると、スペクトル アナライザーの dBW/Hz
ビューには -10 dBW/Hz における tone が表示されます。同じトーン エネルギーは、ここで 1 Hz の代わりに 10 Hz に広がり、そのため正弦波 PSD レベルは 10 dB 減少します。10 Hz の分解能帯域幅でも、計算された位相ノイズの表示上の平均は、まだ Phase Noise ブロックで定義された位相ノイズに達しています。
Spectrum Analyzer ブロックは、より広い分解能帯域幅でより優れたスペクトル平均化を達成します。詳細については、ウィンドウを参照してください。
The calculated average phase noise is 0.37 degrees.
さらに調べるには、Phase Noise ブロックで [Phase noise level (dBc/Hz)] パラメーターを変更し、モデルを再実行して、スペクトル形状がどのように変化するかに注目します。ノイズが増えるほどサイド ローブの振幅が増加します。位相ノイズが増えるにつれて、100 Hz 信号は不明確になり、測定される RMS 位相ノイズが増加します。
拡張例
端子
入力
入力信号。NS 行 1 列の数値ベクトルとして指定するか、または NS 行 M 列の数値行として指定します。NS は、サンプルの数を表します。M は、チャネルの数です。
データ型: double
| single
複素数のサポート: あり
出力
出力信号は複素数値信号として返され、データ型とサイズは入力信号と同じです。
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
ヘルツあたりの搬送波に対するデシベル単位の位相ノイズ レベル (dBc/Hz)。負のスカラーのベクトルとして指定します。[Phase noise level (dBc/Hz)] パラメーターおよび [Frequency offset (Hz)] パラメーターは同じ長さでなければなりません。
Hz 単位の周波数オフセット。正の増加する値のベクトルとして指定します。最大周波数オフセット値は FS / 2 未満でなければなりません。ここで、FS は [Sample rate (Hz)] パラメーター値を表します。
[Phase noise level (dBc/Hz)] パラメーターおよび [Frequency offset (Hz)] パラメーターは同じ長さでなければなりません。
Hz 単位のサンプル レート。[Frequency offset (Hz)] パラメーターで指定した最大値の 2 倍より大きい正のスカラーとして指定します。
ノイズ ジェネレーターの初期シード。正のスカラーとして指定します。
このブロックは Random Source ブロックを使用してノイズを生成します。ブロックは、Ziggurat メソッド (V5 RANDN アルゴリズム) を使用して、乱数を生成します。シミュレーションを再実行するたびに、ブロックは同じ初期シードを再利用します。この方法で、シミュレーションを再実行するたびに、ブロックは同じ信号を出力します。
ブロックによって定義されたフィルターの振幅応答を表示します。
実行するシミュレーションのタイプ。[インタープリター型実行]
または [コード生成]
として指定します。
インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、必要な起動時間が短縮されますが、以降のシミュレーションの速度は[コード生成]
オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。コード生成
— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]
オプションを使用した場合よりも速くなります。
詳細については、インタープリター型実行とコード生成 (Simulink)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
出力信号 yk は、yk=xkejφk により入力シーケンス xk に関連付けられています。ここで、φk は位相ノイズです。位相ノイズはフィルター処理されたガウス ノイズで、次のようになります。φk=f(nk)。ここで、nk はノイズ シーケンスで、f はフィルター処理操作を表します。
位相ノイズをモデル化するには、周波数オフセットと位相ノイズ レベルのスカラーまたはベクトルの値を指定することで、パワー スペクトル密度 (PSD) マスクの特性を定義します。
スカラー周波数オフセットと位相ノイズ レベルの仕様では、IIR デジタル フィルターがスペクトル マスクを計算します。スペクトル マスクは、指定された点を通過する 1 / f の特性をもちます。詳細については、IIR デジタル フィルターを参照してください。
ベクトル周波数オフセットと位相ノイズ レベルの仕様では、FIR フィルターがスペクトル マスクを計算します。スペクトル マスクは、log10(f) にわたって内挿されます。詳細については、FIR フィルターを参照してください。
IIR デジタル フィルターでは、分子係数は次のようになります。
ここで、foffset は周波数オフセット (Hz) で、L は位相ノイズ レベル (dBc/Hz) です。分母係数 γi は次のように再帰的に決定されます。
ここで、γ1 = 1、i = {1, 2,..., Nt} であり、Nt はフィルター係数の数です。Nt は範囲 [2
7, 2
19] 内の 2 のべき乗です。Nt の値は、位相ノイズ オフセットが 0 Hz まで減少するにつれて増加します。
FIR フィルターでは、位相ノイズ レベルは、[df, fs / 2] の範囲にある周波数オフセットに対する log10(f) 内挿により決定されます。ここで、df は周波数分解能で、fs はサンプル レートです。位相ノイズは、[0, df] Hz の範囲と、最大周波数オフセットから fs / 2 までフラットです。位相ノイズは、df から最小周波数オフセットまで、1 / f3 の特性をもちます。位相ノイズは、最小周波数オフセットと最大周波数オフセットの間で線形内挿されます。周波数分解能は、(fs / 2)(1 / Nt) と等しくなります。ここで、Nt は係数の数であり、2
16 以下の 2 のべき乗です。
結果のフィルターのタップ数 Nt が 2
8 より小さい場合は、時間領域 FIR フィルターを使用します。2
8 <= Nt <= 2
16 である場合は、周波数領域 FIR フィルターを使用します。Nt > 2
16 である場合は、フィルターとシンセサイザーがカスケード接続されたシステムを使用します。[0, fs/2] の周波数範囲を 2 等分します。各サブ バンドで位相ノイズを形成するフィルターを設計します。[0, fs/2] の範囲で目的の位相ノイズ特性を得られるよう、シンセサイザーを使用して 2 つのサブ バンドを結合します。各フィルターのタップ数が 2
16 以下になるまで、各サブ バンドに対してこの処理を繰り返します。
単一フィルターまたはカスケード接続されたフィルターのシンセサイザー システムでは、フィルターのレイテンシを除去するための準備が初期化中に行われます。
参照
[1] Kasdin, N. J. "Discrete Simulation of Colored Noise and Stochastic Processes and 1/(f^alpha); Power Law Noise Generation." The Proceedings of the IEEE® 83, no. 5 (May, 1995): 802–27.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入より周波数が高い信号の位相ノイズを正確にモデル化するには、Phase Noise ブロックを使用します。生成された位相ノイズの精度を検証するには、Phase Noise ブロックのマスクの [フィルター応答の表示] ボタンを使用します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)