Jump to content

Har inte du heller fått någon AK4490EQ?


calle_jr

Recommended Posts

14 hours ago, Bebop said:

Ja, det låter märkligt, men hur är det med konvertering av bitdjupet, typ 16 till 24 visavi upsampling av frekvensen

Jag syftade på bitdjupet dvs gränserna för brusgolv och dynamikomfång.

Högre bitdjup ger intuitivt större headroom för nyttosignalen och minskar risk för digital distorsion.

 

Uppsampling av pcm ger intuitivt högre precision i tidslinjen.

 

För specialfallet dsd gör översampling att man har ett större omfång att sprida bruset på, och att sedan brusforma. Dessutom kan man flytta upp lågpassfiltreringen.

 

 

14 hours ago, Bebop said:

Samtidigt finns det så mycket som sägs och skrivs så jag blir inte klok på vem som är mest trovärdiga. Jag menar då från personer med bra CV i ämnet (vad det verkar). 

 

Ett exempel är vad som fler musikprogram skriver, att dagens "standard" på de flesta dacar är 24 bit, därför omvandlar vi bitdjupet till 24 bit så att dacen får bäst arbetsbetingelser". Både Lumin och Jriver skriver så och jag läser inga motargument från DAC tillverkarna. Det återstår ju fler processer som jag antar har betydelse och vad jag kan förstå av kurvorna finns det fortfarande headroom för ett bra slutresultat. Hur påverkar t ex FIR-filtren innan dacen,? 

De flesta har någon form av agenda, vilket innebär att man (medvetet eller omedvetet) lyfter fram fördelar och trycker ner nackdelar. Det är inget negativt i det, utan de försöker optimera sina egna lösningar efter en vald metodik.

Därför tycker jag att det är bra att försöka sätta sig in i några grundläggande funktionssätt, så att man har någon form av baskunskap när man ska ta till sig prylar i den digitala djungeln.

 

Just att försöka anpassa formatet för sin dac tycker jag är helt rätt. Enbart det innebär också att det blir i princip meningslöst att diskutera vad som låter bäst. Det blir för många parametrar som spelar in för att kunna göra en slags checklista "bra/dåligt" och att någon annan ska kunna dra slutsatser. Exvis filterimplementering som du skriver.

 

Link to comment
Share on other sites

  • 4 weeks later...
On 2019-12-23 at 15:02, calle_jr said:

Men visst är det märkligt att;

- format med lägre upplösning ger synbart bättre resultat vid konvertering.

- beräknade prestanda ligger långt under möjliga prestanda.

 

Audacity verkar ignorera kvantiseringsbrus 

 

Jag kanske upprepar mig nu, men har du testat med att använda mer än ett program som gör konverteringar? Eftersom det diffar mellan teori och praktik.

 

Min erfarenhet är att även om algoritmen är känd så är implementation också enormt viktig. Nu är de som gör Audacity säkert riktigt duktiga på det de gör, men det skadar inte att testa.

Link to comment
Share on other sites

7 hours ago, tek said:

 

Jag kanske upprepar mig nu

Nejdå. Något är ju tokigt så det gäller att hitta det. Fenomenet med processing gain är välkänt och går att kompensera för, vilket jag har gjort. Men det stämmer inte ändå. Det är något med äpplen och päron som jag inte förstår.

 

- Ursprungsfilerna är skapade i Audacity.

- Konverteringar är utförda i både Audacity, JRiver och EZ Audio Converter.

- FFT är utförda i Audacity.

 

Jag har funderat på om det kan vara så att Audacity alltid arbetar med 32-bitars flyttal fastän man inte ställt in det så. Men det borde ändå finnas minst det kvantiseringsbrus som definieras av respektive format. En ljudfil kan ju inte bli bättre än vad formatet tillåter.

Link to comment
Share on other sites

Jag har försökt mecka ihop i en sigma-delta modulator nyss. Jag vet inte riktigt om jag har lyckats, men det ser rätt ut. Jag håller på att gå igenom det nu.

 

LILA - Bitström

BLÅ - Analog Insignal

VIT - Bitströmmen filtrerad med ett RC-filter på 5k, 1nF

image.png

Link to comment
Share on other sites

3 hours ago, tek said:

Jag har försökt mecka ihop i en sigma-delta modulator nyss.

Super!

Det ser rätt ut, 1kHz. Vad är det för samplingsfrekvens?

Kan du skapa pcm också?

Hur vet du vad det är för brusnivå i den analoga signalen?

 

Link to comment
Share on other sites

Min PCM är bara en signal som gått igenom en SOH-krets. Ingen dither än så länge.

 

Sigma Delta körs med 44.1k*64, PCM samplas bara 1 gång per 64 sampel. 

 

image.png

 

1 hour ago, calle_jr said:

Hur vet du vad det är för brusnivå i den analoga signalen?

 

Jag vet inte hur jag ska få ut det riktigt, jag håller på att göra en FFT men programmet trilskas och gör inte som jag vill. :)

Ska se om jag kan lösa det under kvällen.

 

Link to comment
Share on other sites

Jag hade från början byggt en första ordningens "digital" sigma delta, men har nu ändrat till en diskret, med opampar, komparatorer och vippor för avlusning. 

 

Jag får fortfarande mestadels en rätt brusig FFT. Men här är en FFT (Blackman, 130ks). 

Lågpassfiltreringen med ett LPfilter med ett enkelt RC blir filter är alldeles för dåligt, i bilden nedan är filtret en integrator. som inte är optimerad. Bandbredden är runt 16kHz.

 

image.png

 

Link to comment
Share on other sites

 

Mycket bra. Jag har en del att ta in för att få en klar helhetsbild.

 

Skumt att det blir brusigt med så högupplöst FFT. Det kanske blir bättre med en längre sekvens, säg 10sek (vet inte hur lång sekvens du har).

Bra att du inte har använt 0dBFS för 1kHz-tonen, men man får beakta det i SNR (ser ut som ca -9dB).

Varför använder du Blackman och inte någon som är mer välanvänd för ändamålet som Hanning?

 

Innan vi kan gå vidare behöver man reda ut hur själva FFT-processen påverkar överföringen från tids- till frekvensdomänen. Alltså hur mycket som är processing gain.

 

Vi får klura vidare.

Kan du spara input och output som något ljudformat?

Link to comment
Share on other sites

2 hours ago, calle_jr said:

Mycket bra. Jag har en del att ta in för att få en klar helhetsbild.

 

Skumt att det blir brusigt med så högupplöst FFT. Det kanske blir bättre med en längre sekvens, säg 10sek (vet inte hur lång sekvens du har).

Bra att du inte har använt 0dBFS för 1kHz-tonen, men man får beakta det i SNR (ser ut som ca -9dB).

Varför använder du Blackman och inte någon som är mer välanvänd för ändamålet som Hanning?

 

Testade runt med några olika fönster när jag började fastnade med Blackman. Det är farligt att börja använda något, då blir man fast när man jämför olika implementationer. Så visst jag kunde och troligtvis borde använt Hanning.

 

2 hours ago, calle_jr said:

Innan vi kan gå vidare behöver man reda ut hur själva FFT-processen påverkar överföringen från tids- till frekvensdomänen. Alltså hur mycket som är processing gain.

 

Vi får klura vidare.

Kan du spara input och output som något ljudformat?

 

Jag tror också en möjlighet är att problemet ligger längden tid som du skriver, alternativt köra kortare serier och medelvärdesbilda. 10s är för långt för NL5 som jag använder. Jag har endast kört ca 100-300ms hittils. Det finns tyvärr ingen möjlighet praktiskt köra så långa tider som 10s, i varje fall inte på kretsen jag kör. Det går inte heller att spara ner data i en fil under run-time för efterbearbetning i annat program. Lite surt faktiskt, möjligtvis kan nåt kraftfullare verktyg lämpligare som exempelvis Simulink vara ett bättre alternativ. Jag ska kolla upp detta.

 

Ett annat alternativ är att implementationen som inte stämmer. Jag håller på att testa en ny version där jag ökat graden på modulatorn till 2. Dock utan någon större framgång hittils. Jag ska försöka hitta nån lämplig referenslitteratur. Just nu är implementationen lite på ful-hacksnivå.

 

Link to comment
Share on other sites

 

Ok, det börjar klarna.

 

I detta fall får du 13000/2=65000 värden som vart och ett är ett medelvärde av 130000/44100=3sek ljud.

Jag tror att du måste ha minst 3sek eller minska upplösningen på FFTn.

 

 

21 hours ago, tek said:

möjligtvis kan nåt kraftfullare verktyg lämpligare som exempelvis Simulink vara ett bättre alternativ.

Å andra sidan kul om du får till det med NL5 som du är väl insatt i för övrigt. Det är ju en mycket bra mjukvara i övrigt, vad du visat.

Intressant om det går att visa vad som händer i konverteringar fram och tillbaka mellan pcm och dsd och olika bitdjup.

 

Link to comment
Share on other sites

21 hours ago, calle_jr said:

Å andra sidan kul om du får till det med NL5 som du är väl insatt i för övrigt. Det är ju en mycket bra mjukvara i övrigt, vad du visat.

Intressant om det går att visa vad som händer i konverteringar fram och tillbaka mellan pcm och dsd och olika bitdjup.

 

Jo det vore det bästa, det var längesen jag pillade med Simulink.

 

Men det verkar inte som NL5 är "up for it", eller så gör jag nåt fel. Jag testade igår med 1s utan egentlig skillnad. Jag ska testa 3s också, alternativt 1.5s med 65k FFT.

 

 

Link to comment
Share on other sites

On 2020-01-29 at 23:32, tek said:

Här är en simulering på 3sekunder med 32k, 65k och 130k. :Thinking:

 

 

Vad jag kan se så motsvarar det snarare 6 bitar än 16 om man tar hänsyn till processing gain i FFT.

Signalen är inte full scale utan ca -6dB.

Med FFT-size 32k blir DR=78dB för 6 bitar. -6-78=-84dB vilket stämmer med första diagrammet. 

Med FFT-size 64k blir DR=81dB för 6 bitar. -6-81=-87dB vilket stämmer med andra diagrammet. 

Med FFT-size 130k blir DR=84dB för 6 bitar. -6-84=-90dB vilket stämmer med tredje diagrammet. 

 

Jag utgår då från Hanning som ger NENBW=1.5.

 

image.png

 

Link to comment
Share on other sites

Hmmm

 

Jag ska kolla över implementeringen. Sigma delta modulatorn är 'diskret' uppbyggd och insignalen bör därmed vara en double. Men det kan vara nåt fuffens med andra delar. Troligtvis förlorar jag upplösning någonstans, men det syns inte som ett 'fel'.

 

Ska rita så får du hjälpa mig att felsöka. Jag har inte beställt nån litteratur än så jag är 'grön' på området. 

 

Och ja, fönstret är hanning.

Link to comment
Share on other sites

18 minutes ago, tek said:

Jag ska kolla över implementeringen. Sigma delta modulatorn är 'diskret' uppbyggd och insignalen bör därmed vara en double. Men det kan vara nåt fuffens med andra delar. Troligtvis förlorar jag upplösning någonstans, men det syns inte som ett 'fel'.

Din implementering kan mycket väl vara rätt, och att det är nåt annat som jag eller du har glömt ta upp. Jag fick det ju inte att stämma i Audacity heller.

Mycket bra att börja såhär från scratch. Vi kommer nog på det så småningom.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...