Issues with understanding and interpreting single dimension FFT
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
Greetings,
I am trying to get the FFT from a powermeter trace I acquired, but I seem to be doing it wrong and/or can't interpret the results.
My dataset is named Pm and has 720 points, separated by 10 seconds, for a total duration of 7200 seconds. I can provide the data vector if necessary, but it is just a simple vector.
Here are my questions.
- Why is the amplitude at 0Hz so high? I do not see this artefact in MATLAB's example of an FFT.
- Why is there an offset in the amplitude? I would expect the signal to hover around 0 in general.
- Based on visual inspection of the trace, I would expect a peak at around 0,0016Hz. I can see that there is a modulation of around 10 minutes in the trace.
Any help would be appreciated.
Here is the code I am using.
% This is to plot the data in units of time. I am using the following code from someone else to plot the moving average.
% The black curve is the moving average and the green points are the complete dataset.
figure
plot(Pm,'g.');
hold on;
plot(moving(Pm,7),'k');
legend('Pm','7pt moving mean')
xlabel('Temps / 10 (s)')
ylabel('P (mW)')

% This is the FFT part.
figure
Fs = 1/10; % Sampling frequency
T = 1/Fs; % Sampling period
L = length(Pm); % Length of signal
t = (0:L-1)*T; % Time vector
F = fft(Pm);
F2 = abs(F);
F3 = log(abs(F/length(Pm)));
P2 = abs(F/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs/L*(0:(L/2));
plot(f,P1);
xlabel("f (Hz)")
ylabel("|fft(Puissance)|")
figure
plot(Fs/L*(0:L-1),F3);
xlabel("f (Hz)")
ylabel("log[|fft(Puissance)|]")
% FFT plot

% Zoom in of the FFT plot

採用された回答
Star Strider
2024 年 9 月 24 日
編集済み: Star Strider
2024 年 9 月 24 日
It would help to have your data.
1 The 0 Hz value is high because that represents the mean of the time-domain signal. If you subtract the mean from the signal and then calculate the Fourier transform, the 0 Hz compionent goes to zero (or close to it). I do this routinely in order to avoid hiding the other peaks.
2. I’m not certain what you’re referring to.
3. I don’t have your signal. Subtracting the mean and then calculatting the Fourier transform could reveal the other ‘hidden’ peaks. Otherwise, witth a sampled siignal, the sampling introduces artifacts. These are less prominent at faster (higher) sampling frequencies, however essentially unavoidable. Also, windowing the signal could reveal more information, as could zero-padding it (using the length parameter) to increase the frequency resolution.
.
EDIT — (24 Sep 2024 at 18:31)
Note that the fft function assumes that the sampling intervals are regular and constant. If they aren’t, use the resample function to force them to be.
I usually use it as:
Fs = 1/mean(diff(t)); % Sampling Frequency, ‘t’ Is The Time Vector Corresponding To The Signal Samples
[sr,tr] = resample(s, t, Fs); % Return The Resampled Signal And Corresponding Time Vector
.
4 件のコメント
Greetings,
Thank you very much for your answer.
I have attached the whole file, which contains a few more things that you can simply overlook.
I did not want to type a 720 long vector in my original question.
As for question 2, I mean that the average of the FFT signal is around 0,08 in amplitude, never going towards 0. I take this as every frequency is contributing almost equally to the signal. Is this not strange, seeing how my data is not devoid of periodicity? I should see some peaks, with large plateaus in between weighing little.
Let me know if you can help me, I might be completely wrong in my approach.
You can save the vector as a .mat file, and then upload the .mat file (example provided of saving and loading it).
I substituted my ‘FFT1’ function here to calculate the Fourier transform. It is yours to use if you want to.
clear variables
clc
P = [ 1.777270e-02
1.919480e-02
1.937940e-02
1.900310e-02
1.978500e-02
1.868690e-02
1.942430e-02
1.811460e-02
1.880430e-02
1.716290e-02
1.704670e-02
1.798970e-02
1.804430e-02
1.826040e-02
1.617990e-02
1.641550e-02
1.597960e-02
1.581880e-02
1.799090e-02
1.815640e-02
1.636090e-02
1.500410e-02
1.697110e-02
1.679200e-02
1.700500e-02
1.660820e-02
1.760210e-02
1.735110e-02
1.622430e-02
1.609500e-02
1.606730e-02
1.363800e-02
1.591190e-02
1.471970e-02
1.270900e-02
1.648413e-02
1.626519e-02
1.693698e-02
1.586812e-02
1.692085e-02
1.738400e-02
1.734704e-02
1.776534e-02
1.784294e-02
1.626901e-02
1.878797e-02
1.680066e-02
1.756710e-02
1.746410e-02
1.789992e-02
1.664676e-02
1.729096e-02
1.620132e-02
1.778258e-02
1.724837e-02
1.778334e-02
1.702882e-02
1.656365e-02
1.712925e-02
1.570174e-02
1.584232e-02
1.578238e-02
1.438798e-02
1.584858e-02
1.503978e-02
1.627495e-02
1.621823e-02
1.639801e-02
1.495664e-02
1.640816e-02
1.604574e-02
1.547151e-02
1.718650e-02
1.636993e-02
1.541611e-02
1.573796e-02
1.703588e-02
1.611078e-02
1.701162e-02
1.699075e-02
1.547257e-02
1.587824e-02
1.554051e-02
1.627521e-02
1.585496e-02
1.788353e-02
1.779565e-02
1.436781e-02
1.693178e-02
1.644162e-02
1.788493e-02
1.773638e-02
1.847953e-02
1.806266e-02
1.704432e-02
1.720648e-02
1.798578e-02
1.763900e-02
1.792828e-02
1.801249e-02
1.716554e-02
1.738399e-02
1.901783e-02
1.818202e-02
1.811920e-02
1.859652e-02
1.587322e-02
1.719671e-02
1.510414e-02
1.641984e-02
1.620884e-02
1.667761e-02
1.683999e-02
1.715407e-02
1.668611e-02
1.655130e-02
1.579200e-02
1.433498e-02
1.645956e-02
1.661054e-02
1.683441e-02
1.771308e-02
1.705342e-02
1.621515e-02
1.625381e-02
1.703101e-02
1.685930e-02
1.793801e-02
1.719603e-02
1.757812e-02
1.737790e-02
1.775327e-02
1.628050e-02
1.860320e-02
1.860390e-02
1.925650e-02
1.784180e-02
1.971240e-02
1.819010e-02
1.955050e-02
1.845650e-02
1.825540e-02
1.983080e-02
1.894570e-02
1.677750e-02
1.951130e-02
2.035750e-02
1.776090e-02
1.772760e-02
1.846730e-02
1.817680e-02
1.868930e-02
1.826200e-02
1.769770e-02
1.778110e-02
1.883730e-02
1.796640e-02
1.935250e-02
1.947590e-02
1.822830e-02
1.522070e-02
1.926370e-02
1.676780e-02
1.819440e-02
1.832030e-02
1.874020e-02
1.849060e-02
1.870220e-02
1.675930e-02
1.812610e-02
1.840490e-02
1.869960e-02
1.757640e-02
1.661930e-02
1.701610e-02
1.801160e-02
1.919790e-02
1.795310e-02
1.738250e-02
1.845150e-02
1.848190e-02
1.686650e-02
1.801390e-02
1.844380e-02
1.834340e-02
1.851280e-02
1.896870e-02
1.797830e-02
1.885780e-02
1.918870e-02
1.926610e-02
1.885710e-02
1.902170e-02
1.905820e-02
2.032320e-02
1.953510e-02
1.937160e-02
2.005150e-02
1.987140e-02
1.989510e-02
1.853190e-02
1.850970e-02
1.942590e-02
1.912240e-02
1.677190e-02
1.711190e-02
1.800840e-02
1.948300e-02
1.983620e-02
1.861190e-02
1.996500e-02
1.876660e-02
1.833110e-02
1.896870e-02
1.855610e-02
1.797050e-02
1.836850e-02
1.773730e-02
1.724780e-02
1.895690e-02
1.781450e-02
1.757760e-02
1.813320e-02
1.670160e-02
1.897590e-02
1.671070e-02
1.467120e-02
1.613510e-02
1.754210e-02
1.577890e-02
1.759610e-02
1.794760e-02
1.736040e-02
1.612870e-02
1.571900e-02
1.584860e-02
1.787930e-02
1.683820e-02
1.814820e-02
1.846050e-02
1.606580e-02
1.752870e-02
1.770750e-02
1.756980e-02
1.868130e-02
1.770520e-02
1.648100e-02
1.797900e-02
1.787240e-02
1.552600e-02
1.835980e-02
1.871820e-02
1.920120e-02
1.906630e-02
1.876010e-02
1.773950e-02
1.853000e-02
1.912710e-02
1.771030e-02
1.983370e-02
1.879480e-02
1.855790e-02
1.680490e-02
1.706350e-02
1.754970e-02
1.650590e-02
1.917680e-02
1.733760e-02
1.837650e-02
1.841790e-02
1.508080e-02
1.728100e-02
1.678400e-02
1.633040e-02
1.655350e-02
1.672990e-02
1.487660e-02
1.636450e-02
1.628030e-02
1.669020e-02
1.684620e-02
1.578300e-02
1.822300e-02
1.715720e-02
1.729970e-02
1.596890e-02
1.729490e-02
1.690940e-02
1.610310e-02
1.627360e-02
1.705720e-02
1.618550e-02
1.813210e-02
1.589690e-02
1.705320e-02
1.794990e-02
1.664840e-02
1.717010e-02
1.818000e-02
1.893990e-02
1.888510e-02
1.796560e-02
1.815550e-02
1.734350e-02
1.826120e-02
1.905420e-02
1.959410e-02
1.882610e-02
1.756680e-02
1.791160e-02
1.868560e-02
1.841870e-02
1.887690e-02
1.851960e-02
1.859880e-02
1.900410e-02
1.896200e-02
1.910060e-02
1.948500e-02
1.910770e-02
1.696270e-02
1.843960e-02
1.831740e-02
1.838280e-02
1.706110e-02
1.900980e-02
1.767530e-02
1.969020e-02
2.007430e-02
1.856230e-02
2.022130e-02
1.838400e-02
1.881850e-02
1.749350e-02
1.978300e-02
1.888180e-02
1.826840e-02
1.930860e-02
1.812060e-02
1.874720e-02
1.618150e-02
1.829180e-02
1.843290e-02
1.570900e-02
1.792930e-02
1.623560e-02
1.829120e-02
1.627700e-02
1.777040e-02
1.650260e-02
1.757720e-02
1.860980e-02
1.817630e-02
1.884060e-02
1.719680e-02
1.531710e-02
1.792560e-02
1.765530e-02
1.726440e-02
1.767550e-02
1.708550e-02
1.733010e-02
1.535760e-02
1.793150e-02
1.772740e-02
1.661500e-02
1.809600e-02
1.790680e-02
1.807910e-02
1.667320e-02
1.673680e-02
1.763890e-02
1.948480e-02
1.801480e-02
1.807610e-02
1.683090e-02
1.811190e-02
1.789040e-02
1.808660e-02
1.861540e-02
1.771350e-02
1.944090e-02
1.913490e-02
1.898910e-02
1.872390e-02
1.905990e-02
1.846430e-02
2.008740e-02
1.731130e-02
1.742140e-02
1.864880e-02
1.903700e-02
1.705590e-02
1.823110e-02
1.856420e-02
1.889220e-02
1.977790e-02
1.937880e-02
1.800470e-02
1.843970e-02
1.809660e-02
1.769900e-02
1.910170e-02
1.843190e-02
1.732310e-02
1.965850e-02
1.986440e-02
1.970670e-02
2.025200e-02
1.938740e-02
1.789940e-02
1.867010e-02
1.976920e-02
1.941470e-02
1.807000e-02
1.778180e-02
1.760520e-02
1.848660e-02
1.842240e-02
1.889880e-02
1.842600e-02
1.480620e-02
1.694480e-02
1.878240e-02
1.798940e-02
1.776750e-02
1.913180e-02
1.867530e-02
1.688920e-02
1.821910e-02
1.838040e-02
1.766560e-02
1.817180e-02
1.598260e-02
1.680700e-02
1.719650e-02
1.782660e-02
1.826350e-02
1.817510e-02
1.764040e-02
1.787170e-02
1.936980e-02
1.889670e-02
1.788480e-02
1.843420e-02
1.662480e-02
1.649970e-02
1.692800e-02
1.861560e-02
1.844750e-02
1.835250e-02
1.678410e-02
1.870880e-02
1.855240e-02
1.643390e-02
1.907070e-02
1.891650e-02
1.955780e-02
1.652660e-02
1.827510e-02
1.737750e-02
1.840930e-02
1.932060e-02
1.752080e-02
1.811680e-02
1.929990e-02
1.883460e-02
1.836210e-02
1.870570e-02
1.849730e-02
1.855150e-02
1.762540e-02
1.891510e-02
1.984870e-02
1.909950e-02
1.893770e-02
1.742890e-02
1.901330e-02
1.965400e-02
1.963110e-02
1.900560e-02
1.849550e-02
1.978510e-02
1.938590e-02
1.882470e-02
1.874810e-02
2.012130e-02
2.070230e-02
1.950260e-02
2.046640e-02
1.880170e-02
1.910240e-02
1.944460e-02
1.883410e-02
1.991670e-02
1.913310e-02
1.839360e-02
1.823020e-02
1.903450e-02
1.924540e-02
1.944630e-02
1.790060e-02
1.716060e-02
1.921890e-02
1.787610e-02
1.885310e-02
1.754610e-02
1.887780e-02
1.609910e-02
1.472270e-02
1.835280e-02
1.757160e-02
1.885220e-02
1.513460e-02
1.805570e-02
1.735050e-02
1.704580e-02
1.724790e-02
1.678520e-02
1.668810e-02
1.775090e-02
1.919630e-02
1.861510e-02
1.737130e-02
1.818860e-02
1.778640e-02
1.700660e-02
1.737330e-02
1.895040e-02
1.868200e-02
1.891750e-02
1.823550e-02
1.888380e-02
1.702120e-02
1.846610e-02
1.856890e-02
1.876150e-02
1.760150e-02
1.825140e-02
1.933940e-02
1.667030e-02
1.893410e-02
1.921170e-02
1.686860e-02
1.659680e-02
1.846950e-02
1.758840e-02
1.830290e-02
1.936890e-02
1.841950e-02
1.892660e-02
1.996480e-02
1.805490e-02
1.858670e-02
1.846340e-02
1.971850e-02
1.843740e-02
1.865780e-02
1.816140e-02
1.908790e-02
1.877050e-02
1.969860e-02
1.834900e-02
1.872440e-02
1.848320e-02
1.804490e-02
1.789380e-02
1.767620e-02
1.921010e-02
1.855830e-02
1.986510e-02
2.038270e-02
1.942800e-02
1.892510e-02
1.996130e-02
1.948940e-02
1.920230e-02
1.922350e-02
2.026870e-02
1.960160e-02
1.949230e-02
2.004780e-02
1.966010e-02
2.053400e-02
1.940670e-02
2.046970e-02
1.998420e-02
1.896940e-02
2.059080e-02
2.064010e-02
2.017340e-02
2.053500e-02
2.025000e-02
1.947030e-02
2.022680e-02
2.037180e-02
1.999530e-02
1.839140e-02
2.019290e-02
2.013210e-02
2.031450e-02
2.086870e-02
1.928550e-02
1.995130e-02
2.079890e-02
2.095280e-02
1.998270e-02
1.941790e-02
2.051170e-02
2.041450e-02
1.984770e-02
1.917940e-02
1.847750e-02
2.006820e-02
1.962230e-02
2.008660e-02
1.791370e-02
1.912380e-02
1.855430e-02
2.007680e-02
1.903120e-02
1.884500e-02
1.971500e-02
1.913430e-02
1.780920e-02
1.809210e-02
1.796720e-02
1.886600e-02
1.871170e-02
1.753500e-02
1.767060e-02
1.744390e-02
1.885190e-02
1.686580e-02
1.826910e-02
1.746180e-02
1.735830e-02
1.955730e-02
1.776490e-02
1.754070e-02
1.885510e-02
1.883280e-02
1.788970e-02
1.797140e-02
1.912240e-02
1.654300e-02
1.823670e-02
1.756590e-02
1.704290e-02
1.744600e-02
1.885190e-02
1.645960e-02
1.726330e-02
1.829290e-02
1.782410e-02
1.882530e-02
1.878380e-02
1.645170e-02
1.803660e-02
1.833980e-02
1.799910e-02
1.770050e-02
1.861430e-02
1.874550e-02
2.009480e-02
1.875930e-02
1.858640e-02
1.685380e-02
1.969770e-02
1.880960e-02
1.994530e-02
1.918540e-02
1.902690e-02
1.995370e-02
1.871610e-02
1.832180e-02
1.842090e-02
2.051100e-02
1.878820e-02
1.933690e-02
1.957130e-02
2.000150e-02
1.981200e-02
1.978850e-02
2.003910e-02
2.002380e-02
1.958500e-02
1.982520e-02
1.915220e-02
1.948880e-02
1.969180e-02
2.050900e-02
2.122110e-02
2.005730e-02
2.008850e-02
1.958440e-02
1.905260e-02
2.010110e-02
2.007470e-02
1.981710e-02
2.022160e-02
2.036260e-02
1.989770e-02
2.039120e-02
1.976400e-02
1.818130e-02
1.865480e-02
1.879840e-02
1.746580e-02
1.945230e-02
1.829030e-02
1.971430e-02
2.008810e-02
1.978920e-02
1.728390e-02
1.926720e-02
1.849960e-02
1.917510e-02
1.999730e-02
1.928220e-02];
Fs = 1/10;
T = linspace(0, numel(P)-1, numel(P)).'/Fs;
save('P_vector.mat','P', 'T') % Save Vecotyrs To ‘P_vector.mat’
LD = load('P_vector')
LD = struct with fields:
P: [720x1 double]
T: [720x1 double]
P = LD.P; % ‘P’
t = LD.T; % 'T'
Pm = P*1000;
Q = quantile(P,4,1);
STD = zeros(1,1);
RANGE = zeros(1,1);
MEAN = zeros(1,1);
COV = zeros(1,1);
for i = 1:1
STD(i) = std(P(:,i));
RANGE(i) = max(P(:,i))-min(P(:,i));
MEAN(i) = mean(P(:,i));
COV(i) = 100*STD(i)/MEAN(i);
end
figure
boxplot(Pm,'Labels',{'45'})
title('Dépendance thermale de la quatrième harmonique')
xlabel('Angle (°)')
ylabel('P (mW)')

figure
plot(Pm,'g.');
hold on;
plot(movmedian(Pm,7),'k'); % Corrected
hold off
legend('Pm','7pt moving mean')
xlabel('Temps / 10 (s)')
ylabel('P (mW)')

% % figure
% % Fs = 1/10; % Sampling frequency
% % T = 1/Fs; % Sampling period
% % L = length(Pm); % Length of signal
% % t = (0:L-1)*T; % Time vector
% % F = fft(Pm);
% % F2 = abs(F);
% % F3 = log(abs(F/length(Pm)));
% To find the amplitudes of the three frequency peaks, convert the
% fft spectrum in Y to the single-sided amplitude spectrum. Because
% the fft function includes a scaling factor L between the original
% and the transformed signals, rescale Y by dividing by L. Take the
% complex magnitude of the fft spectrum. The two-sided amplitude
% spectrum P2, where the spectrum in the positive frequencies is
% the complex conjugate of the spectrum in the negative frequencies,
% has half the peak amplitudes of the time-domain signal. To convert
% to the single-sided spectrum, take the first half of the two-sided
% spectrum P2. Multiply the spectrum in the positive frequencies by 2.
% You do not need to multiply P1(1) and P1(end) by 2 because these
% amplitudes correspond to the zero and Nyquist frequencies, respectively,
% and they do not have the complex conjugate pairs in the negative frequencies.
% % P2 = abs(F/L);
% % P1 = P2(1:L/2+1);
% % P1(2:end-1) = 2*P1(2:end-1);
% % f = Fs/L*(0:(L/2));
[P1,Fv] = FFT1(P,T);
[pks,locs] = findpeaks(abs(P1)*2, 'MinPeakProminence', 1.75E-4);
figure
% plot(f,P1);
plot(Fv, abs(P1)*2)
grid
xlabel("f (Hz)")
ylabel("|fft(Puissance)|")
ylim([min(ylim) max(ylim)*1.25])
xlim('padded')
text(Fv(locs), pks, compose('\\leftarrow Magnitude: %.6f\n Frequency: %.4f', [pks Fv(locs)]), 'Rotation',20)

figure
semilogy(Fv, abs((P1))*2);
grid
xlabel("f (Hz)")
ylabel("log[|fft(Puissance)|]")
text(Fv(locs), pks, compose('\\leftarrow Magnitude: %.6f\n Frequency: %.4f', [pks Fv(locs)]), 'Rotation',20)

% for i = 1:size(Pm)
% Pa(i) = mean(Pm(i-3):Pm(i+3))
% if arg(Pm(i-3)) < 0
% P
% elseif arg(Pa) > 0
% figure
% plot(T,STD)
% title('Dépendance thermale de la quatrième harmonique')
% xlabel('T (°C)')
% ylabel('STD (W)')
%
% figure
% plot(T,COV)
% title('Dépendance thermale de la quatrième harmonique')
% xlabel('T (°C)')
% ylabel('CoV (%)')
%
% figure
% plot(T,MEAN)
% title('Dépendance thermale de la quatrième harmonique')
% xlabel('T (°C)')
% ylabel('MEAN (W)')
%plot(T,P)
%legend ('')
%title('Dépendance thermale de la quatrième harmonique')
%xlabel('T (°C)')
%ylabel('P (mw)')
function [FTs1,Fv] = FFT1(s,t)
% Arguments:
% s: Signal Vector Or Matrix
% t: Associated Time Vector
t = t(:);
L = numel(t);
if size(s,2) == L
s = s.';
end
Fs = 1/mean(diff(t));
Fn = Fs/2;
NFFT = 2^nextpow2(L);
FTs = fft((s - mean(s)) .* hann(L).*ones(1,size(s,2)), NFFT)/sum(hann(L));
Fv = Fs*(0:(NFFT/2))/NFFT;
% Fv = linspace(0, 1, NFFT/2+1)*Fn;
Iv = 1:numel(Fv);
Fv = Fv(:);
FTs1 = FTs(Iv,:);
end
The frequency peak at 0.0165 Hz is clearly visible, as are some others. (I use the findpeaks function here to make locating them easier.)
.
Greetings,
Thank you very much for your answer. I will take the time to read your modified code for the FFT.
If I understand correctly, I was basically doing it fine, but your code diminished the artefact at 0Hz, making it easier to visualize.
I think I see what you mean that substracting the mean is what fixes this issue. Is this therefore a standard procedure for signal processing?
You mentioned two things in your original answer, windowing and zero padding (using the length parameter). What are those?
- For windowing, do you mean doing the FFT on the moving average data (my black curve) instead of the original data? I am definitely going to do that, as the trend is more obvious there.
- For zero padding, I would just add zeroes at the end of my vector, and recalculate the FFT?
Again, thank you very much.
My pleasure!
‘Is this therefore a standard procedure for signal processing?’
I am not certain that it is standard, although it is definitely recommended, for the reason I stated.
- No. In my ‘FFT1’ function, I use the hann window. The purpose of windowing is to correct for the fft being finite, instead of infinite as is the formal definition of the Fourier transform. Windowing produces a better and more representative spectrum result.
- That is one option. Here, I use the second argument to speciify the length of the fft. Making it a power-of-2 makes the fft calculation more efficient.
My pleasure!
.
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Fourier Analysis and Filtering についてさらに検索
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!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)
