J'ai un signal sinusoidale sinx(x)= mon_singal et je veux calculer l'intregrale spectrale de ce signal.

Aussi j'ai calcule la transforme Fourier pour ce signal en utilisant la fonction dedie matlab fft.



Voila ce que contient mon fichier integrale_spectrale.m:

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
20
21
22
23
24
25
26
27
28
29
30
31
32
 
x=1:1:2*pi
mon_signal=sin(x) % j'ai defini un signal sinusoidale mais je suis interesse comment on peut definir aussi un signal "non-sinusoidale"
 
frequency_sample= 10000; % frequence echantions
n = length(mon_signal) ; % numero des echantions
% calculer la transforme Fourier pour le signal stoque dans mon_signal
signal_fft = fft(signal,n);
 
% normalisation du signal
 
%signal_fft = abs(signal_fft)/n ;
 
signal_fft = signal_fft/sqrt(n) ;  % ici c'est la normalisation
f=(1:n-1)/n*frequency_sample;
 
% Je suis bloque ici comment je peux calculer le spectre d'un signal donne a mon cas le signal est stoque dans la variable mon_signal (1ere question c'est ca)
 
freq = f(1:n/2) ; % ????????????????
%Spectre = voie1_fft(1:n/2)/2   % ????? ici je ne sais pas comment calculer le spectre d'un signal (1ere question)
 
% plot % puis je veux faire un plot du spectre obtenu (c'est ok comme ca?)
plot(freq,Spectre )
 
% calcul de l'integrale spectrale
 
Integr_spectre = sum(Spectre)
 
 
% l'energie du signal (RMS) c'est:
 
RMS = sqrt((1/n)*sum((mon_signal).^2));

Alors mes questions sont:

1) Comment puis-je calculer le spectre d'un signal donne (stoque dans la variable mon_signal a mon cas)?

2) Comment puis-je faire un plot du Integr_spectre (l'integrale spectrale) en fonction du RMS

C'est ca?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
plot(Integr_spectre, RMS)
3)

La troisieme question comment puis-je definir un signal non-sinusoidale dans la variable mon_signal ( un petit example d'un signal qui n'est pas sinusoidale stoque dans la variable mon_signal).

J'ai fais comme ca est ca marche:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
mon_signal=ones(1,100)