Récupérer le signal d'un fichier son situé dans les démonstr

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
fouy
Messages: 3
Enregistré le: 15 Oct 2018, 19:39

Récupérer le signal d'un fichier son situé dans les démonstr

par fouy » 05 Déc 2018, 11:33

Tout d'abord, je travaille sur scilab 6.0.1 et l'exercice et l'exercice est comme suit:

Récupérer le signal d'un fichier son situé dans les démonstrations du logiciel Scilab:

y=loadwave("SCI/modules/sound/demos/chimes.wav")

Ce fichier <<.wav>> est stéréo. Vous ne prendrez que le canal 1 du signal sur 5512 points représentant 0.25 secondes d'enregistrement:

s=y(1,1:5512)

1.Dans une première fenêtre représenter le signal. Quelle a été la fréquence de l'échantillonnage
2.Effectuer sa transformée de Fourier et la représenter dans une deuxième fenêtre
3.Centrer la transformée Fourier sur 0 et la représenter dans une troisième fenêtre
4.Effectuer un filtrage grossier en éliminant les fréquences les plus hautes(en valeur absolue) en remplaçant leur valeur par zéros. Vous ne pourrez choisir vous-même plusieurs filtres passe bas ainsi constitués et les représenter dans des figures.
5.Faire une transformée de Fourier inverse des représentations en fréquence de la question 4 afin de reconstituer le signal sonore ainsi filtre. En faire les représentations
6.Faire un zoom numérique pour le spectre des fréquences de la question 3, a fin d’identifier au mieux les différents grands pics de fréquences présents dans le signal
7.Quelle est la fréquence minimale que nous pouvez détecter ainsi que la fréquence maximale?

J'ai deja trouvé les solutions pour les question 1-3:
CODE:
//question 1
scf(1)
y=loadwave("SCI/modules/sound/demos/chimes.wav")
s=y(1,1:5512);
t=linspace(0,0.25,5512);
plot(t,s);
xtitle("représentation du canal 1 du signal sur 5512 points","temp")
f=22048
disp(f);

//question 2
scf(2)
x=fft(s);
plot(abs(x));
xtitle("représentation de la transformée de Fourier du signal","temp")

//question 3
scf(3)
SN= zeros(5512);
tf=abs(fft(s));
tf2=tf(1:2756);
tf3=tf(2757:5512);
fr2=linspace(-2756,2756,5512);
SN(1:2756)=tf3;
SN(2757:5512)=tf2;
plot(fr2,SN)

j'ai vraiment des difficultés pour les prochains exercices si pouvez m'aider je vous remercierais beacoup



Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: Récupérer le signal d'un fichier son situé dans les démo

par fatal_error » 05 Déc 2018, 19:48

Hello,

si ton spectre de frequence à une gueule de type

Code: Tout sélectionner

   +          +
   |          |
   |          | ^
   |          | |
   |          | |
   |          | |
   |     ^    | |
   |     |    | |
   |     |    | | ^
   |  ^  |  ^ | | |
   |  |  |  | | | |
 +--------------------------+
  0+          +            f
             f_lim





arbitrairement, tu selectionnes f_lim
pour toutes les freq de ton signal.
si abs(freq) > f_lim alors tu mets 0
sinon tu mets 1

de fait, quand tu vas faire le produit scalaire
tonFft.*tonFiltre tu vas éliminer les fréquences hautes
la vie est une fête :)

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 9 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite