Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

Filtre actif à base de DSP : le DSPiy

Message » 06 Déc 2012 11:55

Les différents sujets annexes :
DSPiy : logiciels et algorithmes
DSPiy terminés et configs forumeurs
Debug DStudio V4 et autres soft DSPiy
Interface d'entrée numérique pour DSPiy V1 et autre (Debug OK)Tazz28
DSPiy: la DSPiyBox Plexi Dagda
DSPiy : carte extension COAX-TOS-ANALOG-BATRY + BOITIER DIY maxidcx
Dspiy et Riaa androuski
DSPiy RIAA Add-On : la mise au point androuski
Filtrage soustractif à délai avec le DSPIY Philby
Asservissement sub via DSPIY + accéléromètre Misu
Sub asservi MFB avec le DSPiy alkasar
DSPiy : symétriser les sorties alkasar
DSPiy + domotiyque thierryvalk
DSPiy : Interface audio numérique sans fil et autres idées robob
Mon install et évolutions Dspiy et renderer réseau seb4lo
Une carte trig indépendante externe commandée par DSPiy androuski
Montage carte ADA1452 sur DSPiy version 1 razzortec


Lien vers le
site web du DSPiy V1 et explications.
site web du DSPiy V2 et mises à jours

la vidéo de démonstration Part I sur dailymotion
la vidéo de démonstration Part II sur dailymotion

Pour commencer un petit aperçu du DSP :

DSP est souvent assimilé aux « effets DSP » qui dénature le son (ou valorise).
Ici il n’en est rien.
Le DSP est processeur numérique qui va réaliser selon un programme et des paramètres une série de fonctions mathématiques et logique afin de reproduire des ensembles analogiques.
Dans le passé le concepteur devait tout écrire en langage assembleur… très laborieux et très long.
Actuellement les fabricants de DSP proposent des outils de conception qui rendent la tâche beaucoup plus simple.
J’ai sélectionné le DSP ADAU1701 d’Analog Devices qui propose comme outil de conception SigmaStudio.
SigmaStudio permet de « dessiner » son application, lorsque celle-ci est au point, elle est compilée et prête à l’usage. C’est presque simple.

Fonctionnalités principales :
Fonctions mathématique et logique de base.
Filtres en tous genres.
Délais (limité par sa mémoire, utilisable principalement pour l’alignement temporel des HP dans une enceinte)
Mixers, splitter, contrôle de volume, détecteur de niveaux, compresseur, expenseur …

Niveau hardware :
2 entrées analogiques et de 4 sorties analogiques avec convertisseurs 24bits.
Un port I2C ; c’est un bus qui permet de faire communiquer plusieurs composants compatibles entre eux.
Ports I2S, une sorte de S/PDIF qui permet de rajouter des entrées et sorties audio digitales.
Quelques entrées/sorties pour connecter bouton poussoir, potentiomètre de volume, LED …

Architecture minimale :
Les DSP avec ses alimentations et une EEPROM sur le bus I2C contenant le programme .
Filtre sur les sorties.
Via les quelques entrée/sortie, il est possible de modifier quelques paramètres simplistes tels que le volume.

Lien vers le
site web du DSPiy.

la vidéo de démonstration Part I sur dailymotion
la vidéo de démonstration Part II sur dailymotion
Dernière édition par thierryvalk le 23 Juin 2015 15:42, édité 24 fois.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 11:56

Exemple de conception tout simple :
On veut réaliser un filtre passe bas .
On sélectionne une entrée et une sortie analogiques.
On sélectionne par exemple un filtre du second ordre Low Pass.
On dispose pour ce filtre de 3 variables : fréquence, facteur Q et gain.
On connecte l’entrée analogique à l’entrée du filtre et la sortie du filtre à la sortie analogique.
On compile, charge ce programme dans l’EEPROM et c’est fini !

Là où tout se complique, c’est si l’on désire modifier une variable du filtre.
Le DSP ne fonctionne pas directement avec ces variables, mais des coefficients (6 par filtre) qui sont le résultat d’un calcul mathématique qui doivent être réalisé en dehors du DSP.
Ces coefficients sont accessibles via le bus I2C.
On va donc utiliser un microcontrôleur pour réaliser ces calcul ou un ordinateur externe qui va dialoguer avec le DSP au travers du microcontrôleur qui servira uniquement d’interface.
Il faut également noter que sur le bus I2C il est possible de raccorder jusqu’ à 4 DSP qui seront donc gérés par un seul microcontrôleur.
Dernière édition par thierryvalk le 08 Déc 2012 18:08, édité 1 fois.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 11:56

Situation actuelle

Je dispose de SigmaStudio qui permet de créer le programme et de le distribuer libre de droits.
J’ai réalisé des protos pour mon propre usage et commence à maitriser la chose (pas encore à 100%).
Pour faire rapide, j’utilise SigmaStudio aussi pour modifier les variables.

Donc actuellement je suis en mesure de créer très rapidement un système fixe.
Par exemple pour l’enceinte HCFR :
Commande en volume via potentiomètre externe.(+ éventuellement correction de tonalité )
Filtres paramétriques pour compenser les courbes des HP.
Crossover avec éventuelle inversion de phase sur un HP.
Appliquer un retard sur le tweeter pour compenser sa position par rapport au woofer.

Ce qui serait très utile :
Rajouter des filtres paramétriques pour la correction acoustique de la pièce d’écoute.
Evidement ces filtres doivent être paramétrables via l’utilisateur.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 11:57

voici quelques scénarios d'utilisation du DSPiy en image.
http://alkasar.online.fr/DSPiy/DSPiy%20usage%20models.pdf

et un schéma bloc de la carte avec sa carte additionnelle S/Pdif
Image

donnons la parole aux forumeurs.
alkasar a fait une feuille partagée (accès libre) pour vous écouter sur ce que vous avez envie de faire du DSPiy. Enfin si vous savez...
https://docs.google.com/spreadsheet/ccc?key=0AsOXGyAB2MTMdENhYm53M0U2cGk5ZGZHZlBSNGp6Tmc#gid=0

Interface d'entrée numérique :
http://www.homecinema-fr.com/forum/travail-de-groupe-diy/interface-d-entree-numerique-pour-dspiy-et-autre-t30030455.html

le site du DSPiy (en construction) :
https://googledrive.com/host/0B8OXGyAB2MTMX3p5Z3FzZG1YdlE/
Dernière édition par thierryvalk le 17 Jan 2013 13:41, édité 7 fois.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 11:57

Cahier des charges / résumé au 19/12/2012

A quoi ça peut servir ?
Correction active stéréo:
Pour le filtrage d'enceintes 2 voies ou 3 voies, avec corrections éventuelles pour tenir compte de la pièce d'écoute par exemple.

Correction active stéréo 2 voies avec gestion d'un ou deux caissons:
Permet de couper les enceintes à une fréquence souhaitée et de renvoyer le bas vers un caisson avec rajout éventuel d'un petit délai et corrections.

Correction active d'un ou deux caisson:
On disposerait d' EQ paramétriques, délais, inversion de phase, réglage de niveau...

Utilisations à vérifier :
-Filtrage FIR
-HP asservis.

Mais aussi plein d'autres plus spécifiques, pour des tests, pour musiciens : Bass Boost, mode nuit, Reverb, SperPhat, Flanger, etc....
La limite est la créativité de la programmation !

Specifications
Entrées :
- 2 entrées analogiques (cad 1 entrée stereo), niveau ligne (RCA)
- (1 entrée SPDIF coaxiale) via carte additionnelle.
- 1 connecteur entrée I2S . Permet d'ajouter une entrée USB avec un convertisseur externe usb->I2S

Sorties audio:
- 6 canaux analogiques asymétriques, niveau ligne (1.9Vrms ou 2Vrms a définir)
- Avec une carte additionnelle, 6 sorties symétriques

Interface:
- connecteur USB pour paramétrage et mise à jour depuis un pc
- 5 boutons poussoir en façade, fonctions selon programmation
- Port I2S pour rajouter carte S/Pdif en sortie ou autre dacs ou carte additionnelle
- Port I2C, pour contrôler ou superviser le système. Par exemple un écran LCD.
- Port SPI pour écran ou autre externe (peut être utiliser la carte écran de l 'UGS...)
- Contrôle de LEDs et/ou petits relais.
- 2 sorties analogiques pour vu-mètres par exemple.
- 1 capteur IR
précisions sur les interfaces:
Le bouton poussoir 1 peut être configuré comme entrée analogique ou digitale.
1ere config : analogique, connecter un pot de 10K vers le 0V. Le µC lit sa valeur et la transmet au DSP pour le contrôle de volume. Dans ce cas, il reste 4 BP disponibles.
2eme config : En digital BP1 + BP2 peuvent recevoir un encodeur rotatif. Dans ce cas il reste 3 boutons poussoirs disonibles.
3eme config : pas d’encodeur ni potentiomètre, et 5 boutons poussoirs.
Il est également possible de n'utiliser aucun bouton et uniquement la télécommande.

Caractéristiques:
- traitement audio jusqu'à 24bits/96kHz
- DSP Analog Devices ADAU1701. Traitement interne 56bits. 50mbits.
- 3x DACs ESS Sabre ES9023
- micro-controleur LPC111X
- receveur spdif WM8804
- régulateurs de tension type TPS7A4700 a très faible bruit pour l'alimentation analogique des DACs
- oscillateur 24.576MHz pour les DACs
- taille pcb attendue : environ 8x10cm
- alimentation : de 6VDC à 9VDC, 500mA min.

Mode opératoire pour personnaliser :
Des programmes sont développés par le(s) concepteur(s). Le logiciel SigmaStudio d'AnalogDevices est utilisé pour cela. Les programmes sont mis à dispostion de la communauté.

L'utilisateur dispose d'un soft dédié sur son PC. (Peut être simplement un tableau excel ?)
Il sélectionne par exemple le programme "système2.1" qui sera chargé dans le système.
Ensuite, toujours sur le PC, il va s'il le souhaite, modifier les paramètres à sa sauce : filtres EQ, fc, délais ...
Le tout sera mis à jour en temps réel et mémorisé par le µControleur du système.
Il débranche l 'USB et dispose du système autonome, configuré pour lui.
Si implémentées, des fonctions sont disponibles via boutons poussoirs.
Dernière édition par thierryvalk le 19 Déc 2012 9:59, édité 3 fois.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 12:01

J'ai regardé l'option micro contrôleur, avec un PIC et un GLCD ça doit pouvoir le faire, le probleme est comme tu le dit les calculs, il me semble que sigma studio donne des morceaux de code en C au moment de la compilation pour faciliter le travail. mais je ne l'ai pas sous la main (pas de clée)
Exemple avec mon DAC:
http://www.homecinema-fr.com/forum/viewtopic.php?f=1057&t=29935585
Sinon je touche un peu au VBnet mais je pense pas avoir le niveau, autant envoyer des commandes en RS232 c'est simple, autant faire des graphs avec les types de filtres utilisés et les pentes ça se complique, de plus je suis une quiche en maths.
zai
 
Messages: 413
Inscription Forum: 08 Fév 2009 21:27
Localisation: 31
  • offline

Message » 06 Déc 2012 12:10

Mode développeur soft ON
SigmaStudio fournis le code C, toutes les LIB et définitions pour les coefficients.
Cela semble très simple à intégrer dans un projet en c.

Pour les calcul, l’aide fournis les équations et formules des filtres, mais il faut les traduire en C puis les formater …
Mode développeur soft OFF

Il y a aussi Arduino, je ne connais pas mais semble accessible.
Pour ma part je travaille principalement avec les LPC1114 de NXP .


Sinon je touche un peu au VBnet mais je pense pas avoir le niveau, autant envoyer des commandes en RS232 c'est simple, autant faire des graphs avec les types de filtres utilisés et les pentes ça se complique, de plus je suis une quiche en maths

Nous sommes à égalité sur ces points, mais je pense qu’il y a des matheux sur le forum. :D
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 13:29

Merci pour ce sujet, je ne vous serai d'aucune aide mais j'apporte mon soutien !
Avatar de l’utilisateur
Kro
Modérateur DIY
Modérateur DIY
 
Messages: 29426
Inscription Forum: 12 Jan 2004 19:24
Localisation: L'Isle d'Abeau (38)
  • online

Message » 06 Déc 2012 13:48

Dans la phase actuelle, tout le monde peut contribuer.
Il y a bien les solutions techniques, mais aussi et surtout définir le produit.
Définir les fonctions obligatoires, optionnels et inutiles ?
Comment rester dans un produit simple d’utilisation, quelles sont les utilisations possibles ?
Le but étant de créer un produit original et non une copie du miniDSP .Ce qui n’aurait aucun intérêt .
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 14:58

J'ai trouver ça:
http://plasserre.developpez.com/cours/chart/#LIII-B
Reste a savoir comment faire une moulinette qui transforme les coefs des filtre en courbes.
zai
 
Messages: 413
Inscription Forum: 08 Fév 2009 21:27
Localisation: 31
  • offline

Message » 06 Déc 2012 15:26

Bonjour

Zai,
Reste a savoir comment faire une moulinette qui transforme les coefs des filtre en courbes.
Une simple feuille Excel peut faire l'affaire.

Thierryvalk,
Histoire de connaitre les limites, le soft permet il de travailler sans disposer de la carte d'évaluation.
Cordialement
J-C.B
 
Messages: 6871
Inscription Forum: 19 Juil 2009 12:18
Localisation: Haute Normandie
  • offline

Message » 06 Déc 2012 15:41

le soft permet il de travailler sans disposer de la carte d'évaluation

Oui, on dessine son projet puis on le compile et tous les fichiers seront générés.
Il existe également des outils de simulation dans le soft (que je n’ai pas encorre utilisés)
Pour obtenier le soft, il faut en faire la demande écrite à Analog Device.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 17:41

question sur les convertisseurs DA :

Les 4 convertisseurs du DSP ne sortent que 0.9V et nécessite un filtrage en sortie soit passif soit actif avec le rajout d’un ampli-op qui demande une tension d’alimentation .
Une alternative est d’utiliser des convertisseurs externes qui ne demandent pas filtre ni de capa de blocage DC. Le PCM5101 fonctionne sur mon proto, mais le WM8523 de Wolfson est à un prix très attractif et dispose d’une commande en volume.
Dans les autre cas la commande en volume se fait par soft avant le convertisseur avec perte de dynamique.

Voici un petit récapitulatif :
ADAU1701 SNR 104dB THD+N -90db sortie 0.9V, rajout filtre de sortie
WM8523 SNR 106dB THD+N -89dB sortie 2V , commande de volume, interface I2C, plus complexe niveau PCB et soft
PCM5101 SNR 106dB THD+N -92dB sortie 2V existe en version SNR 112dB et THD+N -93dB

Je ne connais pas du tout la marque Wolfson, les produits sont-ils bons et disponibles facilement ?
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 06 Déc 2012 17:53

ESS 9032!
8Ch, et contrôle de volume sous 32 bits :D
Regarde mon DAC j'ai le modèle d'avant (ESS9008) ça marche très bien
zai
 
Messages: 413
Inscription Forum: 08 Fév 2009 21:27
Localisation: 31
  • offline

Message » 06 Déc 2012 20:12

Bravo !
Je n'ai absolument pas les compétences pour contribuer, si ce n'est pour dire qu'un niveau de sortie de 2v et un contrôle de volume seraient appréciable, pour dire que si CG il y a j'en suis. Il faudrait peut-être aussi songer à intégrer sur le pcb une alim haute qualité, mais que l'ensemble reste compact.. :hehe:

:wink:
androuski
 
Messages: 23165
Inscription Forum: 14 Mar 2007 14:43
Localisation: C'est un trou, mais rempli de pinard, donc ça me va.
  • offline


Retourner vers Filtrage actif, Equalisation et Processeurs

 
  • Articles en relation
    Dernier message