besoin aide CNA R2R 16 bits... - Page 3

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From French to

Threaded View
Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it

re

une autre:

tu fais fuir mes carottes .... LeLapin

;O]
vede
:O]




Re: besoin aide CNA R2R 16 bits...
une autre:

L'eusses-tu cru, oh homme, que tu fusses là peint ?

Vincent




Re: besoin aide CNA R2R 16 bits...
On 29 juil, 00:35, "Vincent Thiernesse"
Quoted text here. Click to load it



bon ben une derniE9%re alors:

vincent mit l'E2%ne dans un prE9%s,
et s'en vint dans l'autre...

combien y-a-t-il d'E2%ne(s)

vede
;O]

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it

re


en tout cas t'avais raison, le passage
en 16 bits n'amE9%liore rien, pire....
avE9% un rE9%seau R2R E0% 2 balles...

vede
;O]






Re: besoin aide CNA R2R 16 bits...

Quoted text here. Click to load it

y-a un article dans le eprat de ce mois-ci qui décrit un DAC audio
USB...c'est relativement instructif sur la complexité du DAC pour obtenir
quelque-chose de correct.

et la surprise, 1% de disto à 10 KHz...malgré tout.

Vincent





Re: besoin aide CNA R2R 16 bits...

Quoted text here. Click to load it

Je donne ma langue au chat.

Vincent


Re: besoin aide CNA R2R 16 bits...
On 29 juil, 00:58, "Vincent Thiernesse"
Quoted text here. Click to load it




;O]
vede

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it


re

121, en base dE9%cimale augmentE9%e (+120)
bien sur ;O]

vede
;O]

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it

re;

Quoted text here. Click to load it

c'est ce que j'ai compris en googolisant un peu, un "bon" DAC 16 bits
vaut minimum 30 euros...un "trE9%s bon" 70....

donc je reste sur mon R2R 8 bits...
ai fait des essais E0% 22Khz, 44Khz...
mais E7%a dE9%forme (latence PIC et
surement correction RIIA?)....

par contre en 8bits/16Khz, j'ai une "assez"
bonne restitution...mais moins bonne qu'en 8Kkz...

c'est pourquoi je pense finir en 8bit/11Khz...
un compromis...

je fais des essais pour finaliser une horloge parlante
(qui fonctionne dE9%jE0% avec une mE9%moire 24LC1024
et une restitution en 8bits 4Khz)

vede
;O]

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it

re:

et tu me dirais : tant qu'E0% rester en 8bits,
pourquoi ne pas simplement utiliser une
sortie PWM du PIC....

ben c'est vrai que la qualitE9% est trE9%s proche
du R2R (les 2 sont cablE9%s)...mais le R2R
parait toujours mieux (E0% l'oreille)...

allE9%, bon'nuit,
vede
;O]

Re: besoin aide CNA R2R 16 bits...

Quoted text here. Click to load it

Ah bon ?

Quoted text here. Click to load it

Inverser le MSB c'est pas la meme chose
qu'inverser juste le bit de poids fort !

De toutes facons, le bit de poids fort n'est pas le signe.
Un entier signe est code en complement a deux.

Quand aux format (Big Endian ou Little Endian)
des fichiers WAV, j'ai deja poste deux liens
ou tout est decrit en detail ... ca rame !

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it
E7%a me semble E9%vident...
cela dit, j'ai pas testE9%.

Quoted text here. Click to load it
ah ? Pour moi MSB signifie Most Significant Bit, c'est la mEA%me chose.
Tu as compris Most Significant Byte ?

Quoted text here. Click to load it

bon alors je vais tenter avec un mot de 3 bits,

valeur  signE9%  non signE9%

-4       100
-3       101
-2       110
-1       111
0        000     000
1        001     001
2        010     010
3        011     011
4                100
5                101
6                110
7                111

On estime qu'il faut faire +4 pour passer d'une valeur signE9%e centrE9%e=
 sur 0
E0% une valeur non signE9%e centrE9%e sur 4.

     signE9%       non signE9%
-4  100    -->  000   0
-3  101    -->  001   1
-2  110    -->  010   2
-1  111    -->  011   3
0   000    -->  100   4
1   001    -->  101   5
2   010    -->  110   6
3   011    -->  111   7

Moi je ne vois qu'une chose : le MSB est inversE9% entre signE9% et non s=
ignE9%.

Ceci dit, Vede s'est peut-EA%tre trompE9% dans la gE9%nE9%ration de son f=
ichier Wav,
ou alors le soft de son qu'il utilise a un bug.


Quoted text here. Click to load it
bienvenue sur Usenet :-)

@+
--20%
http://ygdes.com / http://yasep.org

Re: besoin aide CNA R2R 16 bits...

Quoted text here. Click to load it

Ouch ... je viens de realiser ou est le probleme :
il s'agit bien de convertir un signe en non-signe,
mais *en plus* l'amplitude doit etre recentree !
Voici un resume (limpide, j'espere)
http://cjoint.com/data/hqn0DvzPFB_s.gif


Quoted text here. Click to load it

Oui, et c'est bien ce que l'on suppose depuis le debut :
par exemple quand on parle d'intervertir le MSB et le LSB
d'un mot de 16 bits, il ne s'agit pas d'intervertir les bits
de poids fort et faible, mais bien les octets eux-memes.
C'est vrai qu'en Anglais, le 'B' de Bit et Byte peuvent
dependre du contexte pour etre interpretes correctement.
C'est dans doute pour cela qu'on ecrit 'B' pour 'byte' et 'b' pour
'bit'.

Quoted text here. Click to load it

Mais meme si tu "prouves" ta methode en enumerant tous les entiers,
cela
ne prouverait rien pour les entiers construits sur un nombre different
de bits,
sur 16 bits tu devrais enumerer 65536 valeurs, et que dire sur 64
bits ...
Pourquoi ne pas partir de la definition meme du codage d'un entier
signe,
et construire une preuve qui fonctionne quelque soit le nombre de
bits ?


Quoted text here. Click to load it

Oui, parce-que *dans ce cas* il faut en plus deplacer le zero,
car sur un entier signe, le zero est a 0x8000 et non pas a 0x0000.
Ton inversion du bit de poids fort n'est *pas* une conversion
signe -> non signe, il y a aussi ce decalage du zero ...

Ce qui est trompeur est que l'on constate que les entiers negatifs
ont bien le bit de poids fort a un, mais cela ne signifie pas qu'il
suffit de complementer ce bit pour en obtenir la valeur absolue.
Dans le cas dont on parle, pour les 16bits d'un fichier WAV,
le fait qu'il faille *en plus* decaler la valeur centrale,
se ramene effectivement a une inversion du bit de poids fort :-)


Quoted text here. Click to load it

Mais il peut lever le doute en testant son
fichier WAV 16 bits avec n'importe quel lecteur,
ou en convertissant n'importe quel WAV au format
16 bits mono, avec par exemple sndrec32.exe ...


Quoted text here. Click to load it


Merci, ca fait plus de 7 ans que je rode sur UseNet ...

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it
ce dessin conforte mon opinion,
et cela revient bien E0% inverser le bit de poids fort.
et puis c'est tout :-)

Quoted text here. Click to load it
apparemment E7%a reste encore parfois ambigu.

Quoted text here. Click to load it
une preuve par rE9%currence, E7%a suffirait ?
J'ai fait au plus simple, j'allais pas E9%crire un recueil de maths.
on est entre E9%lectroniciens ici :-)

Quoted text here. Click to load it
la "preuve" que vede veut, c'est que E7%a marche,
pour E7%a, pas besoin de remonter E0% l'axiomatique de Peano ou la thE9%o=
rie des nombres...

Quoted text here. Click to load it
c'est pourtant nE9%cessaire, non ?
comment pourrait-on faire sans ajouter un offset ?
Sans ce dE9%calage, les samples vont reboucler par le mauvais cF4%tE9%.

Quoted text here. Click to load it
on fait pas de DSP ici, donc on s'en fout un peu de la valeur absolue,
l'essentiel c'est que tout sample en entrE9%e corresponde E0% ce que la s=
ortie attend.

d'ailleurs, c'est parfois traitre, la valeur absolue...

Quoted text here. Click to load it
bon.

mystE8%re...
j'espE8%re qu'il nous tiendra au courant de ses dE9%couvertes :-)

Quoted text here. Click to load it
Le ":-)" indique un ton farceur assumE9%,
ce n'est donc pas une remise en cause de ton expE9%rience :-)

@+

yg
--20%
http://ygdes.com / http://yasep.org

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it

Bonsoir E0% tous,

et merci pour vos contributions

bon j'ai tE9%stE9% les exemples de Jean Christophe

avec des variables *non signees* :
 Mmc_Fat_Read(mymsb) ' read MSB
 Mmc_Fat_Read(mylsb) ' read LSB
 data 3D% mymsb ' conversion 8 bits vers 16 bits
 data 3D% (data * $100) + mylsb ' concatenation
 if data >3D% $8000 then
    data  3D% $FFFF - data ' conversion
 end if
 mymsb 3D% data DIV $100 ' deconcatenation
 mylsb 3D% data MOD $100 ' deconcatenation
 PORTD 3D% mymsb ' ecriture CNA
 PORTB 3D% mylsb ' ecriture CNA

et
(declare les variables en non-signe)

void WriteCna(void)
{
unsigned char msb, lsb; // 8 bits
unsigned int n; // sample 16 bits
// lecture d'un sample WAV 16 bits mono
   Mmc_Fat_Read(msb); // MSB
   Mmc_Fat_Read(lsb); // LSB// concatenation
   n  3D% ( ((unsigned int)(msb)) << 8 ) | (unsigned int)(lsb);
// conversion
   if ( n > 0x7FFF )  n 3D% 0xFFFF - n;
// deconcatenation avec cast implicite
   msb 3D% n >> 8; // MSB
   lsb 3D% n & 0xFF; // LSB
// ecriture sur le CNA
   PORTD 3D% msb; // ecrit le MSB vers le CNA
   PORTB 3D% lsb; // ecrit le LSB vers le CNA

}

sans succE9%s.... Le fichier audio n'est
mEA%me pas reconnaissable E0% l'oreille...

alors qu'en ne faisant aucun traitement
cad envoyer les octets tels quels sur les
ports, ou en utilisant le simple traitement
mymsb 3D% mymsb xor $80
on "reconnait" le fichier E0% l'oreille...
mais noyE9% dans un gros bruits et
complE9%tement distordu et amputE9%...

le fichier audio dit une suite de mots
entrecoupE9%s de silence...

bon voilE0%, je continue E0% chercher...
vais repartir sur un complE9%ment par 2...
sinon avec un fichier avec un signal 100Hz carrE9%...
et un E9%diteur hE9%xadE9%cimal...pour dE9%coder, voir, tenter...
je vous tiens au jus,

vede
;O]




Re: besoin aide CNA R2R 16 bits...

Quoted text here. Click to load it

C'est du Madonna ?

Quoted text here. Click to load it

Ah ben merdalors, il vient d'ou ton fichier WAV ?
Tu l'as genere toi-meme ?
Tu est bien sur de son format ?

Quoted text here. Click to load it

Un signal carre ne t'aidera pas a voir les repliements,
tandis-qu'avec un signal triangulaire, ce ce
sera plus facile pour suivre les valeurs 16 bits.

Quoted text here. Click to load it

As-tu un bon editeur hexa ?

Re: besoin aide CNA R2R 16 bits...
Jean-Christophe se fendait de cette prose :

Quoted text here. Click to load it

L'idéal étant un signal en dent de scie (rampe).


--
LeLapin

Re: besoin aide CNA R2R 16 bits...

Quoted text here. Click to load it


:op  Ce que je precise est que complementer le bit de
poids fort n'est PAS une conversion signed->unsigned !
Cela marche dans ce cas, parce-qu'EN PLUS de cela il faut
recentrer le zero (sinon le CAN ecrete) mais bon, on y est.


Quoted text here. Click to load it

Ce serait plus solide, mais bon, maintenant qu'on est d'accord ...


Quoted text here. Click to load it

Un electronicien sans des bases de maths, ca va pas loin ...
C'est pas grave de ne pas connaitre les maths, parce-que ca s'apprend.
Ce qui est plus grave est de ne pas savoir raisonner sur des concepts.
Mais bon, je m'arrete la, sinon on va dire que je ronchonne ...
( comment ca : on le dit tout le temps ? ;-)


Quoted text here. Click to load it

Et laissons Godel de cote, sinon il va encore nous casser la
baraque ;-)
D'ailleurs ca fait un moment que je lui dis (a Vede, pas a Godel)
d'ou
vient le probleme, mais il semble sourd: peut-etre que son CNA a
explose ?


Quoted text here. Click to load it

Rrrrrrrrrooogntudjjuuuuuuuuuuuuuuuuuuuuuuuuuuuu !!!
OUI : complementer le msb resoud bien le probleme du WAV 16 bits.
NON : ce que tu decris n'est PAS une conversion 'signe -> non signe',
c'est une conversion 'signe -> non signe' *SUIVIE* d'un ajout
d'offset.
Fais la manip sur ton PC (en Basic, Pascal, C, ce que tu veux) et tu
verras.
Ou alors regarde la definition d'un entier signe (complement a 2)
avec un stylo et une feuille de papier, Tudjiuuuuuuuuuuuuuuuu !


Quoted text here. Click to load it

Tout a fait.


Quoted text here. Click to load it

Y'a pas de DSP du tout : on veut corriger le probleme du repli de
l'amplitude,
qui est justement du au fait que le WAV 16 bits est en entier signe !


Quoted text here. Click to load it

Non ?


Quoted text here. Click to load it

Moi aussi ... je n'ai pas pu fermer l'euil la nuit derniere ...


Quoted text here. Click to load it

Je ne l'avais pas mal pris, j'en ajoutais juste une couche :->

Re: besoin aide CNA R2R 16 bits...
Quoted text here. Click to load it
et comme l'a testE9% vede,
le code avec xor $80 fonctionne mieux qu'avec la valeur absolue.

Quoted text here. Click to load it
ouais, attends, il doit rester <hips> une bouteille de champagne dans un =
coin...

Quoted text here. Click to load it
on peut raisonner sur autre chose que des concepts ? :-)

Quoted text here. Click to load it
en mEA%me temps, le jour oF9% plus personne ne pourra ronchonner sur
internet, E7%a fera tout bizarre...

Quoted text here. Click to load it
orie des nombres...
Quoted text here. Click to load it
je crois pas, non.

Quoted text here. Click to load it
d'un autre cF4%tE9%, il vient de dire que le code avec xor $80 ne fonctio=
nne
pas trE8%s bien donc je soupE7%onne un problE8%me autre part.
et sans oscillo on n'ira pas loin.

Quoted text here. Click to load it
je suis d'accord.
d'ailleurs c'est une opE9%ration que je connais depuis assez longtemps
pour reconnaitre quand je dois l'utiliser, sans me poser de question.

Quoted text here. Click to load it
la solution est simple : un xor et au lit !

Quoted text here. Click to load it
si : quelle est la valeur absolue de -32768 pour un entier 16 bits ?

Quoted text here. Click to load it
moi aussi mais pour d'autres raison.
et lE0% je viens de me rE9%veiller :-/

Quoted text here. Click to load it
on a la rE9%putation qu'on se fait, hein :-)

--20%
http://ygdes.com / http://yasep.org

Re: besoin aide CNA R2R 16 bits...

Mais Jean-Christophe...
C'est quesqu'on te dit depuis le début !
C'est signé positif/négatif avec un silence symétrique...
 d'amplitude ... après je décroche.
Non, habituellement je suis soft... mais sur ce coup ...
je pense qu'il est préférable d'évoluer sur un circuit
différent.
Vede, tu dois repenser ton montage avec un pont
de résistance 15bits et utiliser le bit de signe pour
commuter la tension en négatif... un peu comme
un pont diode de redressement... mais avec 2
transistors et deux diodes.
Nous ne some plus en linéaire sur de coup.
Il faut donc trouver une astuce pour adapter
le circuit au format... car la conversion en temp
réel sera de toute façon ... trop longue.
Si tu as le plan d'un générateur de fonction/sinus
(ceux que l'on utilisait pour créer un courant
alternatif), et si tu l'adapte en 14 bits (résolution
sur une demie periode) tu aurras plus de chance
d'avoir un résultat plus propre.
D'autre part, essai de faire fonctionner le montage
sur 1 seul byte, le MSB ou le LSB.
Tu mets le second au silence.
ça marchera pas mieux... mais je suis curieux de
savoir le bruit que ça fera.
De mon côté je vais regarder ! ;-)
Peut-être que tu as inversé les deux bytes de donnée.
ça arrive souvent... le pointeur de début doit être
décallé.

Heu... Bref !
... le plus important c'est de participer !



Site Timeline