Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB > Signal
Signal Forum d'entraide sur le traitement du signal en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/12/2011, 23h09   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2009
Messages : 138
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 138
Points : 10
Points : 10
Par défaut Filtrage d'un son wav

bonjour

S'il vous plait je créé un filtre butter
Code :
[B,A]=butter(20,0.6,'high');
ensuite je lis un fichier .wav
Code :
[elise,fs]=wavread('Elise.wav');
je créé un signal Blanc
je filtre le signal
si j'ajoute le bruit filtré
j'ai cette erreur
Code :
1
2
3
4
5
??? Error using ==> plus
Matrix dimensions must agree.

Error in ==> sigBruite at 30
c=y+elise;
j'ai meme augmenté l'ordre du filtre ça ne resoud pas le problème

s'il vous plait comment y remedier

Merci
patricx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 23h21   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 829
Points : 6 829
Bonjour,

Citation:
Envoyé par patricx Voir le message
comment y remedier
Simplement en regardant plus précisément l'emploi des fonctions que tu utilises:
Citation:
Envoyé par doc filter
y = filter(b,a,X) filters the data in vector X with the filter described by numerator coefficient vector b and denominator coefficient vector a. If a(1) is not equal to 1, filter normalizes the filter coefficients by a(1). If a(1) equals 0, filter returns an error.
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 07h28   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2009
Messages : 138
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 138
Points : 10
Points : 10
Merci

j'ai plus d'erreur liée au taille des matrices

mais j'ai ces warnings

Code :
1
2
3
4
5
6
Warning: Data clipped during write to file:musique.wav 
> In wavwrite>PCM_Quantize at 287
  In wavwrite>write_wavedat at 309
  In wavwrite at 138
  In sigBruite at 36
>>
et à la fin mon son a quand meme un un arrière son

mon code
Code :
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
33
34
35
36
37
38
%Exercice3 Signal  bruité
function []= sigBruite()

%filtre passe-haut de type Butterworth en utilisant la fonction butter
[B,A]=butter(20,0.6,'high');

%Representation de la réponse en  frequence
[h1,w1]=freqz(B,A,512);
plot(w1/pi,abs(h1));

hold on;

%filtre passe-bas de type Butterworth en utilisant la fonction butter
[C,D]=butter(20,0.6,'low');

%Representation de la   réponse en  frequence
[h2,w2]=freqz(C,D,512);
plot(w2/pi,abs(h2));

% Lecture  du  fichier Elise.wav
[elise,fs]=wavread('Elise.wav');

%signal(bruit) Blanc de meme taille qu'elise
sb=rand(size(elise));

% Filtre du signal bruité  à  partir du  filtre passe  haut 
y=filter(B,A,sb);

%Ajout du signal  blanc filtré au  son  Elise 
c=y+elise;

% Filtre du son Elise bruité  à  partir du  filtre passe bas 
fpbs=filter(C,D,c);

%Ecriture du signal  filtré
wavwrite(fpbs,fs-1,'musique.wav')
%a=size(y)
%b=size(elise)
Merci
patricx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 12h45   #4
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 915
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 915
Points : 15 889
Points : 15 889
Une simple recherche => http://www.developpez.net/forums/d94...e/#post5312351
__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h10.


 
 
 
 
Partenaires

Hébergement Web