Hehe...SSassen schreef:de uitgangen van de DAC's, is dit gewoon hetzelfde als 8x oversampling en dan de data door een FIR filter stoppen met de coëfficienten 1-1-1-1-1-1-1-1, dus dit is gewoon lineare interpolatie.
Gebalanceerde DAC en discrete interpolatie
Moderators: Barry2001, Beheerdersteam
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Sander,
Ik zal het je proberen uit te leggen. Eerst iets over lineaire interpolatie, dat is in wezen een ongewenste vorm van interpolatie. Je creert er vervorming mee omdat je afwijgt van de enige echte juiste interpolatie. Tussen twee bemonsterde waarden kan nooit de juiste waarde gevonden worden door in het midden te gaan zitten, je zult dat met een Sinc moeten doen.
Dan iets over het uitgangssignaal. Wellicht dat de 8 DAC's afzonderlijk 8x oversampled zijn, om zo die Ts/8 verschuiving te realiseren en daar zit dan de winst. Maar je had ook net zo goed 1 DAC kunnen nemen met 8x oversampling. Na optelling van de 8 verschoven signalen verkrijg je ten slotte het signaal dat ik je voorgerekend heb: hetzelfde signaal als 1 DAC (en voor hele lage frequenties 8x de amplitude) maar dan met een afzwakking in het hoog.
Volgens mij is er helemaal geen winst in interpolatie.
Groet,
Jacco
Ik zal het je proberen uit te leggen. Eerst iets over lineaire interpolatie, dat is in wezen een ongewenste vorm van interpolatie. Je creert er vervorming mee omdat je afwijgt van de enige echte juiste interpolatie. Tussen twee bemonsterde waarden kan nooit de juiste waarde gevonden worden door in het midden te gaan zitten, je zult dat met een Sinc moeten doen.
Dan iets over het uitgangssignaal. Wellicht dat de 8 DAC's afzonderlijk 8x oversampled zijn, om zo die Ts/8 verschuiving te realiseren en daar zit dan de winst. Maar je had ook net zo goed 1 DAC kunnen nemen met 8x oversampling. Na optelling van de 8 verschoven signalen verkrijg je ten slotte het signaal dat ik je voorgerekend heb: hetzelfde signaal als 1 DAC (en voor hele lage frequenties 8x de amplitude) maar dan met een afzwakking in het hoog.
Volgens mij is er helemaal geen winst in interpolatie.
Groet,
Jacco
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
Rede genoeg om ervoor te pleiten om de coefficentien niet allemaal gelijk te maken.
Voor een degelijk filter is zijn 8 tabs echter wel erg weinig, evenals 16 tabs.
Jacco, Sander gebruikt met name meerdere DAC's om de niet lineariteiten te verminderen. Dat je daar dan ook nog leuk mee kan interpoleren is meer een leuke bijzaak denk ik. Maar 8x digitale oversampling en alle dac's gelijk laten lopen heeft natuurlijk een vergelijkbaar en misschien beter resultaat.
Voor een degelijk filter is zijn 8 tabs echter wel erg weinig, evenals 16 tabs.
Jacco, Sander gebruikt met name meerdere DAC's om de niet lineariteiten te verminderen. Dat je daar dan ook nog leuk mee kan interpoleren is meer een leuke bijzaak denk ik. Maar 8x digitale oversampling en alle dac's gelijk laten lopen heeft natuurlijk een vergelijkbaar en misschien beter resultaat.
Laatst gewijzigd door voodooless op do 07 dec 2006, 11:12, 1 keer totaal gewijzigd.
- SSassen
- Berichten: 11528
- Lid geworden op: vr 22 apr 2005, 10:21
- Locatie: Zuidoostbeemster
- Contacteer:
Jacco,
De keuze die hier gemaakt is is zoals je zelf al eerder aangegeven heb in je afleiding er eentje die GEEN invloed heeft op de fase van het signaal. Met een digitaal oversampling filter heb je daar toch last van door de bijzonder steile brickwall filtering etc. Kortom, het is een bewuste keuze om te kiezen tussen twee kwaden. Ik denk, maar moet dit uiteraard straks in de praktijk gaan toetsen, dat deze vorm van interpolatie minder 'erg' is gehoormatig dan de brickwall filtering, deciminatie, dithering, etc. in een doorsnee digitaal filter. Het is en blijft echter een keuze, omdat interpolatie nu eenmaal een compromis blijft.
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
Laten we voorop stellen dat IEDERE vorm van interpolatie ongewenst is, je creërt immers tussenwaardes die niet in 't origineel voorkomen, maar een benadering zijn. In beginsel komt het erop neer dat je punt A op een grafiek met punt B verbindt, je kan dit doen met een rechte lijn, of in stappen, met een kromming, of een statistisch onderbouwde curve, etc. etc.Eerst iets over lineaire interpolatie, dat is in wezen een ongewenste vorm van interpolatie. Je creert er vervorming mee omdat je afwijgt van de enige echte juiste interpolatie. Tussen twee bemonsterde waarden kan nooit de juiste waarde gevonden worden door in het midden te gaan zitten, je zult dat met een Sinc moeten doen.
De keuze die hier gemaakt is is zoals je zelf al eerder aangegeven heb in je afleiding er eentje die GEEN invloed heeft op de fase van het signaal. Met een digitaal oversampling filter heb je daar toch last van door de bijzonder steile brickwall filtering etc. Kortom, het is een bewuste keuze om te kiezen tussen twee kwaden. Ik denk, maar moet dit uiteraard straks in de praktijk gaan toetsen, dat deze vorm van interpolatie minder 'erg' is gehoormatig dan de brickwall filtering, deciminatie, dithering, etc. in een doorsnee digitaal filter. Het is en blijft echter een keuze, omdat interpolatie nu eenmaal een compromis blijft.
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Wat mij betreft is het niet eens een bijzaak. Wat de analoge uitgang doet van die DAC kan ik natuurlijk niet overzien.voodooless schreef:Rede genoeg om ervoor te pleiten om de coefficentien niet allemaal gelijk te maken.
Voor een degelijk filter is zijn 8 tabs echter wel erg weinig, evenals 16 tabs.
Jacco, Sander gebruikt met name meerdere DAC's om de niet lineariteiten te verminderen. Dat je daar dan ook nog leuk mee kan interpoleren is meer een leuke bijzaak denk ik.
Groet,
Jacco
- SSassen
- Berichten: 11528
- Lid geworden op: vr 22 apr 2005, 10:21
- Locatie: Zuidoostbeemster
- Contacteer:
Uiteraard kan je door de coëfficienten anders te kiezen bv. de hoogafval wat wegpoetsen, iig. kan je op die manier een stuk 'curve fitting' doen zodat je straks als je zonder digitale oversampling gaat werken toch op een rechte curve uitkomt. Ik kies voor een milde mate van oversampling 2x of 4x, zonder brickwall filtering, en hoop daarmee dit wegen van coëfficienten niet nodig te hebben.
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
Eh, wacht ff... met FIR filters kun je prima brick wall filters maken die fase correct zijnSSassen schreef:De keuze die hier gemaakt is is zoals je zelf al eerder aangegeven heb in je afleiding er eentje die GEEN invloed heeft op de fase van het signaal. Met een digitaal oversampling filter heb je daar toch last van door de bijzonder steile brickwall filtering etc.
- SSassen
- Berichten: 11528
- Lid geworden op: vr 22 apr 2005, 10:21
- Locatie: Zuidoostbeemster
- Contacteer:
Mja, kan wel, maar in de regel is men daar toch wat laks mee. Probleem is bv. dat om je residual image op Fs/2 (22kHz) weg te kunnen poetsen je toch bijzonder steil moet filter op 20kHz. De meeste filters gaan dan toch fasedraaing laten zien, omdat -100dB demping binnen 2kHz toch wel wat lastig is.Eh, wacht ff... met FIR filters kun je prima brick wall filters maken die fase correct zijn
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Mijn hemel....SSassen schreef:Mja, kan wel, maar in de regel is men daar toch wat laks mee. Probleem is bv. dat om je residual image op Fs/2 (22kHz) weg te kunnen poetsen je toch bijzonder steil moet filter op 20kHz. De meeste filters gaan dan toch fasedraaing laten zien, omdat -100dB demping binnen 2kHz toch wel wat lastig is.Eh, wacht ff... met FIR filters kun je prima brick wall filters maken die fase correct zijn
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
FASEDRAAIING IS NIET BELANGRIJK!!!!!!!!!!!
Fir filters hebben de prettige eigenschap dat de groepslooptijd constant is. Althans, in 99% van de 100 gevallen. Dus die steile filters is no problem. Wat wel een probleem is (nou ja, wat heet) is de pre en post echo met die gekke dingen.
Groet,
Jacco
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
- SSassen
- Berichten: 11528
- Lid geworden op: vr 22 apr 2005, 10:21
- Locatie: Zuidoostbeemster
- Contacteer:
Hoeveel DAC's zijn dan? Plaats ik vast een bestellingZo kun je met 5555 tabs leuke dingen doen:
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
- SSassen
- Berichten: 11528
- Lid geworden op: vr 22 apr 2005, 10:21
- Locatie: Zuidoostbeemster
- Contacteer:
Jacco,
Sander Sassen
http://www.hardwareanalysis.com
Oeps! Ik bedoelde natuurlijk groepslooptijd, ik haal die dingen nogal eens door elkaar geloof ik, volgende keer krijg je taart, afgesproken?FASEDRAAIING IS NIET BELANGRIJK!!!!!!!!!!!
Met vriendelijke groet,Ten slotte nog iets over groepslooptijd. Dit blijkt een constante te zijn en komt uit op 7*Pi/(8*ws), wat dus betekent dat de fasecoherentie niet aangetast wordt en dus onhoorbaar is.
Sander Sassen
http://www.hardwareanalysis.com
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Ja, die orde grootte van ripple heb je wel nodig om de pre echo onder het hoorbare niveau te krijgen.voodooless schreef:Zo kun je met 5555 tabs leuke dingen doen:
[...]
0.0001% passband ripple en 120 dB drop in 2 Khz
Maarre, als je zo'n filter gaat maken, dan kan het zijn dat je je coefficienten moet gaan aanpassen door afrondingen in de praktische implementatie...
Groet,
Jacco
Laatst gewijzigd door dekkersj op do 07 dec 2006, 11:50, 1 keer totaal gewijzigd.
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Ja, het begrip fasecoherentie is mij aangesmeerd door iemand die met blokgolven de fasehuishouding wilde kwalificeren. Zo kwamen we op 1 lijn zeg maar en het zegt niets anders dan dat de blokgolf die er uit komt het beste moet lijken op de blokgolf die er in gaat. Dan is er fasecoherentie. Persoonlijk blijf ik liever de term groepslooptijdvervorming oid gebruiken.SSassen schreef:Jacco,
Oeps! Ik bedoelde natuurlijk groepslooptijd, ik haal die dingen nogal eens door elkaar geloof ik, volgende keer krijg je taart, afgesproken?FASEDRAAIING IS NIET BELANGRIJK!!!!!!!!!!!
Met vriendelijke groet,Ten slotte nog iets over groepslooptijd. Dit blijkt een constante te zijn en komt uit op 7*Pi/(8*ws), wat dus betekent dat de fasecoherentie niet aangetast wordt en dus onhoorbaar is.
Sander Sassen
http://www.hardwareanalysis.com
Groet,
Jacco
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
Natuurlijk. 64 bit FP is bij dit soort dingen wel aan te raden. Echter heb ik niet echt de behoefte om iets dergelijks zelf te proberen.dekkersj schreef:Maarre, als je zo'n filter gaat maken, dan kan het zijn dat je je coefficienten moet gaan aanpassen door afrondingen in de praktische implementatie...
De CS8421 doet het toch al best netjes met 0.007 ripple en een stopband van -125 dB.
- SSassen
- Berichten: 11528
- Lid geworden op: vr 22 apr 2005, 10:21
- Locatie: Zuidoostbeemster
- Contacteer:
Mja, vind de CS8421 nu niet echt een goed voorbeeld, neem dan als voorbeeld een AD1896 of SRC4192.
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
Met vriendelijke groet,
Sander Sassen
http://www.hardwareanalysis.com
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
Tja, wisselend, de ripple van de SRC is iets minder, stopband is wel flink beter, THD vergelijkbaar. De AD lijkt toch flink minder met maar 0.016 db.SSassen schreef:Mja, vind de CS8421 nu niet echt een goed voorbeeld, neem dan als voorbeeld een AD1896 of SRC4192.
Dus volgens mij zijn die dingen redelijk aan elkaar gewaagd (waar de AD imho de slechtste is).
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Goed, die AD kan dus de kliko in...Onacceptabel.voodooless schreef:Tja, wisselend, de ripple van de SRC is iets minder, stopband is wel flink beter, THD vergelijkbaar. De AD lijkt toch flink minder met maar 0.016 db.SSassen schreef:Mja, vind de CS8421 nu niet echt een goed voorbeeld, neem dan als voorbeeld een AD1896 of SRC4192.
Ik kreeg ooit een tip om eens te kijken naar AK4395, die heeft een ripple van 0.0002 dB (in sharp roll-off mode). Dat is dus een pre echo op -95 dBFS. Netjes!
Groet,
Jacco
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
Dat is een DAC en geen ASRC jacco
Maar goed. Als je een SRC gebruikt is het niet zinvol om daar dan een DAC oversampling achter te zetten die ook weer ripple geeft. Dat is dubbelop.
De vraag is of een upsampler daadwerkelijk zoveel beter is dan een oversampling dac met digitaal filter. in essentie doen ze beiden hetzelfde natuurlijk. De upsamplers hebben echter vaak betere THD en ruis specs (maar dat is natuurlijk in het digitale domein) dan de DAC's.
De vraag is of een upsampler daadwerkelijk zoveel beter is dan een oversampling dac met digitaal filter. in essentie doen ze beiden hetzelfde natuurlijk. De upsamplers hebben echter vaak betere THD en ruis specs (maar dat is natuurlijk in het digitale domein) dan de DAC's.
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
In een digitaal filter is ook voorzien in de verzwakking die de DAC gaat maken (Sincverzwakking). Dat lijkt mij the way to go.voodooless schreef:Dat is een DAC en geen ASRC jaccoMaar goed. Als je een SRC gebruikt is het niet zinvol om daar dan een DAC oversampling achter te zetten die ook weer ripple geeft. Dat is dubbelop.
De vraag is of een upsampler daadwerkelijk zoveel beter is dan een oversampling dac met digitaal filter. in essentie doen ze beiden hetzelfde natuurlijk. De upsamplers hebben echter vaak betere THD en ruis specs (maar dat is natuurlijk in het digitale domein) dan de DAC's.
Een upsampler voegt nullen toe op de plaatsen waar je het signaal wilt interpoleren en die nulwaarden worden dan door een brickwall filter gerealiseerd (FIR). Als je genoeg voorgeschiedenis meeneemt, is dat veel nauwkeuriger dan op een lagere samplefrequentie diezelfde interpolatie te doen. Maar goed, de praktijk kan altijd afwijken en er zijn veel aspecten waar je op moet letten. Maar een ripple moet in de orde grootte zijn van 0,000x dB. Drie nullen en dan pas een getalletje. Anders hoef je mij niet wakker te maken.
Groet,
Jacco
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Nee, nullen toevoegen en dan door een filter (en dan niet het eerste de beste filter, nee het enige echte Sincfilter) halen. Ik zal het eens opzoeken.voodooless schreef:Nullen? Toch: kopieën van het voorgaande sample ertussen => de bekende trapjes => FIR filter => interpolatie ?dekkersj schreef:De vraag is of een upsampler daadwerkelijk zoveel beter is dan een oversampling dac met digitaal filter. in essentie doen ze beiden hetzelfde natuurlijk.
Ziezo, een dictaat "misbruikt" en het volgende is aan de hand bij upsamplen of interpoleren (in dit voorbeeld wordt een eenvoudig proces aangenomen, het integer upsamplen)

Je ziet 3 tijdassen. De bovenste is de originele datastroom in het tijddomein. Daaronder zie je de gecombineerde tijdas van de 2 klokken, klok b is 3 x hoger in frequentie dan klok a. Bij upsamplen worden er nullen toegevoegd op de plaatsen waar de twee klokken niet samenkomen (zie onderste tijdas) en dit is essentieel. Dus niet waarden onthouden oid.
Dit lijkt vreemd maar is heel logisch. Vervolgens moet je de nieuwe datastroom door een laagdoorlaatfilter (het ideale LDF) halen met een kantelpunt op de originele bandbreedte (van klok a dus). Schematisch is dat hier weergegeven:

De crux is dat je begrijpt dat de bemonsteringsreconstructie gedaan wordt door een serie Sincfuncties met het gewicht van de tijddiscrete waarde. Essentieel is dat dit een proces is waarbij de Sinc van het ene samplemoment geen bijdrage levert aan het andere. Dwz ten tijde van een samplemoment is telkens maar 1 Sinc verantwoordelijk voor de output. Voor de tussenliggende tijd doen ze echter allemaal mee. Daarom moet je de tussenliggende nieuwe tijdwaarden nul maken, anders zouden ze gaan meedoen in het uiteindelijke signaal en dat wil je niet. Omdat ze nul zijn, zullen ze exact de juiste waarde aannemen door de Sinc interpolatie. Thats all.
Groet,
Jacco
- voodooless
- Berichten: 4775
- Lid geworden op: di 02 nov 2004, 23:23
- Locatie: Arnhem
- Contacteer:
bedankt Jacco, echter is dit me niet helemaal duidelijk:
Bedenk ook effe dat het perfecte Sinc filter in de praktijk niet bestaat.dekkersj schreef:De crux is dat je begrijpt dat de bemonsteringsreconstructie gedaan wordt door een serie Sincfuncties met het gewicht van de tijddiscrete waarde. Essentieel is dat dit een proces is waarbij de Sinc van het ene samplemoment geen bijdrage levert aan het andere.
- dekkersj
- Berichten: 1210
- Lid geworden op: wo 11 jan 2006, 0:41
- Locatie: Steenbergen (NB)
- Contacteer:
Uiteraard, anders zouden we oneindig moeten wachten tot er eens iets uit de cd spelert komt. Daar zijn look-up tables voor die heel precies zijn.voodooless schreef:bedankt Jacco, echter is dit me niet helemaal duidelijk:
Bedenk ook effe dat het perfecte Sinc filter in de praktijk niet bestaat.dekkersj schreef:De crux is dat je begrijpt dat de bemonsteringsreconstructie gedaan wordt door een serie Sincfuncties met het gewicht van de tijddiscrete waarde. Essentieel is dat dit een proces is waarbij de Sinc van het ene samplemoment geen bijdrage levert aan het andere.
Overigens zit daar de ripple, aliasing problemen en al wat dies meer zij. Het ideale LDF wordt dan als FIR geimplemteerd (hoeft niet per se) en de tekortkomingen van dat filter bepalen het gedrag van dat bouwblokje.
Groet,
Jacco

