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:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Cela doit sûrement provenir du codage mais je ne trouve pas.
Merci d'avance.
Partager