Bonjour à tous,
je suis nouveau sur le forum mais j'aurai grandement besoin de votre aide. Dans le cadre de mes études, j'ai besoin de récupérer les deux premières fréquences principales d'un bout de signal de pression mesurée en fonction de l'angle vilebrequin que voici:
Pièce jointe 321546
Voici ci-dessous mon code pour la transformée de Fourier où EndSignal est la variable qui me permet de sélectionner qu'une partie du signal total qui m'intéresse.
Mon souci est que lors du tracé du spectre j'obtiens des fréquences trop faibles. Or je dois m'attendre normalement à au moins une première fréquence principale de 450 Hz environ (un autre logiciel, que je ne peux malheureusement pas utiliser ici, ainsi que la théorie me permettent de la connaître approximativement).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Fs=1000; % sampling frequency L=length(MeanPInj(a:EndSignal,1)); % length of the signal Y=fftshift(fft(detrend(MeanPInj(a:EndSignal,1))/L)); % fast Fourier transform - zero-centered signal FreqDomain=(-L/2:1:L/2-1)*Fs/L; % zero-centered frequency domain (x-axis) figure(3) subplot(2,1,1) plot(FreqDomain,abs(Y)) ylabel('Amplitude [bar]') title('|Y(FreqDomain)|') subplot(2,1,2) plot(FreqDomain,angle(Y)) title('phase of Y(FreqDomain)') xlabel('Frequency [Hz]') ylabel('Phase [rad/s or °]') grid on
Pièce jointe 321549
Cela doit sûrement provenir du codage mais je ne trouve pas.
Merci d'avance.