Aller au contenu

DSP et oversampling


Dystopia
 Share

Messages recommandés

Bonjour à tous,

 

 

Je me suis récemment mis au DSP (Digital Signal Processing) et je voudrais expérimenter l'oversampling ou du moins l'upsampling déjà.

 

Je cite wikipedia...

 

In signal processing, oversampling is the process of sampling a signal with a sampling frequency significantly higher than the Nyquist rate. Theoretically a bandwidth-limited signal can be perfectly reconstructed if sampled above the Nyquist rate, which is twice the highest frequency in the signal. Oversampling improves resolution, reduces noise and helps avoid aliasing and phase distortion by relaxing anti-aliasing filter performance requirements.

 

En gros de ce que je comprends, on rajoute des samples dans une série pour augmenter l’échantillon et ensuite on applique un lowpass filter pour reconstruire une partie du signal.

 

J'ai fait une ébauche de code vite fait en php pour tester ça avant de passer vraiment en Cpp mais je me demande si c'est bien correct...

 

http://pastebin.com/1bL0bMsa (depuis que le forum n'accepte plus la balise code....)

 

Faudra m'excuser pour la qualité du code, j'ai pas programmé depuis longtemps et je suis loin d'être bon programmeur....

 

Grossièrement j'applique un LPF avec un coefficient au hasard pour le moment, j'ai choisi 0.5 mais bon...

 

Comme je sais que certains forumers ont fait des études en sciences et électronique, c'est fortement probable que vous ayez la réponse...

 

Suis-je bon dans ma démarche ? Si non, qu'est-ce que j'ai mal fait ?

 

Merci de votre lecture en tout cas !

Modifié par Dystopia
Lien vers le commentaire
Partager sur d’autres sites

Salut !

 

Tu as attisé ma curiosité. Je connaissais pas l'oversampling. Ça me fait penser à une technique de rendu d'image, mais ça consistait a faire un rendu par exemple d'une texture 8k que tu redimensionnes a la taille de ton écran, et tu profites ainsi d'un bon anti-aliasing. Ça ressemble sauf que là, si j'ai bien compris, tu rajoutes des samples. Je vais lire de la doc dessus. Donc non je peux pas te dire si tu fais les choses bien. Je vais suivre ce sujet de prêt. C'est très intéressant.

 

Ah et si jamais tu as un soucis en C++ ou besoin de conseil en génie logiciel, n'hésite pas à me demander. :-)

Modifié par MrG0z
Lien vers le commentaire
Partager sur d’autres sites

Salut !

 

Tu as attisé ma curiosité. Je connaissais pas l'oversampling. Ça me fait penser à une technique de rendu d'image, mais ça consistait a faire un rendu par exemple d'une texture 8k que tu redimensionnes a la taille de ton écran, et tu profites ainsi d'un bon anti-aliasing. Ça ressemble sauf que là, si j'ai bien compris, tu rajoutes des samples. Je vais lire de la doc dessus. Donc non je peux pas te dire si tu fais les choses bien. Je vais suivre ce sujet de prêt. C'est très intéressant.

 

Ah et si jamais tu as un soucis en C++ ou besoin de conseil en génie logiciel, n'hésite pas à me demander. :-)

 

Merci c'est sympa de ta part !

 

C'est une technique utilisée dans toutes les simulations d'ampli actuelles (sauf les open source bien sur) en plus des RNA qui sont à la mode...

 

Perso je perçois pas tellement les différences quand je changes les valeurs d'oversampling sur les simu proprio que j'utilise mais bon ça doit fortement venir des mes écouteurs ça.

 

Ton exemple d'image est parfait puisque le DSP est utilisé pour le traitement d'images aussi, le cas de l'oversampling je sais pas mais bon, d'autres fonctions oui :p

 

Merci pour le Cpp ;) J'ai pas spécialement de soucis en Cpp en fait, c'est juste que j'avais totalement la flemme de reboot sur le windows pour faire un projet VST...j'ai été au plus rapide et au plus naturel pour moi (oui Php est mon premier langage):p

 

Mais si ça t’intéresse on pourrais faire deux trois projets ensemble...

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
 Share

×
×
  • Créer...