このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
comm.SymbolSynchronizer
シンボル タイミングのクロック スキューの補正
説明
comm.SymbolSynchronizer
System object™ は、PAM、PSK、QAM、または OQPSK 変調方式の単一搬送波の送信機と受信機間のシンボル タイミングのクロック スキューを補正します。詳細は、シンボル同期の概要 を参照してください。
メモ
入力信号はサンプルレート ベースで動作し、出力信号はシンボル レート ベースで動作します。
シンボル タイミングのクロック スキューを補正するには、以下の手順に従います。
comm.SymbolSynchronizer
オブジェクトを作成し、そのプロパティを設定します。関数と同様に、引数を指定してオブジェクトを呼び出します。
System object の機能の詳細については、System object とは を参照してください。
作成
説明
は、単一搬送波の送信機と受信機間のクロック スキューを補正するシンボル同期装置 System object を作成します。symbolSync
= comm.SymbolSynchronizer
は、1 つ以上の名前と値のペアを使用してプロパティを設定します。たとえば、symbolSync
= comm.SymbolSynchronizer(Name
,Value
)comm.SymbolSynchronizer('Modulation','OQPSK')
は、OQPSK 変調された入力信号に対するシンボル同期装置 System object を構成します。各プロパティ名を引用符で囲みます。
調整可能な DampingFactor
、NormalizedLoopBandwidth
、および DetectorGain
プロパティを使用すると、オブジェクトを解放せずにシミュレーション ループでの同期装置のパフォーマンスを最適化できます。
プロパティ
特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release
を使用します。
プロパティが "調整可能" の場合、その値をいつでも変更できます。
プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。
Modulation
— 変調タイプ
'PAM/PSK/QAM'
(既定値) | 'OQPSK'
変調タイプ。'PAM/PSK/QAM'
または 'OQPSK'
を指定します。
調整可能: No
データ型: char
| string
TimingErrorDetector
— タイミング誤差検出器の方式
Zero-Crossing (decision-directed)
(既定値) | Gardner (non-data-aided)
| Early-Late (non-data-aided)
| Mueller-Muller (decision-directed)
タイミング誤差検出器の方式。Zero-Crossing (decision-directed)
、Gardner (non-data-aided)
、Early-Late (non-data-aided)
、または Mueller-Muller (decision-directed)
として指定します。このプロパティは、同期装置で使用するタイミング誤差検出方式を割り当てます。詳細については、タイミング誤差の検出 (TED)を参照してください。
調整可能: No
データ型: char
| string
SamplesPerSymbol
— シンボルあたりのサンプル数
2
(既定値) | 1 より大きい整数
DampingFactor
— ループ フィルターの減衰係数
1
(既定値) | 正のスカラー
NormalizedLoopBandwidth
— ループ フィルターの正規化帯域幅
0.01
(既定値) | 範囲 (0, 1) のスカラー
ループ フィルターの正規化帯域幅。範囲 (0, 1) のスカラーとして指定します。ループ帯域幅は、入力信号のサンプルレートに正規化されます。詳細については、ループ フィルターの BnTs を参照してください。
メモ
シンボル同期装置を確実にロックさせるには、NormalizedLoopBandwidth
プロパティを 0.1
未満の値に設定します。
調整可能: Yes
データ型: double
| single
DetectorGain
— 位相検出器ゲイン
2.7
(既定値) | 正のスカラー
使用法
R2016b より前のバージョンでは、関数 step
を使用して System object アルゴリズムを実行します。step
に対する引数は作成したオブジェクトであり、この節で示す引数が次に続きます。
たとえば、y = step(obj,x)
と y = obj(x)
は同等の演算を実行します。
説明
入力引数
samples
— 入力サンプル
スカラー (既定値) | 列ベクトル
入力サンプル。PAM、PSK、QAM、または OQPSK 変調された単一搬送波信号のスカラーまたは列ベクトルとして指定します。
データ型: double
| single
複素数のサポート: あり
出力引数
symbols
— 同期されたシンボル
列ベクトル
同期されたシンボル。可変サイズの列ベクトルとして返されます。出力シンボルは、入力サンプルからデータ型を継承します。入力の次元が Nsamp 行 1 列の場合、この出力の次元は Nsym 行 1 列になります。Nsym は Nsamp を Nsps で除算したものとほぼ同じです。ここで、Nsps は SamplesPerSymbol
プロパティ値と同じです。出力長が の最大出力サイズを超える場合、その出力長は切り捨てられます。
timingErr
— 推定されたタイミング誤差
範囲 [0,1] のスカラー | 範囲 [0, 1] の要素からなる列ベクトル
各入力サンプルの推定されたタイミング誤差。範囲 [0, 1] のスカラーまたは範囲 [0, 1] の要素からなる列ベクトルとして返されます。推定されたタイミング誤差は、入力サンプルレートに正規化されます。timingErr
のデータ型とサイズは入力 samples
と同じです。
オブジェクト関数
オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj
という名前の System object のシステム リソースを解放するには、次の構文を使用します。
release(obj)
例
QPSK 変調信号のシンボル タイミング誤差の補正
ノイズを含む QPSK 変調された信号上の固定シンボルのタイミング誤差を補正します。同期された受信信号のビット エラー レート (BER) をチェックします。
シミュレーション パラメーターを初期化します。
M = 4; % Modulation order for QPSK nSym = 5000; % Number of symbols in a packet sps = 4; % Samples per symbol timingErr = 2; % Samples of timing error snr = 15; % Signal-to-noise ratio (dB)
ルート レイズド コサイン (RRC) 送信および受信フィルター System object を作成します。
txfilter = comm.RaisedCosineTransmitFilter( ... 'OutputSamplesPerSymbol',sps); rxfilter = comm.RaisedCosineReceiveFilter( ... 'InputSamplesPerSymbol',sps,'DecimationFactor',2);
シンボル同期装置 System object を作成して、タイミング誤差を補正します。
symbolSync = comm.SymbolSynchronizer;
ランダムな M-ary シンボルを生成し、QPSK 変調を適用します。
data = randi([0 M-1],nSym,1); modSig = pskmod(data,M,pi/4);
遅延オブジェクトを作成し、2 つのサンプルの固定タイミング誤差を導入します。送信 RRC フィルターは、シンボルあたり 4 つのサンプルを出力するため、1 つのサンプルは、一定の遅延およびチャネルの間 1/4 シンボルと等価です。
fixedDelay = dsp.Delay(timingErr);
fixedDelaySym = ceil(fixedDelay.Length/sps); % Round fixed delay to nearest integer in symbols
txfilter
オブジェクトを使用して、送信 RRC フィルターで変調信号をフィルター処理します。fixedDelay
オブジェクトを使用して、信号タイミング誤差を適用します。
txSig = txfilter(modSig); delaySig = fixedDelay(txSig);
遅延した信号を、S/N 比が 15 dB の AWGN チャネルを介して渡します。
rxSig = awgn(delaySig,snr,'measured');
rxfilter
オブジェクトを使用して、受信 RRC フィルターで変調信号をフィルター処理します。散布図を表示します。タイミング誤差が原因で、受信した信号が予想した QPSK の基準コンスタレーションに合っていません。
rxSample = rxfilter(rxSig); scatterplot(rxSample(1001:end),2)
symbolSync
オブジェクトを使用して、シンボル タイミング誤差を補正します。散布図を表示します。同期信号が、予想した QPSK コンスタレーションに合うようになりました。
rxSync = symbolSync(rxSample); scatterplot(rxSync(1001:end),2)
QPSK 信号を復調します。
recData = pskdemod(rxSync,M,pi/4);
一定の遅延と送信および受信 RRC フィルターによる合計システム遅延をシンボル単位で計算します。
sysDelay = dsp.Delay(fixedDelaySym + txfilter.FilterSpanInSymbols/2 + ...
rxfilter.FilterSpanInSymbols/2);
システム遅延を考慮して BER を計算します。
[numErr,ber] = biterr(sysDelay(data),recData)
numErr = 10
ber = 1.0000e-03
BPSK 変調信号のシンボル タイミング誤差の補正
ノイズを含む BPSK 伝送信号上の固定シンボルのタイミング誤差を補正します。同期された受信信号のビット エラー レート (BER) をチェックします。
シミュレーション パラメーターを初期化します。
M = 2; % Modulation order for BPSK nSym = 20000; % Number of symbols in a packet sps = 4; % Samples per symbol timingErr = 2; % Samples of timing error snr = 15; % Signal-to-noise ratio (dB)
ルート レイズド コサイン (RRC) 送信および受信フィルター System object を作成します。
txfilter = comm.RaisedCosineTransmitFilter(... 'OutputSamplesPerSymbol',sps); rxfilter = comm.RaisedCosineReceiveFilter(... 'InputSamplesPerSymbol',sps,'DecimationFactor',1);
シンボル同期装置 System object™ を作成して、タイミング誤差を補正します。
symbolSync = comm.SymbolSynchronizer(... 'SamplesPerSymbol',sps, ... 'NormalizedLoopBandwidth',0.01, ... 'DampingFactor',1.0, ... 'TimingErrorDetector','Early-Late (non-data-aided)');
ランダム データ シンボルを生成して BPSK 変調を適用します。
data = randi([0 M-1],nSym,1); modSig = pskmod(data,M);
遅延オブジェクトを作成し、2 つのサンプルの固定タイミング誤差を導入します。送信 RRC フィルターは、シンボルあたり 4 つのサンプルを出力するため、1 つのサンプルは、一定の遅延およびチャネルの間 1/4 シンボルと等価です。
fixedDelay = dsp.Delay(timingErr);
fixedDelaySym = ceil(fixedDelay.Length/sps); % Round fixed delay to nearest integer in symbols
txfilter
オブジェクトを使用して、送信 RRC フィルターで変調信号をフィルター処理します。fixedDelay
オブジェクトを使用して、信号タイミング誤差を適用します。
txSig = txfilter(modSig); delayedSig = fixedDelay(txSig);
遅延信号を AWGN チャネルを通して渡します。
rxSig = awgn(delayedSig,snr,'measured');
rxfilter
オブジェクトを使用して、受信 RRC フィルターで変調信号をフィルター処理します。散布図を表示します。タイミング誤差が原因で、受信した信号が予想した BPSK の基準コンスタレーションに合っていません。
rxSample = rxfilter(rxSig); scatterplot(rxSample(10000:end),2)
symbolSync
オブジェクトを使用して、シンボル タイミング誤差を補正します。散布図を表示します。同期信号が、予想した BPSK コンスタレーションに合うようになりました。
rxSync = symbolSync(rxSample); scatterplot(rxSync(10000:end),2)
BPSK 信号を復調します。
recData = pskdemod(rxSync,M);
一定の遅延と送信および受信 RRC フィルターによる合計システム遅延をシンボル単位で計算します。
sysDelay = dsp.Delay(fixedDelaySym + txfilter.FilterSpanInSymbols/2 + ...
rxfilter.FilterSpanInSymbols/2);
システム遅延を考慮して BER を計算します。
[numErr1,ber1] = biterr(sysDelay(data),recData)
numErr1 = 8
ber1 = 4.0000e-04
シンボル タイミングおよびドップラー オフセットの補正
comm.SymbolSynchronizer
および comm.CarrierSynchronizer
System object を使用して、シンボル タイミングおよび周波数オフセットの誤りを補正します。
構成
シミュレーション パラメーターを初期化します。
M = 16; % Modulation order nSym = 2000; % Number of symbols in a packet sps = 2; % Samples per symbol spsFilt = 8; % Samples per symbol for filters and channel spsSync = 2; % Samples per symbol for synchronizers lenFilt = 10; % RRC filter length
送信機と受信機に対してルート レイズド コサイン (RRC) フィルター System object の対応するペアを作成します。
txfilter = comm.RaisedCosineTransmitFilter( ... FilterSpanInSymbols=lenFilt, ... OutputSamplesPerSymbol=spsFilt, ... Gain=sqrt(spsFilt)); rxfilter = comm.RaisedCosineReceiveFilter( ... FilterSpanInSymbols=lenFilt, ... InputSamplesPerSymbol=spsFilt, ... DecimationFactor=spsFilt/2, ... Gain=sqrt(1/spsFilt));
位相周波数オフセット System object を作成し、100 Hz のドップラー シフトを導入します。
doppler = comm.PhaseFrequencyOffset( ... FrequencyOffset=100, ... PhaseOffset=45, ... SampleRate=1e6);
可変遅延 System object を作成し、タイミング オフセットを導入します。
varDelay = dsp.VariableFractionalDelay;
キャリア同期装置 System object とシンボル同期装置 System object を作成し、ドップラー シフトとタイミング オフセットをそれぞれ補正します。
carrierSync = comm.CarrierSynchronizer( ... SamplesPerSymbol=spsSync); symbolSync = comm.SymbolSynchronizer( ... TimingErrorDetector='Early-Late (non-data-aided)', ... SamplesPerSymbol=spsSync);
コンスタレーション ダイアグラム System object を作成し、結果を表示します。
refConst = qammod(0:M-1,M,UnitAveragePower=true); cdReceive = comm.ConstellationDiagram( ... ReferenceConstellation=refConst, ... SamplesPerSymbol=spsFilt,Title='Received Signal'); cdDoppler = comm.ConstellationDiagram( ... ReferenceConstellation=refConst, ... SamplesPerSymbol=spsSync, ... Title='Frequency Corrected Signal'); cdTiming = comm.ConstellationDiagram( ... ReferenceConstellation=refConst, ... SamplesPerSymbol=spsSync, ... Title='Frequency and Timing Synchronized Signal');
主処理ループ
主処理ループでは以下を行います。
ランダムなシンボルを生成し、QAM 変調を適用します。
変調した信号をフィルター処理します。
周波数とタイミングのオフセットを適用します。
AWGN チャネルを通して、送信された信号を渡します。
受信した信号をフィルター処理します。
ドップラー シフトを補正します。
タイミング オフセットを補正します。
for k = 1:15 data = randi([0 M-1],nSym,1); modSig = qammod(data,M,UnitAveragePower=true); txSig = txfilter(modSig); txDoppler = doppler(txSig); txDelay = varDelay(txDoppler,k/15); rxSig = awgn(txDelay,25); rxFiltSig = rxfilter(rxSig); rxCorr = carrierSync(rxFiltSig); rxData = symbolSync(rxCorr); end
可視化
受信した信号、周波数を補正した信号および周波数とタイミングを同期した信号のコンスタレーション ダイアグラムをプロットします。特定のコンスタレーション点は、受信した信号内では識別できず、周波数を補正した信号内で一部のみを識別できます。ただし、タイミングと周波数を同期した信号は予想された QAM コンスタレーション点と一致します。
cdReceive(rxSig)
cdDoppler(rxCorr)
cdTiming(rxData)
ノイズを含む 8-PSK 信号のタイミング誤差
ノイズを含む 8-PSK 信号で単調増加するシンボル タイミング誤差を補正します。正規化されたタイミング誤差を表示します。
シミュレーション パラメーターを初期化します。
M = 8; % Modulation order nSym = 5000; % Number of symbol in a packet sps = 2; % Samples per symbol nSamp = sps*nSym; % Number of samples in a packet
ルート レイズド コサイン (RRC) 送信および受信フィルター System object を作成します。
txfilter = comm.RaisedCosineTransmitFilter( ... 'OutputSamplesPerSymbol',sps); rxfilter = comm.RaisedCosineReceiveFilter( ... 'InputSamplesPerSymbol',sps, ... 'DecimationFactor',1);
可変非整数遅延 System object™ を作成し、単調増加するタイミング誤差を導入します。
varDelay = dsp.VariableFractionalDelay;
シンボル同期装置 System object を作成して、タイミング誤差を補正します。
symbolSync = comm.SymbolSynchronizer(... 'TimingErrorDetector','Mueller-Muller (decision-directed)', ... 'SamplesPerSymbol',sps);
ランダムな 8 値シンボルを生成し、8-PSK 変調を適用します。
data = randi([0 M-1],nSym,1); modSig = pskmod(data,M,pi/8);
変調された信号をレイズド コサイン送信フィルターで処理し、単調増加するタイミング遅延を加えます。
vdelay = (0:1/nSamp:1-1/nSamp)'; txSig = txfilter(modSig); delaySig = varDelay(txSig,vdelay);
遅延した信号を、S/N 比が 15 dB の AWGN チャネルを介して渡します。
rxSig = awgn(delaySig,15,'measured');
受信 RRC フィルターで変調信号をフィルター処理します。散布図を表示します。タイミング誤差が原因で、受信した信号が予想した 8-PSK の基準コンスタレーションに合っていません。
rxSample = rxfilter(rxSig); scatterplot(rxSample,sps)
symbolSync
オブジェクトを使用して、シンボル タイミング誤差を補正します。散布図を表示します。同期信号が、予想した 8-PSK コンスタレーションに合うようになりました。
[rxSym,tError] = symbolSync(rxSample); scatterplot(rxSym(1001:end))
タイミング誤差の推定をプロットします。時間が経過すると、正規化されたタイミング誤差が 1 サンプルまで増加します。
figure plot(vdelay,tError) xlabel('Time (s)') ylabel('Timing Error (samples)')
詳細
シンボル同期の概要
シンボル タイミング同期装置アルゴリズムは、次の 4 つの要素で構成される位相同期回路 (PLL) アルゴリズムをベースにしています。
タイミング誤差検出器 (TED)
内挿器
内挿コントローラー
ループ フィルター
OQPSK 変調の場合、信号の同相成分と直交成分は、状態バッファーを使用して、前の入力の最後の半分のシンボルをキャッシュし、最初に揃えられます (QPSK 変調と同様)。最初の整列の後、残りの同期処理は QPSK 変調の場合と同じです。
このブロック線図は、タイミング同期装置の例を示しています。この図で、整合フィルター処理の後、シンボル タイミング PLL が受信サンプル信号 x(t) に作用します。シンボル タイミング PLL は、送信機と受信機間のクロック スキューを補正した後、シンボル信号 を出力します。
タイミング誤差の検出 (TED)
シンボル タイミング同期装置は、非データ支援 TED 方式と判定指向 TED 方式をサポートしています。次の表は、TED 方式オプションに対するタイミング推定式を示しています。
TED メソッド | 式 |
---|---|
ゼロクロッシング (判定指向) | |
Gardner (non-data-aided) | |
アーリーレイト (非データ支援) | |
Mueller-Muller (decision-directed) |
非データ支援 TED (ガードナーおよびアーリーレイト) 法は受信したサンプルを使用しますが、送信信号の情報やチャネル推定の結果を使用しません。非データ支援 TED は、同相軸または直交軸に一致するコンスタレーション点をもつ変調方式を使用して信号のタイミング誤差を推定するために使用されます。ガードナー法またはアーリーレイト法に適した信号の例には、{1+0i, 0+1i, -1+0i, 0−1i} に点をもつ位相オフセットがゼロの QPSK 変調信号や、位相オフセットがゼロの BPSK 変調信号が含まれます。
アーリーレイト法はガードナー法に似ていますが、ガードナー法はアーリーレイト法に比べ自己ノイズが低いため、SNR 値の高いシステムで優れたパフォーマンスを発揮します。
ガードナー法 — ガードナー法は、搬送波位相再生に依存しない非データ支援フィードバック法です。ベースバンド システムと変調搬送波システムに使用されます。より具体的には、この手法は約 40% ~ 100% の過剰帯域幅をもつナイキスト パルスによる線形変調タイプを使用するシステムで使用されます。例としては、PAM、PSK、QAM、または OQPSK 変調を使用するシステム、ロールオフ係数が 0.4 ~ 1 のレイズド コサイン フィルターを使用する信号を整形するシステムなどがあります。ノイズがある場合、このタイミング再生方法の性能は、過剰帯域幅 (レイズド コサイン フィルターの場合はロールオフ係数) の増大とともに向上します。ガードナー法はアーリーレイト ゲート法に似ています。
アーリーレイト法 — アーリーレイト法は、非データ支援フィードバック法です。PAM、PSK、QAM、または OQPSK 変調などの線形変調タイプを使用するシステムに適しています。たとえば、ナイキスト パルスのあるレイズド コサイン フィルターを使用するシステムがこれに該当します。ノイズがある場合、このタイミング再生方法の性能は、パルスの過剰帯域幅 (レイズド コサイン フィルターの場合はロールオフ係数) の増大とともに向上します。
判定指向 TED (ゼロクロッシングおよびミュラー・マラー) 法は、関数 sign
を使用して、受信したサンプルの同相成分と直交成分を推定するため、非データ支援 TED 法に比べ計算量が少なくなります。
ゼロクロッシング法 — ゼロクロッシング法は、同期装置の入力にシンボルあたり 2 つのサンプルが必要な判定指向の手法です。過剰帯域幅のすべての値の SNR 条件が低い場合や、おおよその範囲が [0.4, 0.6] となる中程度の過剰帯域幅係数の SNR 条件が中程度の場合に使用されます。
ミュラー・マラー法 — ミュラー・マラー法は、判定指向のフィードバック法で、搬送波位相の事前再生を必要とします。入力信号にナイキスト パルスがある場合 (たとえば、レイズド コサイン フィルターを使用する場合)、ミュラー・マラー法には自己ノイズはありません。ノイズがある狭帯域信号の場合、ミュラー・マラー法の性能はパルスの過剰帯域幅係数の減少とともに向上します。
判定指向方式 (ゼロクロッシングおよびミュラー・マラー) では、同期装置に渡される信号の同相成分と直交成分の符号に基づいてタイミング誤差を推定するため、ゼロの同相または直交成分のいずれかに点をもつコンスタレーション用には推奨されません。 および は、タイミング誤差検出器への入力信号の同相成分と直交成分です。ここで、 は推定されるタイミング誤差です。ミュラー・マラー法の係数 および は、 および の推定です。タイミングの推定は、関数 sign
を同相成分と直交成分に適用することで実行され、判定指向 TED 方式にのみ使用されます。
内挿器
時間遅延は、シンボル レートに同期しない整合フィルターの固定レート サンプルから推定されます。結果として得られるサンプルはシンボルの境界に揃わないため、内挿器を使用してサンプルを "移動" させます。時間遅延が未知であるため、内挿が適応可能でなければなりません。また、内挿されるものは利用可能なサンプルの線形結合であることから、これをフィルターの出力であると考えることもできます。
内挿器は、Farrow 構造と 1/2 に設定されている係数 α をもつ区分的な放物線内挿器を使用します (Rice, Michael, Digital Communications: A Discrete-Time Approach を参照)。
内挿制御
内挿制御によって、内挿器は基底点インデックスと非整数間隔を与えられます。基底点インデックスは内挿に最も近いサンプルのインデックスです。非整数間隔は、内挿とその基底点インデックス間の時間と内挿間隔との時間比率です。
内挿はサンプルごとに実行され、内挿が出力であるかどうかを判別するためにストローブ信号が使用されます。同期装置は、1 を法とするカウンターの内挿制御を使用して、内挿器で使用するストローブと非整数間隔を供給します。
ループ フィルター
同期装置は比例積分器 (PI) ループ フィルターを使用します。比率ゲイン K1 および積分器ゲイン K2 は、
および
により計算されます。中間項 θ は次により求められます。
ここで、
Nsps はシンボルあたりのサンプル数です。
ζ は減衰係数です。
BnTs は正規化ループ帯域幅です。
Kp は検出器ゲインです。
参照
[1] Rice, Michael. Digital Communications: A Discrete-Time Approach. Upper Saddle River, NJ: Prentice Hall, 2008.
[2] Mengali, Umberto and Aldo N. D’Andrea. Synchronization Techniques for Digital Receivers. New York: Plenum Press, 1997.
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
MATLAB コード生成における System object (MATLAB Coder)を参照してください。
バージョン履歴
R2015a で導入
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)