dsp.DigitalDownConverter
デジタル信号を中間周波数 (IF) 帯域からベースバンドに変換して間引きする
説明
dsp.DigitalDownConverter オブジェクトは、デジタル信号を中間周波数 (IF) 帯域からベースバンドに変換して間引きします。
入力信号のデジタル ダウンコンバージョンの方法は次のとおりです。
dsp.DigitalDownConverterオブジェクトを作成し、そのプロパティを設定します。関数と同様に、引数を指定してオブジェクトを呼び出します。
System object の機能の詳細については、System object とはを参照してください。
このオブジェクトは、特定の条件下で C/C++ コード生成と SIMD コード生成をサポートします。詳細については、コード生成を参照してください。
作成
説明
は、デジタル ダウン コンバーター (DDC) System object™ の dwnConv = dsp.DigitalDownConverterdwnConv を返します。
は、1 つ以上の名前と値の引数を使用して、プロパティを設定します。たとえば、間引き係数を 50 に指定するには、dwnConv = dsp.DigitalDownConverter(Name=Value)DecimationFactor を 50 に設定します。
プロパティ
特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release を使用します。
プロパティが "調整可能" の場合、その値をいつでも変更できます。
プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。
このプロパティは、正の整数スカラーか 1 行 2 列または 1 行 3 列の正の整数のベクトルに設定します。
このプロパティをスカラーに設定した場合、オブジェクトは 3 つの各フィルター段の間引き係数を自動的に選択します。
このプロパティを 1 行 2 列のベクトルに設定した場合、オブジェクトは第 3 フィルター段をバイパスし、第 1 と第 2 のフィルター段の間引き係数をベクトルの 1 番目と 2 番目の要素の値にそれぞれ設定します。DecimationFactor ベクトルの要素はどちらも 1 より大きくなければなりません。
このプロパティを 1 行 3 列のベクトルに設定する場合は、ベクトルの i 番目の要素で第 i フィルター段の間引き係数を指定します。DecimationFactor ベクトルの 1 番目と 2 番目の要素は 1 より大きくなければならず、3 番目の要素は 1 または 2 でなければなりません。
データ型: double
このパラメーターを true に設定した場合、オブジェクトは PassbandRipple、StopbandAttenuation、Bandwidth、StopbandFrequencySource、StopbandFrequency の各プロパティを使用して設定した通過帯域リップル、阻止帯域の減衰量、通過帯域周波数、阻止帯域周波数の仕様を満たす最小次数でフィルターを設計します。
このプロパティを false に設定した場合、オブジェクトは NumCICSections、SecondFilterOrder、ThirdFilterOrder の各プロパティで指定した次数でフィルターを設計します。フィルター設計は、Bandwidth、StopbandFrequencySource、StopbandFrequency の各プロパティを使用して設定した通過帯域と阻止帯域の周波数の仕様を満たします。
データ型: logical
CIC 間引きのセクション数。正の整数のスカラーとして指定します。
依存関係
このプロパティは、MinimumOrderDesign プロパティを false に設定した場合に適用されます。
データ型: double
CIC 補正フィルター段の次数。正の整数スカラーとして指定します。
依存関係
このプロパティは、MinimumOrderDesign プロパティを false に設定した場合に適用されます。
データ型: double
第 3 フィルター段の次数。偶数の正の整数スカラーとして指定します。DecimationFactor プロパティを 1 行 2 列のベクトルに設定した場合、第 3 フィルター段はバイパスされるため、オブジェクトは ThirdFilterOrder プロパティを無視します。
依存関係
このプロパティは、MinimumOrderDesign プロパティを false に設定した場合に適用されます。
データ型: double
入力信号の両側帯域幅 BW。Hz 単位の正の整数または正規化周波数単位 (R2024b 以降)として指定します。オブジェクトは、フィルターのカスケードの通過帯域周波数を Bandwidth プロパティで指定した値の半分に設定します。このプロパティの値は、SampleRate/DecimationFactor 未満に設定します。NormalizedFrequency を true に設定する場合は、このプロパティの値を 2/DecimationFactor 未満に設定します。 (R2024b 以降)
データ型: double
阻止帯域周波数のソースを Auto または Property として指定します。
このプロパティを Auto に設定した場合、各設定に応じて以下のようになります。
NormalizedFrequencyをfalseにした場合 –– オブジェクトはカスケード フィルター応答のカットオフ周波数を約 Fc = Fs/(2M) Hz に設定します。ここで、M はDecimationFactorプロパティで指定した合計間引き係数です。オブジェクトは、阻止帯域周波数を Fstop = Fc + (TW/2) として計算します。TW は、2×(Fc–Fp) として計算されるカスケード応答の遷移帯域幅であり、通過帯域周波数 Fp は BW/2 に等しくなります。ここで、BW は入力信号の両側帯域幅です。NormalizedFrequencyをtrueにした場合 –– オブジェクトはカスケード フィルター応答のカットオフ周波数を約 Fc = 1/M に設定します。ここで、M はDecimationFactorプロパティで指定した合計間引き係数です。オブジェクトは、阻止帯域周波数を Fstop = Fc + (TW/2) として計算します。TW は、2×(Fc–Fp) として計算されるカスケード応答の遷移帯域幅であり、通過帯域周波数 Fp は BW/2 に等しくなります。ここで、BW は入力信号の両側帯域幅です。
このプロパティを Property に設定した場合、StopbandFrequency プロパティを使用して阻止帯域周波数の値を指定できます。
阻止帯域周波数 Fstop。Hz 単位または正規化周波数単位で (R2024b 以降)正のスカラーとして指定します。
依存関係
このプロパティを有効にするには、StopbandFrequencySource プロパティを Property に設定します。
データ型: double
カスケード応答の通過帯域リップル (dB 単位)。正のスカラーとして指定します。MinimumOrderDesign プロパティを true に設定した場合、オブジェクトはカスケード応答が PassbandRipple プロパティで指定した通過帯域リップルを満たすようにフィルターを設計します。
依存関係
このプロパティを有効にするには、MinimumOrderDesign プロパティを true に設定します。
データ型: double
カスケード応答の阻止帯域の減衰量 (dB 単位)。正のスカラーとして指定します。MinimumOrderDesign プロパティを true に設定した場合、オブジェクトはカスケード応答が StopbandAttenuation プロパティで指定した阻止帯域の減衰量を満たすようにフィルターを設計します。
依存関係
このプロパティを有効にするには、MinimumOrderDesign プロパティを true に設定します。
データ型: double
発振器のタイプ。次のいずれかのオプションとして指定します。
Sine wave–– オブジェクトは正弦波三角関数のサンプルから得られた複素指数を使用して入力信号の周波数をダウン コンバートします。NCO–– オブジェクトは数値制御発振器 (NCO) を使用して得られた複素指数で周波数のダウン コンバージョンを実行します。Input port–– オブジェクトは、オブジェクトへの入力として渡された複素数の発振器信号zを使用して周波数のダウン コンバージョンを実行します。None–– オブジェクトに混合器段は存在せず、オブジェクトは 3 段カスケード間引きとして動作します。
入力信号 Fc の中心周波数。Hz 単位の正のスカラーまたは正規化周波数単位 (R2024b 以降)として指定します。中心周波数の値は、SampleRate プロパティの値の半分以下でなければなりません。オブジェクトは、入力信号を CenterFrequency プロパティで指定した通過帯域中心周波数から 0 にダウンコンバートします。
依存関係
このプロパティを有効にするには、Oscillator プロパティを Sine wave または NCO に設定します。
データ型: double
NCO のアキュムレータのビット数。範囲 [1 128] の正の整数として指定します。
依存関係
このプロパティを有効にするには、Oscillator プロパティを NCO に設定します。
データ型: double
NCO の量子化アキュムレータのビット数。範囲 [1 128] の整数として指定します。このプロパティで指定する値は、NumAccumulatorBits プロパティで指定した値よりも小さくなくてはなりません。
依存関係
このプロパティを有効にするには、Oscillator プロパティを NCO に設定します。
データ型: double
このプロパティを true に設定した場合、NumDitherBits プロパティで指定したディザーのビット数を使用して NCO 信号にディザーが適用されます。
依存関係
このプロパティを有効にするには、Oscillator プロパティを NCO に設定します。
NCO のディザーのビット数。NumAccumulatorBits プロパティで指定したアキュムレータのビット数よりも小さい正の整数として指定します。
依存関係
このプロパティを有効にするには、Oscillator プロパティを NCO に設定し、Dither プロパティを true に設定します。
データ型: double
R2024b 以降
正規化単位で周波数を設定するオプション。次の値のいずれかとして指定します。
true–– 中心周波数、阻止帯域周波数、および帯域幅は、正規化周波数単位 (0 ~ 1) でなければなりません。オブジェクトの作成時に
NormalizedFrequencyプロパティがtrueに設定され、周波数仕様が設定されなかった場合、オブジェクトは既定のサンプル レート 30 MHz を使用して、正規化周波数単位に既定値を自動的に設定します。ddc = dsp.DigitalDownConverter(NormalizedFrequency=true)
ddc = dsp.DigitalDownConverter with properties: DecimationFactor: 100 MinimumOrderDesign: true Bandwidth: 0.0133 StopbandFrequencySource: "Auto" PassbandRipple: 0.1000 StopbandAttenuation: 60 Oscillator: "Sine wave" CenterFrequency: 0.9333 NormalizedFrequency: trueオブジェクトの作成後に
NormalizedFrequencyプロパティをtrueに設定する場合は、オブジェクト アルゴリズムを実行する前に、中心周波数、阻止帯域周波数、および帯域幅を正規化された単位で指定しなければなりません。ddc = dsp.DigitalDownConverter
ddc = dsp.DigitalDownConverter with properties: DecimationFactor: 100 MinimumOrderDesign: true Bandwidth: 200000 StopbandFrequencySource: "Auto" PassbandRipple: 0.1000 StopbandAttenuation: 60 Oscillator: "Sine wave" CenterFrequency: 14000000 NormalizedFrequency: false SampleRate: 30000000正規化周波数値を指定するには、
NormalizedFrequencyをtrueに設定し、Hz 単位の入力サンプル レートを使用して、Hz 単位の周波数値を正規化された値に手動で変換します。たとえば、入力サンプル レート Fs が 30 MHz の場合、正規化単位での対応する帯域幅値は BWHz/(Fs/2)、正規化単位での対応する中心周波数は FcHz/(Fs/2)、正規化単位での対応する阻止帯域周波数は FstopHz/(Fs/2) となります。ddc = dsp.DigitalDownConverter; ddc.NormalizedFrequency = true; ddc.Bandwidth = 200000/(30e6/2); ddc.CenterFrequency = 14e6/(30e6/2)
ddc = dsp.DigitalDownConverter with properties: DecimationFactor: 100 MinimumOrderDesign: true Bandwidth: 0.0133 StopbandFrequencySource: "Auto" PassbandRipple: 0.1000 StopbandAttenuation: 60 Oscillator: "Sine wave" CenterFrequency: 0.9333 NormalizedFrequency: truefalse–– 帯域幅、阻止帯域周波数、および中心周波数の値は Hz 単位です。SampleRateプロパティで入力サンプル レートを指定できます。
データ型: logical
入力信号 Fs のサンプル レート。CenterFrequency プロパティの値の 2 倍以上の正のスカラー値として指定します。
依存関係
このプロパティを有効にするには、NormalizedFrequency を false に設定します。 (R2024b 以降)
データ型: single | double
固定小数点プロパティ
第 1、第 2、第 3 (バイパスされていない場合) の各フィルター段の入力のデータ型を Same as input または Custom のいずれかとして指定します。オブジェクトは、このプロパティで設定した値に従って各フィルター段の入力でデータをキャストします。
フィルターの入力の固定小数点データ型を Auto の符号属性のスケーリングされた numerictype (Fixed-Point Designer) オブジェクトとして指定します。
依存関係
このプロパティは、FiltersInputDataType プロパティを Custom に設定した場合に適用されます。
出力のデータ型を Same as input または Custom として指定します。
出力の固定小数点型を、Signedness が Auto に設定された、スケーリングされた numerictype (Fixed-Point Designer) オブジェクトとして指定します。
依存関係
このプロパティは、OutputDataType プロパティを Custom に設定した場合に適用されます。
使用法
説明
入力引数
データ入力。列ベクトルまたは行列として指定します。入力 x の長さは間引き係数の倍数でなければなりません。x のデータ型が double または single 精度である場合、y のデータ型は x のデータ型と同じになります。x のデータ型が固定小数点型の場合、y のデータ型は OutputDataType プロパティによって定義されます。
データ型が double または single の場合にのみ、入力は複数のチャネルを持つことができます。入力のデータ型は、double、single、符号付き整数、または符号付き固定小数点 (fi オブジェクト) にできます。
データ型: single | double | int8 | int16 | int32 | int64 | fi
複素数のサポート: あり
入力信号を周波数ダウン コンバートするために使用される発振器信号。列ベクトルまたは行列として指定します。この入力は複素数でなければなりません。z の長さは x の長さと等しくなければなりません。z は、double、single、符号付き整数、または符号付き固定小数点 (fi オブジェクト) にできます。
依存関係
この入力は、Oscillator プロパティを Input port に設定した場合に適用されます。
データ型: single | double | int8 | int16 | int32 | int64 | fi
複素数のサポート: あり
出力引数
ダウン コンバートおよびダウン サンプリングされた信号。列ベクトルまたは行列として返されます。y の長さは、x の長さを DecimationFactor で除算したものと等しくなります。x のデータ型が double または single 精度である場合、y のデータ型は x のデータ型と同じになります。x のデータ型が固定小数点型の場合、y のデータ型は OutputDataType プロパティによって定義されます。
データ型: single | double | int8 | int16 | int32 | int64 | fi
複素数のサポート: あり
オブジェクト関数
オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。
release(obj)
getDecimationFactors | デジタル ダウン コンバーターの各フィルター段の間引き係数の取得 |
getFilterOrders | Get orders of digital down converter or digital up converter filter cascade |
getFilters | Get handles to digital down converter or digital up converter filter cascade objects |
groupDelay | Group delay of digital down converter or digital up converter filter cascade |
visualize | Display response of digital down converter or digital up converter filter cascade |
filterAnalyzer | Analyze filters with Filter Analyzer app |
例
1 KHz の正弦波信号を係数 20 でアップ サンプリングして 50 KHz までアップ コンバートするデジタル アップ コンバーター オブジェクトを作成します。その信号を 0 Hz までダウン コンバートして係数 20 でダウン サンプリングするデジタル ダウン コンバーター オブジェクトを作成します。
1 KHz の正弦波信号をサンプル レート 6 Hz で取得する正弦波ジェネレーターを作成します。
Fs = 6e3; % Sample rate sine = dsp.SineWave(Frequency=1000,... SampleRate=Fs,... SamplesPerFrame=1024); x = sine(); % generate signal
DigitalUpConverter オブジェクトを作成します。最小次数フィルター設計を使用し、通過帯域リップルを 0.2 dB、阻止帯域の減衰量を 55 dB に設定します。信号の両側波帯域は 2 KHz に設定します。
upConv = dsp.DigitalUpConverter(... InterpolationFactor=20,... SampleRate=Fs,... Bandwidth=2e3,... StopbandAttenuation=55,... PassbandRipple=0.2,... CenterFrequency=50e3);
DigitalDownConverter オブジェクトを作成します。最小次数フィルター設計を使用し、通過帯域リップルを 0.2 dB、阻止帯域の減衰量を 55 dB に設定します。
dwnConv = dsp.DigitalDownConverter(... DecimationFactor=20,... SampleRate=Fs*20,... Bandwidth=3e3,... StopbandAttenuation=55,... PassbandRipple=0.2,... CenterFrequency=50e3);
アップ コンバート前、アップ コンバート後、ダウン コンバート後の信号スペクトルを可視化するスペクトル推定器を作成します。
window = hamming(floor(length(x)/10)); figure; pwelch(x,window,[],[],Fs,"centered") title("Spectrum of baseband signal x")

信号をアップ コンバートしてスペクトルを可視化します。
xUp = upConv(x); % up convert window = hamming(floor(length(xUp)/10)); figure; pwelch(xUp,window,[],[],20*Fs,"centered"); title("Spectrum of up converted signal xUp")

信号をダウン コンバートしてスペクトルを可視化します。
xDown = dwnConv(xUp); % down convert window = hamming(floor(length(xDown)/10)); figure; pwelch(xDown,window,[],[],Fs,"centered") title("Spectrum of down converted signal xDown")

間引きフィルターの応答を可視化します。
visualize(dwnConv)

dsp.DigitalDownConverter System object™ の各フィルター段の間引き係数を取得します。
既定の設定を使用して dsp.DigitalDownConverter System object を作成します。関数 getDecimationFactors を使用して、オブジェクトの各段の間引き係数を取得します。
dwnConv = dsp.DigitalDownConverter
dwnConv =
dsp.DigitalDownConverter with properties:
DecimationFactor: 100
MinimumOrderDesign: true
Bandwidth: 200000
StopbandFrequencySource: 'Auto'
PassbandRipple: 0.1000
StopbandAttenuation: 60
Oscillator: 'Sine wave'
CenterFrequency: 14000000
NormalizedFrequency: false
SampleRate: 30000000
Show all properties
M = getDecimationFactors(dwnConv) %#okM = 1×3
25 2 2
オブジェクトの DecimationFactor プロパティは 100 に設定されています。出力 M は既定では 1 行 3 列のベクトルです。ここで、ベクトル内の各要素は間引き係数全体の係数です。
DecimationFactor を 1 行 2 列のベクトルに設定した場合、オブジェクトは第 3 フィルター段をバイパスし、第 1 と第 2 のフィルター段の間引き係数をベクトルの 1 番目と 2 番目の要素の値にそれぞれ設定します。
dwnConv.DecimationFactor = [10 10]
dwnConv =
dsp.DigitalDownConverter with properties:
DecimationFactor: [10 10]
MinimumOrderDesign: true
Bandwidth: 200000
StopbandFrequencySource: 'Auto'
PassbandRipple: 0.1000
StopbandAttenuation: 60
Oscillator: 'Sine wave'
CenterFrequency: 14000000
NormalizedFrequency: false
SampleRate: 30000000
Show all properties
M = getDecimationFactors(dwnConv)
M = 1×2
10 10
関数 getDecimationFactors の出力は、1 行 2 列のベクトルになっています。
詳細
次のブロック線図は、符号付き固定小数点入力の DDC 演算を表しています。

WLは入力の語長で、FLは入力の小数部の長さです。各フィルターの入力は、フィルター入力データ型にキャストされます。
dsp.DigitalDownConverterオブジェクトでは、FiltersInputDataTypeプロパティとCustomFiltersInputDataTypeプロパティを使用してフィルター入力データ型を指定できます。Digital Down-Converter ブロックでは、[Stage input] パラメーターを使用してフィルター入力データ型を指定できます。発振器の出力は、入力の語長に 1 を加えた語長にキャストされます。小数部の長さは入力の語長から 1 を引いた値と等しくなります。
CIC 間引きの出力におけるスケーリングは、大まかなゲイン調整と細かなゲイン調整から成ります。CIC 間引きの出力では、関数
reinterpretcast(Fixed-Point Designer) を使用して大まかなゲインが達成されます。細かなゲインは完全精度の乗算を使用して達成されます。
次の図は、大まかなゲイン演算と細かなゲイン演算を示しています。

正規化ゲインを G (0<G≦1) とすると次のようになります。
WLcicは CIC 間引きの出力の語長で、FLcicは CIC 間引きの出力の小数部の長さ。F1 = abs(nextpow2(G))となり、ビット シフトを使用して達成された G の部分を示す (大まかなゲイン)。F2= フィルター入力データ型で指定された小数部の長さ。fg = fi((2^F1)*G, true, 16)となり、残りのゲインはビット シフトで達成できないことを示す (細かなゲイン)。
HDL コード生成をサポートするハードウェア最適化されたデジタル ダウンコンバーター アルゴリズムについては、Implement Digital Downconverter for FPGA (DSP HDL Toolbox)を参照してください。この例では、ハードウェアと親和性の高い valid 制御信号とリセット制御信号を備えた DSP HDL Toolbox™ ブロックを使用して、ハードウェアのレイテンシ動作を正確にモデル化します。この例の Simulink® モデルは、HDL Coder™ ツールによる HDL コード生成をサポートします。
DSP HDL Toolbox System object を使用して、MATLAB® で同じアルゴリズムをモデル化できます。
アルゴリズム
デジタル ダウン コンバーターは、指定された中心周波数をもつ複素指数で入力信号を乗算することにより、入力信号をダウンコンバートします。アルゴリズムは、3 つの間引きフィルターのカスケードを使用して、周波数ダウンコンバートされた信号をダウンサンプリングします。この場合、フィルター カスケードは CIC 間引き、CIC 補正、第 3 の FIR 間引き段で構成されます。次のブロック線図は、デジタル ダウン コンバーターのアーキテクチャを示しています。

スケーリング セクションは CIC のゲインと発振器の出力を正規化します。目的とするリップルの仕様を実現するための補正係数が含まれる場合もあります。入力端子で発振器信号を指定する場合、正規化係数には発振器の力率は含まれません。間引き係数の設定に応じて、ブロックは第 3 フィルター段をバイパスします。入力データ型が倍精度または単精度である場合、アルゴリズムは応答が N 個のボックスカー フィルターのカスケードに対応する N セクションの CIC 間引きフィルターを FIR フィルターとして実装します。アルゴリズムは、浮動小数点データでシミュレーションを実行できるように、CIC フィルターを FIR フィルターでエミュレートします。入力データ型が固定小数点の場合、アルゴリズムは実際の櫛形セクションと積分器セクションで構成される真の CIC フィルターを実装します。
次のブロック線図は、単精度または倍精度の浮動小数点入力の DDC 演算を表しています。

固定小数点演算の詳細については、固定小数点を参照してください。
拡張機能
使用上の注意および制限:
MATLAB コード生成における System object (MATLAB Coder)を参照してください。
このオブジェクトは、入力信号のデータ型が single または double である場合、Intel® AVX2 コード置換ライブラリを使用した SIMD コード生成もサポートします。
SIMD テクノロジーにより、生成コードのパフォーマンスが大幅に向上します。詳細については、SIMD コード生成を参照してください。このオブジェクトから SIMD コードを生成するには、Use Intel AVX2 Code Replacement Library to Generate SIMD Code from MATLAB Algorithmsを参照してください。
バージョン履歴
R2012a で導入R2025a 以降、Filter Design HDL Coder™ 製品の提供を終了します。そのため、このオブジェクトは、generatehdl 関数を使用した HDL コード生成をサポートしなくなります。HDL コード生成をサポートするハードウェア最適化されたデジタル ダウンコンバーター アルゴリズムについては、Implement Digital Downconverter for FPGA (DSP HDL Toolbox)を参照してください。DSP HDL Toolbox System object を使用して、MATLAB で同じアルゴリズムをモデル化できます。
visualizeFilterStages 関数の名前は visualize に変更されました。この関数の既存のインスタンスは引き続き実行できます。新しいインスタンスでは、visualize を使用してください。
visualize 関数は、デジタル ダウン コンバーター フィルター カスケードの振幅応答を表示する MATLAB Figure を起動するようになりました。
NormalizedFrequency プロパティを true に設定する場合は、帯域幅、阻止帯域周波数、および中心周波数を正規化周波数単位 (0 ~ 1) で指定しなければなりません。詳細については、NormalizedFrequency プロパティの説明を参照してください。
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)