Bonjour,

Je viens de réaliser un script qui devrait me permettre de démoduler un signal modulé en amplitude en utilisant la fft.
Mais le problème est que sur un même signal, si j'utilise un script qui réalise une démodulation par détection de crêtes je n’obtient pas le même résultat. Même si je ne conserve la même largeur de bande avec les deux méthodes.

J'aimerais donc savoir si mon idée de démoduler mon signal en décalant la bande de fréquence présente autour de la fréquence de la porteuse vers les fréquences basse directement dans la fft de mon signal vous semble juste ? Dans un premier temps d'un point de vue théorique car j'ai peut-être seulement fait une erreur dans la réalisation de mon script .


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
 
function spectrum=PicDemod(ft,Fs,freq,winHz)
%ft : fft du signal a demoduler
% Fs : frequence d'echantillonnage du signal
% freq : frequence de la porteuse en Hz
%winHz :  largeur de bande en Hz
 
 close all;
figure;
L=length(ft);
k=L/Fs;
winPt=round(winHz*k);
Pt=freq*k;
 
 
spectrum=zeros(L,1);
spectrum(1)=ft(1); 
spectrum(2:winPt+1) = ft(Pt+1:Pt+winPt);
spectrum(L-winPt+1:L) = ft(L-Pt-winPt+2:L-Pt+1);
 
 
f=Fs/L*(0:L-1);
subplot(2,1,1);plot(f,abs(ft),'m');xlabel('Frequency (Hz)');
subplot(2,1,2);plot(f,abs(spectrum),'b');xlabel('Frequency (Hz)');
time=(0:L-1)/Fs;
figure;
plot(time,real(ifft(spectrum)));xlabel('Time (s)');
 
end