Gabou de l aide!;)
- 91 réponses
- 12 participants
- 7 263 vues
- 1 follower
Coccinelle prod'
Et il se trouve que je suis en premiere S et avec un pote(Renzi en l occureence) on doit faire un TPE physique math
bon on se dirige vers la compression sonore(par ex le format mp3)
est ce que vite fai tu peux me dire deux mots sur son principe de fonctionnement? Des algos? T as des formules?
je sais je n demande ptetre trop mais bon si tu est calé autant nous apprendre des choses hein
Merci d avance
Pov Gabou
Le principe du MPEG-1 en audio ( MP3 est le layer 3 du MPEG 1, en fait ), est relativement "simple" : on entend pas toutes les fréquences "pareil", et des fois, il y a des trucs encodés en PCM qui servent à rien ( PCM : codage de l'amplitude en fonction du temps, c'est le codage numérique le plus simple, celui du CD entre autre).
En effet, on sait qu'il existe ce que l'on appelle le masquage fréquentiel : un bruit qui passe en même temps qu'une sinusoide peut recouvrivre la sinusoide, et la rendre inaudible.
L'autre idée importante : quand tu encodes un échantillon à disons 16 bits, cela fixe le niveau de bruit de quantification ( grosso modo, c'est le bruit dû au fait que l'amplitude est encodée pour des valeurs discrètes : c'est le processus de quantification. Par exemple, si tu encodes en 4 bits, ça te fait 2^4 = 16 valeurs possibles différentes, donc toutes les valeurs ne peuvent pas être représentées. L'erreur entre l'amplitude original et celle après quantification est appelée erreur de quantification). Plus il y a de bits, plus le rapport signal à bruit de quantification est important (donc mieux c'est, car t'as moins de chances d'entendre ce bruit de quantification).
L'idée de base du codage audio avec pertes : appliquer un modèle psychoacoustique de telle manière à optimiser le nombre de bits pour la quantification, en detectant pour quel nombre de bits minimal il peut être caché par le signal original. Comme ça, au lieu d'utiliser 16 bits, certains passages peuvent nécessiter seulement 7 ou 8 bits, sans que la différence soit audible.
Je sais pas si c'est très clair, c'ets pas évident à expliquer en qqs lignes quand tu as aucune notion de traitement du signal numérique.
Les trucs sur lesquels tu devrais te renseigner :
- fonctionnement de l'oreille. Il y a un bouquin qui est excellent, écrit par John Pierce, et qui est tout à fait abordable au lycée avec de la motivation, que j'avais trouvé à la fnac.
http://www.amazon.fr/exec/obidos/ASIN/284245037X/qid%3D1064688314/402-6615018-3969709
- savoir un peu ce qu'est le signal numérique, le codage PCM
- savoir un peu ce qu'est une fréquence, et la transformée de Fourier ( essaye de capter un bouquin de terminale, si c'est encore au programme. Il y a 6 ans, ça y était
Avec ça, après, tu peux faire un petit truc pour expliquer comment marche un peu le MP3, sans être obligé de sortir des formules (sinon, en première, c'est un peu chaud à mon avis, à moins que tu sois vraiment super motivé).
Coccinelle prod'
si on est hyper motivé donc a la rigueur les formules si t en connait ca me permettrai de voir quelles connaissances il me faudrait
Pov Gabou
Il y a aussi tout ce qui est autour du codage sans pertes à la fin, type codage de huffman ( c'est le principe de base utilisé dans les .zip, .rar et cie), là aussi la théorie est balaise (theorie de l'information, statistiques, là, c'est carrément des maths niveau maîtrise
Coccinelle prod'
allez on commence mardi le TPE hiha
Anonyme
en fait on hésite entre faire un truc bien à fond sur la compression sonore, ou un truc plus général sur la compression numérique
en tout cas merci gabou, on va pouvoir s'occuper
Anonyme
donc c t pour te demande ce qu'etait l'algorythme de hoffman en gros ?
Fuyuhiko
... niveau euh 2 ? 3 ?
I'm Back
Coccinelle prod'
c quoi ton alerte la Fuyu a pas compris
Coccinelle prod'
Fuyuhiko
Sinon, tu sais qu'on a prévu un 4è apéro, va voir le lien dans le pub si tu veux ...
I'm Back
Coccinelle prod'
C quand l apero je veux venir!!!!
Pov Gabou
Citation :
donc c t pour te demande ce qu'etait l'algorythme de hoffman en gros ?
On écrit algorithme, pour commencer ;)
Très schématiquement, par un exemple. Tu sais peut être que la plupart des fichiers textes sont encodés sur un octet=8bits, c'est le format ASCII (le format ASCII original était sur 7 bits, mais là n'est pas le propos de toute façon). Chaque caractère (2 puissance 8 = 256 caractères max différents) correspond à un numéro, par exemple 32 pour le caractère espace.
Au niveau encombrement mémoire, c'est crétin, et voilà pourquoi : chaque caractètre recquiert 8 bits pour être encodé, mais tous les caractères ne sont pas équiprobables. Par exemple, en français, il y a des chances pour qu'il y ait plus souvent de fois e que x dans un texte. L'idée d'Huffman, dans cet exemple, est la suivante : tu codes les caractères les plus courants sur le plus petit nombre de bits possible (par exemple 1 bit pour e, 2 bits pour a et i, etc...), et du coup, ça prend beaucoup moins de place. Le zip, rar, etc..., très basiquement, ça marche comme ça : on cherche mes caractères les plus courants, on construit une table d'équivalence, et on code.
C'est pour ça qu'encoder un wav en rar ou en zip, ça marche pas génial en général : tous les symboles (ici, ce sont plus les caractères, mais les valeurs d'amplitude en fonction du temps) sont plus ou moins équiprobables (on a pas encore trouvé de loi de probabilité de la musique ;) ).
Un truc important à savoir : c'est pas toujours évident que le truc obtenu soit plus petit que l'original. D'ailleurs, tu peux le montrer par l'absurde : si c'était le cas, tu pourrais recompresser un truc déjà compressé, et ce à l'infini, et donc obtenir un fichier de taille nulle à la fin...
Théoriquement, on peut construire une borne (i.e. une limite) inférieure à la performance de tout codage, liée à ce que l'on appelle l'entropie. Là, ça devient compliqué, c'est un des principes fondamentaux découvert par Shanon et qui a permis l'éclatement du numérique, au moins d'un point de vue fondamental et théorique. Bref, tout codage est forcément plus gros que la limite donnée par Shanon (c'est un théorème). Et le codage de Hufmman est "presque optimal" ( c'est à dire est presque égale à la limite, donc au meilleur codage possible), à 1 bit près. En fait, tu es sûr que le codage de Huffman est au pire 1 bit par symbole (un symbole, dans mon exemple, c'est un caractère) plus gros que ce que tu peux faire de mieux. On connaît pas de meilleur codage à ma connaissance (le fait que ce soit possible ne veut pas dire que l'on sache en construire un; comme souvent en maths, on peut montrer qu'un truc existe sans le "montrer" ou savoir à quoi "ça ressemble"; c'est ce qu'on appelle un théorème non constructif, qui fait d'ailleurs à mon goût toute la beauté des maths, et qui fait dire que les maths ne servent à rien).
Fuyuhiko
Hors sujet :
Désolé de venir parler de ça sur un thread sérieux, RB inscris-toi d'abord et suis ce thread, on essaie de recenser tous les Afiens du coin et de la région ...
I'm Back
Anonyme
j'ai encore des questions ( de toute faocn je crois que ca sera pas la derniere )
Le codage différentiel (DPCM, ADPCM, ADM) ?
donc si j'ai bien compris le codage PCM ca encode les echantillons et le codage différentiel ca encode les différences entre les échantillons, c ca ?
pour le mp3, on utilise un codage PCM c bien ca ?
merci encore
Anonyme
Coccinelle prod'
Citation : http://www.essi.fr/~leroux/presentationfourier/presentationfourier.html#4
heu tu serais pas nous expliquer cette équation? parce que meme notre prof a du,mal!!!
Merci d avance Gabou
putain je sais pas si on va pas changert de sujet tellement c cho
Anonyme
Pov Gabou
Citation :
Le codage différentiel (DPCM, ADPCM, ADM) ?
donc si j'ai bien compris le codage PCM ca encode les echantillons et le codage différentiel ca encode les différences entre les échantillons, c ca ?
C'est à peu près ça. L'idée, c'est que coder sur 16 ou 24 bits est très dur, par contre, échantillonner à des fréquences importantes, on sait faire (le temps à toujours été le truc que l'on mesurait le mieux). Donc coder les différence à plusieurs mhz, sur qqs bits voire un seul, c'est censé être plis facile. En pratique, ça pose d'autres problèmes.
Citation :
pour le mp3, on utilise un codage PCM c bien ca ?
Non, le MP3 est un codage totalement différent. En général, il part d'un truc encodé en PCM, mais on peut très bien imaginer de partir d'un truc ADCPM, je pense.
Citation :
http://www.essi.fr/~leroux/presentationfourier/presentationfourier.html#4
Bon, on va essayer de faire simple. Fourier a étudié la transformation de Fourier (TF en abrégé) pour résoudre l'équation de la chaleur, qui est montré sur ton lien. En physique, la plupart des problèmes peuvent être résumés en équations dites différentielles.
A priori, tu sais ce qu'est une dérivée. Tu sais aussi normalement que si x(t) représente le mouvement d'un point dans l'espace, la dérivée de x par rapport au temps, c'est la vitesse instantanée. Les principes généraux de physique, que ce soit en physique mécanique, en physique electro magnétique, en physique quantique, sont tous des trucs qui se ramènent souvent à des équations qui relient entre elles des fonctions et leur dérivée.
On sait résoudre toutes les équations différentielles simples : une seule inconnue, la fonction ne dépend que d'un paramètre, et "linéaire", c'est à dire que si y est la fonction inconnue, il ne traîne pas des y^2 quelque part, ou des sin(y). Si on note y' la dérivée première, etc... les seuls equa diff que l'on sait résoudre, c'est de ce style là
y + a*y' = 0 avec a une constante.
L'équation différentielle que t'as sur ton lien est dite aux dérivées partielles. C'est à dire que la fonction incconnu n'a pas une mais plusieurs variables (ici le temps, x et y qui représentent les coordonnées dans un plan : ça décrit par exemple la température d'une plaque fine en fonction du temps et de la position).
Et là, pas de bol, il y a aucune méthode connue pour résoudre ça de manière systématique. Chaque fois qu'il y a une nouvelle forme qui apparaît, t'as une bonne thèse de maths voire plus pour tenter de voir la gueule de la solution (en général, faut pas se voiler, t'auras jamais la solution. Par contre, tu arriveras à savoir à peu près si la solution a une "bonne geule", ce genre de choses. Après, tu peux qu'obtenir des solutions approchées par des méthodes numériques).
Bref, Fourier a eu ce problème, et la TF est sa méthode pour résoudre son équation.
Anonyme
merci beaucoup
Pov Gabou
Un concept fondamental en maths et en physique est le concept de linéarité. Qu'est ce que ça veut dire ? L'idée derriere la linéarité, c'est que si t'as un système complexe qui a certaines "bonnes" propriétés, tu peux l'étudier avec des entrées simples et des sorties simples. Plus exactement : imaginons un système à une entrée une sortie. Tu sais pas le résoudre directement ( en pratique, tu sais résoudre très , très peu d'équations et de systèmes exactement). C'est facile de voir la réponse de ce système (réponse = sortie) à une entrée simple. Et si tu décomposais une entrée complexe en entrées simples, pour pouvoir après exprimer la réponse complexe en fonction des réponses simples ?
L'interêt d'un système linéaire, c'est exactement ça : pouvoir déduire la réponse complexe d'une entrée complexe à partir des réponses simples. Par exemple, des fonctions dérivables simples, ce sont les exponeitielles et les cos/sin ( c'est d'ailleurs lié, tu verras quand tu feras les nombres complexes, en particulier la réprésentation polaire des nombres complexes). Car la dérivée d'une exponentielle, c'est une exponentielle, et la dérivée d'un cos, c'est un sin, et quand tu dérives deux fois, ça redevient un cos. D'où l'idée de décomposer toute fonction comme somme de sinusoides ( le signe bizarre que tu vois qui ressemble à un S, c'est un somme infinie, encore appelée série). On dit que l'on décompose une fonction dans une certaines base. Si tu fais prépa, tu passeras la moitié de ton temps à étudier les espaces véctoriels : basiquement, un espace vectoriel, abrégé ev, c'est un ensemble dont les éléments sont appelés vecteurs. La propriété fondamentale, c'est que si tu prends deux vecteurs et que tu en fais la somme, la somme est encore dans cet espace, et quand tu multiplies un vecteur par un scalaire (en général, le scalaire, c'est un nombre réel, ou un complexe. J'ai jamais vu d'ev où les scalaires étaient autre chose, sauf en maths bizarre. En physique, en tout cas, j'ai jamais vu ça utilisé ), ça reste un vecteur.
Exemple d'ev : les vecteurs géométriques que tu connais en 2d ou en 3d. Autre exemple : les fonctions dérivables. Si deux fonctions sont dérivables, leur somme l'est, et si f est dérivable, a.f où a est un réel est encore dérivable. Ce concept est absolument génialissime, car tu peux faire des projections de fonction, des trucs de malade; tu peux définir des opérateurs, etc... C'est absolument fondamental en physique (c'est le truc le plus important niveau outil mathématique).
Bref : dans un ev, tu peux toujours définir ce que l'on appelle une base (c'est facile à montrer dans des cas simples, plus dur à montrer en toute généralité, ça fait appel à des concepts de maths balaises type lemme de Zorn, fondamental en théorie des ensembles, bref, je m'égare). Une base est un ensemble de vecteurs qui permet de définir tous les autres. L'interêt ? si tu connais une base d'un ensemble, et si tu connais le comportement d'une application linéaire pour les vecteurs de base, tu connais le comportement pour tout l'ev. Ainsi, pour des ev qui contiennent une infinité de vecteurs ( par exemple vecteurs géométriques en 3d), il suffit de connaître le comportement de seulement 3 vecteurs ( tu peux montrer que dans l'espace, toute base a 3 vecteurs exactement, pas plus, pas moins). Gerer l'infini est souvent plus difficile que de gérer 3, dit un peu bêtement.
Pour l'équation de la chaleur : Fourier a du ( je connais pas son histoire, donc là, je suppute) voir que les cos et les sin étaient solutions dans certains cas triviaux. D'où l'idée : est ce que toutes les solutions sont décomposables en somme, éventuellement infinie, de cos et de sin de différentes fréquences ? ( pour une fonction sin(2pi*f*x), où x est la variable et f constant, f est la fréquence). L'ensemble des solutions d'une équation différentielle linéaire est un espace vectoriel (toujours), donc si tu trouves la base, t'as tout trouvé.
le pb, que je développe pas ici, c'est que les sommes infinies de fonction posent de nombreux problèmes (est ce que ça existe, etc... dès que tu fais une somme infinie, t'as toujours des pbs, dit de convergence. Par exemple : la somme des 1/k, avec k allant de 1 à l'infini, ça tend vers l'infini, alors que la somme des 1/k^2, ça tend vers... Pi^2/8 ! bref, ça se voit pas tout de suite en général. En plus, si au lieu de faire des sommes de nombre, tu fais des sommes de finction, c'est encore nettement plus compliqué).
Bref : la transformée de Fourier, c'est décomposer une certain ensemble de fonctions (très vaste) dans une base, la base de fourier, constitué des cos et des sin. Mieux ! La TF a d'énormes propriétés super interessantes, comme par exemple si F est la TF de f, ben la TF de f' (la dérivée de f), c'est 2*pi* F ! Donc dériver dans le domaine "normal", c'est multiplier par une constante ! Je pense que tu comprends que multiplier par un nombre est nettement plus facile que dériver...
Pour une équation différentielle linéaire, prendre sa TF permet de transformer une équation différentielle en équation algébrique ! par exemple, une équation différentielle d'ordre 2 ( donc avec f, f' et f'') devient un pauvre polynôme d'ordre 2 ! Que tu sais résoudre depuis la seconde !
L'operateur de convolution, c'est exactement ça. Si h représente la réponse impulsionnelle de ton système (ie la réponse à la "fonction" delta, qui vaut 0 partout sauf en 0, et dont l'intégrale vaut 1... Si ça te parait bizarre, c'est normal, c'est même pas une vraie fonction, mais une distribution, concept qui a à peine 60 ans, découvert par Laurent Schwarz, génial mathématicien français mort l'année dernière, d'ailleurs), ben tu peux trouver la réponse (ie la solution de ton équation) en faisant la convolution de l'entrée et de la réponse impulsionnelle. La particularité de la TF, c'est que convoluer dans le domaine d'origine devient une simple multiplication dans le domaine de Fourier. Si j'appelle . la multiplication normale, et * la convolution, on a :
TF ( x*y) = TF(x).TF(y), avec x*y(t) = intégrale de x(u).y(t-u) sur la variable u.
Pour résumer tout ça : si t'as un filtre (autre nom pour désigner une équation différentielle linéaire), faire filtrer un signal revient à multiplier le spectre (spectre = tout simplement la TF du signal) par la réponse fréquentielle (autre nom pour la TF de la réponse impulsionnelle) du filtre.
Bref, quand qqn parle ici de fréquence, il parle sans le savoir de TF et convolution ;)
Anonyme
mais ca prend forme du moins dans ma tete ( parce que dans celle de rb
Anonyme
Pov Gabou
Le truc, c'est de comprendre que convolution = représentation d'une équation différentielle en continue, et d'une équation aux différences finies en discret, c'est à dire tout bêtement un filtre...
Anonyme
Mais au juste si ce n'est pas indiscret tu fais koi dans la vie pour savoir tout ca comme ca ?
- < Liste des sujets
- Charte

