bonsoir
voila j'ai fait un programme qui fait la compression d'un signal par FFT mais le problème est que je ne retrouve pas le signal original lorsque je fais la reconstruction.
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 clear all fe=300; f1=10; f2=60; f3=90; t=0:1/fe:1; x=2*sin(2*pi*t*f1)+10*sin(2*pi*t*f2)+ 20*sin(2*pi*t*f3); figure(1); plot(x) X=fft(x); z=abs(X); figure(2) ;plot(z) seuil=0.5; Xseuil=seuillage(z,seuil); w=ifft(Xseuil); figure(3) ; plot(abs(w)); k=fft(abs(w)); figure(4); plot(abs(k)) ------------------------------ %% function Xseuil=seuillage(z,seuil) %en entree: %z:les coefficients a seuiller %seuil: le seuil qu'on veut %en sortie %Xseuil: les coefficients seuillés Xseuil=z; u=find(abs(z)<seuil); Xseuil(u)=0;
Partager