Obsah fóra hifi.slovanet.sk hifi.slovanet.sk


 
 FAQFAQ   HľadaťHľadať   Zoznam užívateľovZoznam užívateľov   Užívateľské skupinyUžívateľské skupiny   RegistráciaRegistrácia 
 NastaveniaNastavenia   Súkromné správySúkromné správy   PrihláseniePrihlásenie 
http://www.tnt-audio.com/gif/smallstereo_white.gif

Softwarová kompenzace harmonického zkreslení měřicí smyčky
Choď na stránku Predchádzajúca  1, 2, 3 ... 20, 21, 22
 
Pridať novú tému   Zaslať odpoveď    Obsah fóra hifi.slovanet.sk -> Zdroje signálu
Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
opa
Hifi inventar


Založený: 24 február 2007
Príspevky: 10381
Bydlisko: Praha

PríspevokZaslal: St marec 13, 2019 11:10:24    Predmet: Odpovedať s citátom

dustin napísal:
Nyní přidám vstup/výstup do souboru místo zvukovky, tedy podporu pro tvůj režim. Pro použití postačí čisté octave z instalátoru (win, linux), rozbalit zip stažený z githubu a drobná konfigurace...

Octave mám nainstalováno už když jsem generoval pomocí toho scriptu.
Až budou dodělány vstupy/výstupy, poprosím o odkaz na ten github (nebo nejlépe přímo na ten správný zip).
Popis, jak s tím pracovat asi budu muset ještě několikrát přečíst, ale snad to nakonec pochopím. Ono to asi bude jasnější, když to člověk zkusí.
Nicméně všechny pokusy můžu dělat jenom na WIN7, tedy s externí zvukovkou (Steinberg). Do Win XP jsem Octave neprotlačil, instalace na něčem zdechla.
Koneckonců, trochu horší zvukovka, než mám na XP, vlastně nevadí, alespoň bude zřetelnější přínos té kompenzace.
Když DUT nastavím tak, aby přenos byl jednotkový, kompenzace se provede v loopbacku na definované úrovni, tak by to nejspíš mělo fungovat i v té zjednodušené verzi bez relátek a přepínačů.

_________________
Cui bono ?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


Založený: 06 október 2006
Príspevky: 4297
Bydlisko: Plzeň

PríspevokZaslal: St marec 13, 2019 11:56:42    Predmet: Odpovedať s citátom

opa napísal:

Octave mám nainstalováno už když jsem generoval pomocí toho scriptu.


Super, pro souborovou verzi nebudeš nic jiného potřebovat.

citácia:

Až budou dodělány vstupy/výstupy, poprosím o odkaz na ten github (nebo nejlépe přímo na ten správný zip).


Na https://github.com/pavhofman/nonlinear-compensation/ rozbalíš menu "Clone or download" a dáš Download ZIP. Tím vždy dostaneš nejnovější verzi. Do ní bude potřeba nakopírovat tvůj nastavený konfigurák. Ještě to nějak promyslím, aby byl snadný update ze zipu. Když se používá systém na správu verzí git, mění se automaticky jen změněné soubory, takže původní adresář s lokálními konfiguráky zůstává. Ale git je pro tebe zbytečný.

citácia:
Popis, jak s tím pracovat asi budu muset ještě několikrát přečíst, ale snad to nakonec pochopím. Ono to asi bude jasnější, když to člověk zkusí.


Jasně, ale i z toho videa je vidět, že to bude jednoduché.

citácia:
Nicméně všechny pokusy můžu dělat jenom na WIN7, tedy s externí zvukovkou (Steinberg). Do Win XP jsem Octave neprotlačil, instalace na něčem zdechla.
Koneckonců, trochu horší zvukovka, než mám na XP, vlastně nevadí, alespoň bude zřetelnější přínos té kompenzace.


Souborovou verzi můžeš spouštět na čemkoliv, kde ti poběží octave. Komplet s podporou zvukovky (což stále věřím, že se k tomu ve finále dostaneš Smile ) bude vyžadovat funkční octave a nějaký ten audio loopback. Kompilace rozšíření playrec je přímo z octave, tam bude stačit jen rozbalit jeden zip a spustit skript přímo v octave.

Windowsovský instalátor octave si už s sebou nese vše potřebné pro kompilaci rozšíření, což je obrovské usnadnění. Uvidíš, že to pak dáš snadno.


citácia:
Když DUT nastavím tak, aby přenos byl jednotkový, kompenzace se provede v loopbacku na definované úrovni, tak by to nejspíš mělo fungovat i v té zjednodušené verzi bez relátek a přepínačů.


Pro souborovou verzi (tj. fixní kompenzace na straně přehrávání) je to jedno. Naměřené distorze při vstupním levelu se stejně škálují na aktuálně přehrávaný level. V případě souborů se naškálují na level, který nastavíš v tom generátoru signálu při generování wavu s antidistorzemi.

Pro zvukovkovou verzi (tedy split-sides kompenzace) to vidím na dvě verze adaptéru. Ruční bude mít pár přepínačů a (ideálně) víceotáčkový potenciometr.

Automatický bude... automatický, výstupní/vstupní buffery s gainem x1/x10 atd.

Myslím si (doufám), že ten ruční bude pro běžnou práci stačit. Taky ještě dlouho nic jiného mít nebudu Smile
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 9051
Bydlisko: Praha

PríspevokZaslal: Pi marec 15, 2019 19:45:27    Predmet: Odpovedať s citátom

dustin, ked uz bude kalibrovane DA, tak by slo pomocou druheho DA kanalu urobit odcitanie fundamentu z meraneho signalu v analogovej domene na pripravku a AD by uz len meralo harmonicke.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


Založený: 06 október 2006
Príspevky: 4297
Bydlisko: Plzeň

PríspevokZaslal: Pi marec 15, 2019 21:03:19    Predmet: Odpovedať s citátom

Velice zajímavá myšlenka. Vlastně notch filtr na libovolné frekvenci. Ten zesík x10, který by tam stejně byl, by zbytky vhodně zesílil mimo šum. Sice by pak nefungovala kompenzace na straně ADC, protože by se bez fundamentu neměla čeho chytit, ale to nevadí, protože zkreslení malých distorzí není podstatné.

DUT zavede zpoždění, které způsobí nenulové odečtení fundamentu. Ovšem můžeme ve zpětné vazbě naladit zpoždění referenčního kanálu z DACu, aby byl výsledek minimální. Pak můžeme vyladit amplitudu, aby byl fundament z diferáku nulový/minimální.

Jenže stejně nebudeme mít DAC zkompenzovaný tak přesně, aby po zesílení za notch filtrem nevylezla jeho zkreslení. To by se musel nějak kompenzovat už s použitím toho notch filtru.... hmm to už by byla pěkná vychytávka pro Keysight nebo AP Smile
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
opa
Hifi inventar


Založený: 24 február 2007
Príspevky: 10381
Bydlisko: Praha

PríspevokZaslal: Pi marec 15, 2019 21:42:01    Predmet: Odpovedať s citátom

dustin napísal:
... Ovšem můžeme ve zpětné vazbě naladit zpoždění referenčního kanálu z DACu, aby byl výsledek minimální. Pak můžeme vyladit amplitudu, aby byl fundament z diferáku nulový/minimální.

To zpoždění lze běžnými prostředky ladit s krokem 1/Fs. To je málo, to na notch filtr nestačí. Celý ten princip je trochu sporný, zkus jednoduchou věc, do jednoho kanálu signál a do druhého v protifázi. Pak to analogově sečti, měl bys dostat nulu. A to, co nebude nula, to je chyba metody.
S opravdovým notch filtrem potlačíš první harmonickou třeba o 80 dB bez jakéhokoliv narušení harmonických složek. Abych nekecal, obyčejné 2T trochu skrouhne nižší harmonické a každý notch filtr přidá šum. Ale to je všechno.

_________________
Cui bono ?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


Založený: 06 október 2006
Príspevky: 4297
Bydlisko: Plzeň

PríspevokZaslal: Pi marec 15, 2019 22:02:23    Predmet: Odpovedať s citátom

opa napísal:

To zpoždění lze běžnými prostředky ladit s krokem 1/Fs.


Ano, pokud bys zpožďoval signál z nějakého externího softwaru. Referenci by sis ale generoval sám, již stávající verze umí generovat na obou stranách, používá se např. při kalibraci pro měření transferu LP filtru na frekvencích jednotlivých distorzí. Takže frekvenci generátoru arty (tedy DUTu) znáš (ta se zjišťuje neustále na obou stranách) a do druhého kanálu můžeš generovat tu samou, ovšem s libovolným časovým posunem/fází. Přesně tak se generují ty antidistorze a zvládají se odečítat s přesností na -140dB. Možná i víc, ale zatím nepoužívám tak čistou zvukovku.

citácia:
To je málo, to na notch filtr nestačí. Celý ten princip je trochu sporný, zkus jednoduchou věc, do jednoho kanálu signál a do druhého v protifázi. Pak to analogově sečti, měl bys dostat nulu. A to, co nebude nula, to je chyba metody.


Výše uvedeným postupem (nejdříve minimalizovat rozdíl optimalizací fáze a pak jej stáhnout do nuly optimalizací amplitudy) se dostaneš spolehlivě na nulu v rámci šumu FFT. Ani nemusí mít diferák gain laděný laserem, tímhle to nastavíš řádově přesněji.


citácia:
S opravdovým notch filtrem potlačíš první harmonickou třeba o 80 dB bez jakéhokoliv narušení harmonických složek.


Troufnu si tvrdit, že výše uvedeným postupem potlačíš první harmonickou na nulu/šum FFT i s obyčejným SW vykompenzovaným operákem jako diferákem a na té ji udržíš, když necháš zpětnovazební smyčku průběžně dolaďovat pořád se měnící gain kanálů DACu i DUTu. Ale při následném zesílení zesílíš i distorze DACu, které dosud byly pod limitem kompenzace, tedy nezkompenzované. A bez zesílení notch filtr až tak nepotřebuju, protože ty distorze DUTu nad šumem už stejně vidím. Když je zesílím, nevím, zda pochází z DUTu, nebo z DACu.

Ale možná se to dá vymyslet a možná bychom byli/možná budeme překvapeni, jaké další možnosti/nápady se ještě objeví. Nicméně tohle všechno lze kdykoliv přidat rozšířit, upravit.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


Založený: 06 október 2006
Príspevky: 4297
Bydlisko: Plzeň

PríspevokZaslal: Po marec 18, 2019 12:07:51    Predmet: Odpovedať s citátom

opa: Bohužel kompenzace v octave pod Win XP spustit nepůjde. Octave sice běží, ale přibalená knihovna pro komunikační protokol ZeroMQ volá API windows if_nametoindex, které bylo přidané až ve Vistách https://msdn.microsoft.com/en-us/library/windows/desktop/bb408409%28v=vs.85%29.aspx . ZeroMQ používám pro komunikaci mezi skripty na obou stranách zvukovky a procesem s GUI.

Přehrávání/ukládání audio souborů je už skoro hotové. Pro použití čistě souborů nejsou potřeba zvukovky a tedy zkompilovaný playrec (napojení octave na zvukovky), ale zeromq se stejně používá, protože načítání/ukládání audio souboru provádí skript na nahrávací straně a ovládá se to skriptem z GUI - tedy musí komunikovat.

Také lze zeromq ve výkonných skriptech úplně vypnout a posílat příkazy místo z GUI panelu rovnou zápisem do ovládacích souborů. Pak by se konverze naskriptovala bez GUI a takový skript by šel spustit ve WinXP s tím, že by názvy vstupních i výstupních souborů byly fixní. To jsem před chvílí otestoval a funguje OK i pod Win XP. Takže pro WinXP je to jediný způsob použití - spustit skript v octave, který nastartuje přehrávací proces a pošle mu příslušné příkazy přes soubory:

* začni přehrávat soubor nahrany.wav/flac
* proveď jednorázovou kalibraci - vytvoří se kalibrační profil pro fundament v přehrávaném souboru
* zapni generátor na požadované frekvenci a amplitudě - to bude asi ve skriptu natvrdo jako parametry. Od té chvíle bude na vstupu čistý sinus, místo vzorků z nahraného souboru.
* spusť kompenzaci - tím se začnou do čistého sinu přidávat antidistorze
* zapni nahrávání do paměti
* skript počká požadovanou časovou délku výstupního souboru
* ulož nahrané vzorky do souboru antidistorted.wav/flac

Přesně stejná sekvence by se dělala výběrem příkazů v rozbalovacím menu GUI, od Win7 výše.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
opa
Hifi inventar


Založený: 24 február 2007
Príspevky: 10381
Bydlisko: Praha

PríspevokZaslal: Po marec 18, 2019 13:16:49    Predmet: Odpovedať s citátom

Nechtěl jsem s těma XP moc otravovat, už je to fakt starý systém. Nicméně když by to nějak šlo, třeba i bez jakéhokoliv komfortu, bylo by to fajn. Zatím ale neprošla ani samotná instalace Octave, tak je otázka kolik energie tomu věnovat...
V každém případě dík. Až bude nějaká zkušební verze pro sedmičky, dej prosím vědět.

_________________
Cui bono ?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


Založený: 06 október 2006
Príspevky: 4297
Bydlisko: Plzeň

PríspevokZaslal: Po marec 18, 2019 13:33:43    Predmet: Odpovedať s citátom

Instalace octave mi na Win XP (po upgradu na SP3, ale to bylo z jiného důvodu) proběhla zcela bez problémů. Instaloval jsem stejnou verzi 4.2.2, jakou používám v linuxu, tedy na seznamu https://mirror.kumi.systems/gnu/octave/windows/ jsem vybral https://mirror.kumi.systems/gnu/octave/windows/octave-4.2.2-w32-installer.exe .

Je možné, že novější verze již nefungují, to jsem nezjišťoval.

V každém případě ten skript lze pak kdykoliv udělat. Ani cesty k souborům by nemusely být natvrdo, použití dialogu pro výběr souborů je jeden řádek (např. včerejší kód https://github.com/pavhofman/nonlinear-compensation/blob/master/octave/ctrl/clbkReadFile.m#L5 )
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
opa
Hifi inventar


Založený: 24 február 2007
Príspevky: 10381
Bydlisko: Praha

PríspevokZaslal: Ut marec 19, 2019 22:46:32    Predmet: Odpovedať s citátom

dustin napísal:
Instalace octave mi na Win XP (po upgradu na SP3, ale to bylo z jiného důvodu) proběhla zcela bez problémů. Instaloval jsem stejnou verzi 4.2.2, jakou používám v linuxu, tedy na seznamu https://mirror.kumi.systems/gnu/octave/windows/ jsem vybral https://mirror.kumi.systems/gnu/octave/windows/octave-4.2.2-w32-installer.exe .

Díky za radu !
Instalace do Win XP proběhla bez problémů.
Akorát mi nadává, že mu chybí Java. Obejdu se bez ní, nebo mám doinstalovat nějakou ze starších verzí ? Případně kterou ?
https://www.instaluj.cz/java-2-runtime-environment/starsi-verze

_________________
Cui bono ?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


Založený: 06 október 2006
Príspevky: 4297
Bydlisko: Plzeň

PríspevokZaslal: Ut marec 19, 2019 23:08:34    Predmet: Odpovedať s citátom

Mrknu zítra v práci, dělal jsem to na nějaké starém virtuálu s XP.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:   
Pridať novú tému   Zaslať odpoveď    Obsah fóra hifi.slovanet.sk -> Zdroje signálu Časy uvádzané v GMT + 1 hodina
Choď na stránku Predchádzajúca  1, 2, 3 ... 20, 21, 22
Strana 22 z 22

 
Prejdi na:  
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.
Nemôžete pripojiť súbory do tohto fóra.
Nemôžete sťahovať súbory z tohto fóra.


Powered by phpBB © 2001, 2005 phpBB Group
Slovenský preklad phpBB Slovak - www.pcforum.sk
TOPlist