Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Discutions générales sur le DSPiy et tout ce qui s'y rattache
spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » lun. 11 avr. 2016 21:42

Bonjour,

J'utilise un DSPiy v1 depuis un certain temps mais il s'agit de ma première intervention sur le forum.
Tout d'abord, je profite de l'occasion pour remercier Thierry et Alain pour l'énergie qu'ils consacrent à faire vivre cette super réalisation.

J'ouvre cette discussion pour décrire mon nouveau projet à base de DSPiy v2.
Les DSPiy ne sont pas encore montés mais j'aimerai commencer à parler de technique pour vérifier que je ne fais pas fausse route.

Génèse du projet:
- J'utilise actuellement le DSPiy v1 comme filtre actif dans mon système audio hifi stéréo (pas de home cinema)
- Il s'agit d'un sytème 3 voies avec signal symétrique fourni en entrée des amplificateurs
- Je souhaite faire évoluer ce système en ajoutant la correction de la phase
- Le DSPiy v2 avec son extension ADAU1452 est la solution ... mais pas de sortie en symétrique
- Pas grave, je peux ajouter un module de symétrisation (DRV134 par exemple)
- Ah tient, voilà qu'il reste quelques DSPiy de la dernière CG.
- Symétrisation en utilisant 2 DSPiy, pourquoi pas, cela fera un projet sympathique.

Spécifications du Dual DSPiy:
- 2 DSPiy v2 avec extension ADAU1452
- Entrée dans le Dual DSPiy en numérique
- Sorties symétriques par les DACs du DSPiy
- Application dédiée à mon système 3 voies stéréo. En d'autres termes, pas forcément besoin de supporter d'autres configurations trop éloignées.
- Filtre 3 voies IIR pour corrections globales et séparation des voies
- Filtre FIR pour corrections globales (linéarisation de la phase)

Faisabilité et implémentation:
- L'application pour ce Dual DSPiy pourrai dériver de l'application "FIR global pour enceinte 3 voies en IIR"
- Chaque DSPiy traitera un canal et les ressources du ADAU1701 seront exploitées comme dans l'application "1x3 pour enceinte 3 voies en IIR"
- Un DSPiy sera "master" et l'autre "slave". Transmission du signal audio entre "master" et "slave" en numérique par I2S.

Pour cette implémentation, l'idée est de reprendre le plus possible les éléments existants en les modifiant juste ce qu'il est nécessaire.
J'ose espérer ainsi que l'impact sur le Studio et le firmware du DSPiy ne sera pas trop important.

Comme un schéma vaut mieux qu'un long discours, voici les schémas des applications envisagées.
Noter que ces applications concernent le canal L (par exemple sur le DSPiy master).
Des applications équivalentes seront nécessaires pour le canal R et chargées sur l'autre DSPiy.

IIR_Block_1x3.png


FIR_Block_1_Filter.png


Je débute sur le sujet et voilà ou j'en suis dans mon analyse.
Je ne sais pas si ce que j'envisage est faisable et si c'est réaliste en ce qui concerne l'intégration à l'existant.

A vous lire,
Frédéric

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3519
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar thierryvalk » lun. 11 avr. 2016 22:15

Intéressant et bien documenté.
Quelques petits détails en vrac :
Pour l'appli 1701, les inversions de phase et gains de voies ne sont pas nécessaire car effectués directement par le premier biquad de chaque voie.
Il faut cocher la case Inverseur sinon il n'inverse pas.
Pour la sélection L ou R en entrée, on utilise un commutateur qui sera commandé selon la voie par DStudio.
Pour le volume, le firmware ne supporte pas un triple volume, je posterais l'astuce qui consiste a utiliser une source DC et des volumes commandables en DC.
Pour le 1452, il faut utiliser Sigmastudio V3R11, les délais sont pas identiques.
Ce qui va fonctionner bizarrement c'est la sortie SPdif.

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » lun. 11 avr. 2016 22:33

Merci Thierry pour ces précieuses informations.
Je vais réviser les applications pour prendre en compte tes remarques.

A+,
Frédéric

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » dim. 17 avr. 2016 12:57

Bonjour,

J'ai révisé les application Sigma Studio pour prendre en compte les remarques de Thierry.
Voici les nouvelles versions (Sigma Studio V3.11).

IIR_Block_1x3_V2.png


FIR_Block_1_Filter_V2.png


Noter que c'est essentiellement du copiage/mixage des applications publiées par Thierry.
Je comprend que la sélection du canal L ou R se fait par DStudio.
Par contre, je ne maitrise pas suffisamment pour savoir comment cela se traduit au niveau de l'application Sigma Studio.

Ensuite, j'ai joué à l'apprenti sorcier pour essayer de générer l'application DSPiy:
- Pour les paramètres microcontrôleur, j'ai construit le fichier .ucp en reprenant les params/valeurs dans le fichier .apd de l'application standard IIR 1x3
- J'ai utilisé l'onglet "Avancé" de DStudio en indiquant "1x3 digital" pour le type d'application et en cochant "ADAU1452"
- A la fin de la génération, un message indique "Ne pas oublier d'éditer Volume et Switch". Ne connaissant pas les noms des paramètres, je n'ai pas modifié le fichier .apd.
- Cette première génération a été faite avec DStudio V4.21

En ouvrant l'application générée dans DStudio:
- Dans l'onglet "Config", il y a possibilité de choisir canal L ou R. DStudio a bien détecté une application mono.
- Dans l'onglet "DS_Filtres", il y a 15 filtres globaux. DStudio se comporte comme pour l'application standard IIR 1x3.
- Dans l'onglet "DS_Filtres", il y a la possibilité de charger un fichier pour le FIR. DStudio a bien détecté un filtrage complémentaire FIR (i.e. idem application standard global FIR 10k2x3)
- Dans l'onglet "DS_Filtres", "Bypass" est coché seulement les 2 premiers filtres. Pas un problème, l'application sera enregistrée en désactivant ces filtres.
- Dans l'onglet "DS_Crossover", il y a bandes "Low", "Mid" et "High". DStudio a bien détecté un filtrage 3 voies (i.e. même écran que application standard IIR 1x3)
- Dans l'onglet "DS_Crossover", "Bypass" n'est pas coché pour le dernier filtre de "Mid" et "High". Pas un problème, l'application sera enregistrée en désactivant ces filtres.

En conclusion, l'interface utilisateur de DStudio semble avoir pris en compte l'ensemble des particularités de cette nouvelle application hybride.

Ensuite, j'ai fait la même chose avec le tout nouveau DStudio V5 Beta 5 :amen: .
L'interface utilisateur de DStudio se comporte de la même manière.
Par contre il y a des petites différences dans le fichier .apd généré par cette nouvelle version:
- Perte d'une section "Param_ADAU1452"
- Apparition de paramètres dans la section "Program ADA1452" (qui était vide)

Dans DStudio V5, vraiment très pratique la nouvelle fenêtre de gestion de l'affichage des courbes.
Pour le moment je ne suis pas équipé pour exploiter les nouvelles fonctions de simulation et mesure (mais c'est prévu).
En fait, j'ai tout à apprendre dans ce domaine. Merci à la V5 de m'inciter à y aller.

Pour l'instant mes DSPiy V2 ne sont pas encore assemblés.
En attendant, je suis preneur de vos corrections, avis et suggestions pour avancer le plus possible sur l'application DSPiy.
D'avance je vous en remercie.

A+,
Frédéric

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3519
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar thierryvalk » lun. 18 avr. 2016 20:39

On ne t'oublie pas, mais en recherche de docs pouvant t'aider.

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » lun. 18 avr. 2016 22:46

Merci Thierry. Il n'y a pas d'urgence, j'ai du travail côté "hardware".
A bientôt,
Frédéric

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3519
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar thierryvalk » dim. 24 avr. 2016 10:48

Voici une doc rédigée par Philby :merci: qui explique parfaitement comment rédiger une Appli.
mode_operatoire_V0-6.pdf Voir post suivant pour la dernière version

Il fait part d'un fichier .dctl qui doit encore être documenté.
Ce fichier texte permet de modifier l'apparence de DStudio a son application.
Pour les Applis courantes, DStudio s'adapte, par exemple la voie Low peut avoir le nom +1, masquera ou pas certains contrôles, fixera les délais max ...
Tout cela pourra être paramétré soit en laissant les réglages de DStudio en fonction du type d'appli soit en les forçant via ce fichier .dctl

Pour ce qui est de l'ADAU1452, le principe est +- similaire au 1701.
A noter de petites imperfections dans le fichier .apd généré:

D01_APP1452 69 1
Il peut laisser une ligne vide juste au-dessus, a supprimer, cette ligne doit suivre directement le paramètre D01_ précédent.

Les 4 lignes D01_ADR52_VOLXH peuvent avoir comme valeur 65536, c'est pas bon vu que l'on est sur 8bits et donc 255 max, a remplacer simplement par des 0.
Ces lignes auront des valeiurs uniquement lorsque l'ADAU1452 gère lui-même le volume, ce qui n'est pas ton cas.

Avatar de l’utilisateur
philby
Messages : 325
Enregistré le : ven. 10 juil. 2015 12:28
Localisation : Gironde France
Contact :

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar philby » dim. 24 avr. 2016 12:08

Thierry, tu m'as pris de vitesse, j'allais créer un nouveau fil pour mettre ma doc, mais elle est finalement bien ici...
Peut être la mettre dans les fils généraux de doc du DSPIY...

La doc que j'avais faite a encore évolué d'un indice, je ne me rappelle plus pourquoi...Surement des corrections d'orthographe ou des petits compléments...
Donc autant prendre la der des der!!!

mode_operatoire_V0-7.pdf
(2.1 Mio) Téléchargé 337 fois

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3519
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar thierryvalk » dim. 24 avr. 2016 12:26

Peut être la mettre dans les fils généraux de doc du DSPIY...

On va voir comment spad l'interprète, il y aura peut être des compléments.
La création d'Appli reste tout de même quelque chose réservé aux utilisateurs n'ayant pas froid aux yeux :hehe: mais qui peremt de mieux comprendre les mécanismes ce ces DSP.
Mais oui, on créera un sujet dans la section documentation, mais il faudrait aussi la doc sur les .dctl, mais dont le développement n'est pas encore à 100% terminé.

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » dim. 24 avr. 2016 12:49

Bonjour,

Merci à vous deux pour cette documentation.
Je vais l'étudier en détail et vous ferai des retours au fur et à mesure de mes expérimentations.

Est-ce qu'il serai possible d'avoir le schéma SigmaStudio de l'application standard 1x3 V3 ?
Cela m'évitera de trop patiner pour trouver la manière de contrôler l'utilisation de la voie L ou R dans une application mono.

A bientôt,
Frédéric

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3519
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar thierryvalk » dim. 24 avr. 2016 12:58

Est-ce qu'il serai possible d'avoir le schéma SigmaStudio de l'application standard 1x3 V3 ?

Le voici :
1x3.dspproj
(136.95 Kio) Téléchargé 327 fois

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » dim. 24 avr. 2016 13:42

Merci Thierry.
La documentation est très claire.
Je vais vérifier la correspondance entre les noms des blocs de mon application SigmaStudio et les noms attendus par les panneaux de DStudio.

A+,
Frédéric

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » lun. 25 avr. 2016 00:05

Hello,

La mise en concordance des noms de paramètres avec ceux attendus par DStudio est pratiquement terminée pour la partie IIR 1x3.
Noter que mon SigmaStudio ne trace pas dans la fenêtre "Capture" les changements de propriétés des blocs.
Il doit y avoir un réglage de mon SigmaStudio qui ne va pas.
Je m'en suis sorti en passant par le fichier .params pour établir la correspondance entre le "Cell Name" et le "Parameter Name".

Pour aller plus loin, je voudrais faire le même exercice pour les blocs repris de l'application standard FIR global10k2x3.
Est-ce qu'il serai possible d'avoir le projet SigmaStudio pour cette application ?
D'avance je vous remercie.

A+,
Frédéric

Avatar de l’utilisateur
philby
Messages : 325
Enregistré le : ven. 10 juil. 2015 12:28
Localisation : Gironde France
Contact :

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar philby » lun. 25 avr. 2016 06:27

Il ne faut pas toucher au nom des blocs, il faut juste déplacer les blocs et les interconnexions, mais si tu "renomme" les blocs, je ne sais pas trop ce que ça va donner...

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3519
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar thierryvalk » lun. 25 avr. 2016 11:46

Voici l'appli FIR
GLOBAL10K SPDIF LINK.dspproj
(140.07 Kio) Téléchargé 319 fois


+1 avec Philby.
Pour voir les noms et adresses dans SigmaStudio, il faut activer via le menu View "Capture Window"

Avatar de l’utilisateur
philby
Messages : 325
Enregistré le : ven. 10 juil. 2015 12:28
Localisation : Gironde France
Contact :

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar philby » lun. 25 avr. 2016 12:37

thierryvalk a écrit :Pour voir les noms et adresses dans SigmaStudio, il faut activer via le menu View "Capture Window"


C'est expliqué en page 7 de la doc

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » lun. 25 avr. 2016 20:26

Bonjour,

Merci pour vos réponses rapides et l'application SigmaStudio.

Sur SigmaStudio, j'ai bien bien la fenêtre "Capture" affichée (ouverte comme indiqué dans la doc).
Par contre, quand je change la valeur d'une propriété dans un bloc, il n'y a aucun affichage dans cette fenêtre.
Peut être que seules les modifications de certaines propriétés sont tracées dans la fenêtre "Capture" (ou je m'y prend mal pour changer une propriété et déclencher l'affichage dans "Capture").

Merci Philby pour ta remarque. Pas de soucis, je ne change pas les noms des blocs.
J'utilise le fichier .params uniquement en lecture pour obtenir l'information que je ne peux pas avoir avec la fenêtre "Capture".
Ensuite, j'exploite cette information comme indiquée dans la documentation (typiquement déplacement des blocs dans le schéma SigmaStudio).

Je vous tiens au courant de mes avancées.
Frédéric

spad
Messages : 14
Enregistré le : mar. 15 sept. 2015 21:39

Re: Projet: Dual DSPiy pour filtrage 3 voies IIR + FIR

Messagepar spad » sam. 30 avr. 2016 23:13

Bonjour,

J'ai reconstruit les applications SigmaStudio en repartant des projets originaux et en utilisant la méthode décrite dans la documentation de Philby.
Noter, qu'avec les projets originaux, l'affichage dans le fenêtre "Capture" fonctionne (il manquait probablement quelque chose dans les projets que j'avais créés "from scratch").

Voici les nouvelles versions.

IIR_Block_1x3_V4.png


FIR_Block_1_Filter_V3.png


Ensuite, j'ai vérifié que DStudio prenait bien en compte cette nouvelle application (adaptation aspect IHM et correspondance champs de saisie/paramètres fichier .apd) :
- Dans l'onglet "Config", le changement de canal L ou R est OK (i.e. même comportement que l'application standard IIR 1x3)
- Dans l'onglet "Config", le changement de volume affecte "DO1_VOLUME" (OK : même comportement que l'application standard FIR Global10k2x3)
Je ne suis pas arrivé à faire bouger "DCInpAlg1" avec DStudio pour le contrôle du volume (mais c'est pareil avec l'application standard FIR Global10k2x3)
Sauriez vous détailler le fonctionnement de ce bloc ?
- Dans l'onglet "DS_Crossover" tous les paramètres de l'application .apd sont correctement affectés par les changements de valeurs dans DStudio (OK)
- Dans l'onglet "DS_Filtres", le champ "Gain" affecte le bloc "ADAU145XMultDelayGrowAlg1Delay" (en d'autres termes, le délai associé au ADAU1452).
C'est conforme à ce qui se passe avec l'application standard FIR Global10k2x3.
Dans mon application, j'ai un délai implémenté dans le ADAU1701 (bloc "MultCtrlDelGrowAlg7").
Il n'y a pas de champ disponible dans l'écran DStudio pour ajuster la valeur de ce délai.
Peut être que le fameux fichier .dctl permettra cette adaptation.
Noter que ce n'est pas critique car le délai max avec le ADAU1701 est d'environ 10ms et qu'i y a déjà possibilité d'un délai max de 208ms avec le ADAU1452.
- Tous les autres champs de l'onglet "DS_Filtres" contrôlent correctement les paramètres de l'application .apd (OK)
- Noter que je ne suis pas arrivé à changer la valeur du paramètre "GainAlgNS145X7gain" avec DStudio (avec mon application ou avec l'application standard FIR Global10k2x3).
Sauriez vous détailler le fonctionnement de ce bloc ?

En conclusion, il semble que la nouvelle application hybride soit correctement intégrée dans DStudio.

Maintenant, je m'interroge sur les aspects de configuration plus bas niveau pour que les composants du DSPiy communiquent entres eux dans le contexte de cette application.
Je suppose que c'est automatiquement pris en compte du fait que je suis reparti des applications SigmaStudio standards.
Je suis preneur de toutes suggestions sur la méthode à utiliser pour déployer cette application, finaliser la configuration DSPiy et valider le fonctionnement de mon Dual DSPiy.
D'avance je vous remercie.

Frédéric


Retourner vers « DSPiy général »

Qui est en ligne

Utilisateurs parcourant ce forum : Bing [Bot], Majestic-12 [Bot] et 8 invités