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

Bolo zavedene manualne potvrdzovanie registracii !!!
 
 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 
https://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, 4 ... 29, 30, 31  Ďalšia
 
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
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 07:05:06    Predmet: Odpovedať s citátom

dustin, oprava faz harmonickych na vystupe by mohla byt v pohode (vypocet v komplexnych cislach a nasobenie tych polynomov pootocenou jednickou).

v octave je to hracka: Z = R.*exp(i*theta)

a snad i tie rovnice z clanku zvladnu komplexne koeficienty...
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
PMA
Pavel Macura


Založený: 18 január 2007
Príspevky: 20444

PríspevokZaslal: Po október 22, 2018 09:44:51    Predmet: Odpovedať s citátom

Zohledníš kmitočtovou závislost nelinearity? Pokud budeš kompenzovat jenom quasiDC nelinearitu (DC se nepřenáší, míněna velmi NF do desítek max. stovek Hz), tak je praktický efekt nulový. Chápu to jako zajímavou hračku, ale o přínosu pro cokoliv, co by ovlivňovalo zvuk, s úspěchem pochybuju.
_________________
mám rád hifi, ale víte, jak je to dál .....
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Zobraziť autorové WWW stránky
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 10:52:02    Predmet: Odpovedať s citátom

Miero, máš PM s tím paperem. Dneska už se nestihnu tím prokousat, ale nevypadá to až tak složitě. Z fází složek tam řeší jenom polaritu, tak uvidíme, zda to bude mít nějaký smysl.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 14:57:03    Predmet: Odpovedať s citátom

PMA, aktualny "plan" je vymysliet ci pojde kompenzovat skrelenie na zvolenej/kalibrovanej frekvencii a hlasitosti pre AD alebo aspon pre DA.

Cize zatial bez praktickeho prinosu pre zvuk. Ked tak mozno pre nejake meranie.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 15:20:57    Predmet: Odpovedať s citátom

Miero, ta detekce harmonických funguje luxusně!
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 16:50:26    Predmet: Odpovedať s citátom

som rad. akurat amplituda zavisi od pouziteho okna. a faza z fft vychadza divoko, napr. sa vyrazne lisi od susednych binov ... takze tu brat urcite s rezervou
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 17:26:40    Predmet: Odpovedať s citátom

Ještě přemýšlím zkusit úplně jiný směr - výstup známe, vstup také známe (snadno si vygenerujeme), časový posun s přesností na vzorek bychom taky uměli najít (i přímo v octave), co zkusit ten triviální postup pomocí polyfit https://www.mathworks.com/help/signal/examples/analyzing-harmonic-distortion.html#d120e2046 Můžeme to pustit na delší vzorky, zvolit víc řádů atd...
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 20:11:01    Predmet: Odpovedať s citátom

Tohle vypadá, že funguje.

Reálný nahraný vzorek Juli.

Polynom 10. řádu, koeficienty interpolací metodou nejmenších čtverců (polyfit() ):

kód:
 -5.9901e-04  -1.4213e-04   1.1386e-03   3.2645e-04  -8.0769e-04  -3.3808e-04   2.6752e-04   1.4446e-04  -1.9022e-05   1.0519e+00  -4.8456e-06


FFT v pořadí: originál 1kHz, nahrané vzorky, kompenzované vzorky, nahrané * -40dB poté kompenzované stejnou kalibrací (tj. vstupní signál se snížil o 40dB, ale použila se původní kompenzace).

Pokud je na místě harmonické 0Hz, nedokázal algoritmus zdetekovat lokální maximum v rozsahu očekávané harmonické - hodnota je nepodstatná.

kód:
Input:
 1000.74 Hz,   -1.63 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 3000.97 Hz, -167.24 dB,  300.15 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 5001.19 Hz, -179.48 dB,  234.73 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 7000.68 Hz, -168.28 dB,  181.47 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 9000.17 Hz, -177.24 dB,  326.68 dg
    0.00 Hz, -999.00 dB,    0.00 dg

Recorded:
 1000.74 Hz,   -2.07 dB,    0.00 dg
 2001.22 Hz, -101.95 dB,  338.47 dg
 3000.97 Hz, -111.45 dB,  118.14 dg
 4000.71 Hz, -125.56 dB,  281.07 dg
 5001.19 Hz, -114.70 dB,  267.69 dg
 6000.93 Hz, -129.02 dB,  275.29 dg
 7000.68 Hz, -128.92 dB,   70.40 dg
 8001.15 Hz, -130.24 dB,   18.81 dg
 9000.90 Hz, -131.16 dB,  168.05 dg
    0.00 Hz, -999.00 dB,    0.00 dg

Calibrated:
 1000.74 Hz,   -1.63 dB,    0.00 dg
 2001.22 Hz, -116.84 dB,  335.83 dg
 3000.97 Hz, -114.69 dB,  106.69 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 5001.19 Hz, -125.66 dB,  128.77 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 8001.15 Hz, -127.04 dB,   22.75 dg
 9000.90 Hz, -127.78 dB,  175.20 dg
    0.00 Hz, -999.00 dB,    0.00 dg

Calibrated Attenuated -40dB:
 1000.74 Hz,  -41.63 dB,    0.00 dg
 2001.22 Hz, -141.45 dB,  338.47 dg
 3000.97 Hz, -151.00 dB,  118.15 dg
 4000.71 Hz, -165.13 dB,  281.07 dg
 5001.19 Hz, -154.27 dB,  267.69 dg
 6000.93 Hz, -168.58 dB,  275.29 dg
 7000.68 Hz, -168.48 dB,   70.40 dg
 8001.15 Hz, -169.80 dB,   18.81 dg
 9000.90 Hz, -170.72 dB,  168.05 dg
    0.00 Hz, -999.00 dB,    0.00 dg


Pro Calibrated je zřetelné snížení všech harmonických, některé se staly nezdetekovatelnými.

Attenuated -40dB má všechny harmonické nejvýše v úrovní "nahraný -40dB" (max. +0.5dB u 6. harmonické), některé jsou stále nižší. Kompenzační polynom zkalibrovaný pro plný rozsah je v tomto rozsahu již téměř přesně lineární (tj. nic nemění), ale důležité je, že nedošlo k poměrnému zhoršení žádné z harmonických.

Výpočet současně eliminuje veškerý DC offset (poslední koeficient polynomu -4.8456e-06) a řeší kalibraci obou kanálů pro virtuální symetriku (předposlední parametr lineární gain 1.0519e+00 - pro každý kanál bude jiný).

Asi půjde vyřešit i výpočet rozdělení výsledků kalibrace na příspěvek výstupu a vstupu - tj. vyčistit nelinearitu výstupu.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 20:22:15    Predmet: Odpovedať s citátom

pekne.
skus znizit stupen polynomu o 2, tie posledne harmonicke sa zhorsili
tych -40dB bolo nahranych cez delic?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 20:22:53    Predmet: Odpovedať s citátom

Kód chce vyčistit, víc zautomatizovat, opravit okrajové podmínky. Je blbost nahrávat originální sinus z wavu, když lze vygenerovat atd...

kód:
#pkg install -forge general
#pkg install -forge miscellaneous
pkg load miscellaneous
pkg load control
pkg load signal


function [hhh] = drawfft_getharmonics(samples, fs, label)
  nfft = 2^16;
  data = samples(1:nfft);
  winlen = length(data);
  winfun = hanning(winlen);
  waudio = zeros(nfft, 1);
  waudio(1:winlen) = data .* winfun;
  yf = fft(waudio);
  nffto2 = nfft / 2;
  # fft normalization and window compensation
  y = abs(yf(1:nffto2)) / (nffto2 * mean(winfun));
  # logarithmic y-axis
  y = 20 * log10(y);
  x = linspace(1, fs/2, nffto2);

  % [ freq , power, angle ]
  merged = [x', y, arg(yf(1:nffto2)) * 180/pi];

  sorted = sortrows(merged, [-2]);

  hhh = repmat([0,-999,0],10,1);
  ff = sorted(1, 1);
  fa = sorted(1, 2);
  fp = sorted(1, 3);
  hhh(1, :) = [ ff, fa, 0 ];
  binwidth = fs / nfft;
  skip=int32(1.5*ff/binwidth);
  merged2 = merged(skip:nffto2, :);
  sorted2 = sortrows(merged2, [-2]);
  for i = 1:100
      r = sorted2(i, :);
      n =int32(r(1) / ff);
      if abs(r(1) - (n * ff)) < 10
          if n <= 10 && hhh(n, 1) == 0
              hhh(n, :) = [r(1), r(2), mod(r(3) - fp, 360)];
          end
      end
  end
  figure(1,"position",get(0,"screensize"));

  semilogx(x, y, 'linewidth', 1.5, 'color', 'black');
  grid('on');
  ylim([-180 0])
  axis([10 30000]);
  xlabel('Frequency (Hz)', 'fontsize', 10);
  ylabel('Magnitude (dB)', 'fontsize', 10);
  title(label);
  % change the tick labels of the graph from scientific notation to floating point:
  xt = get(gca,'XTick');
  set(gca,'XTickLabel', sprintf('%.0f|',xt))
endfunction


samplesCnt = 2^16;

[orig, fs, nbits] = wavread("/home/pavel/in.wav");



[recorded, fs, nbits] = wavread("/home/pavel/recorded.wav");


maxlag = 48000/1000/2; # half period of measurement frequency 1kHz
[R, lag]=xcorr(orig, recorded, maxlag);

[value, offsetFromStart] = max(R);
disp(offsetFromStart);



offset = offsetFromStart - maxlag;

disp(offset);

if (offset > 0)
  origChopped = orig(offset:2*samplesCnt);
  recChopped = recorded(1:2*samplesCnt + 1 - offset); 
else
  origChopped = orig(1:samplesCnt);
  recChopped = recorded(offset + 1:samplesCnt + offset); 
end

#plot(origChopped(30:40));
#waitforbuttonpress();
#plot(recChopped(30:40));
#waitforbuttonpress();

polyCoeff = polyfit(recChopped, origChopped, 10);
disp(polyCoeff);

subplot(4,1,1);
hhh= drawfft_getharmonics(orig, fs, "Input");
fprintf('Input:\n');
fprintf('%8.2f Hz, %7.2f dB, %7.2f dg\n', hhh');


subplot(4,1,2);
hhh= drawfft_getharmonics(recChopped, fs, "Recorded");
fprintf('Recorded:\n');
fprintf('%8.2f Hz, %7.2f dB, %7.2f dg\n', hhh');

recovered = polyval(polyCoeff, recChopped);
subplot(4,1,3);
hhh = drawfft_getharmonics(recovered, fs, "Compensated");

fprintf('Calibrated:\n');
fprintf('%8.2f Hz, %7.2f dB, %7.2f dg\n', hhh');

recoveredAtten = polyval(polyCoeff, recChopped*0.01);
subplot(4,1,4);
hhh = drawfft_getharmonics(recoveredAtten, fs, "Compensated -40dB");

fprintf('Calibrated Attenuated -40dB:\n');
fprintf('%8.2f Hz, %7.2f dB, %7.2f dg\n', hhh');

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


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

PríspevokZaslal: Po október 22, 2018 20:30:10    Predmet: Odpovedať s citátom

Těch -40dB jsem "simuloval", co to udělá, když se zkalibruje (spočítá polynom) na plný rozsah a pak sníží signál z DUTu. Prostě jsem jenom naměřený signál vynásobil 0.01 a prohnal kompenzací, tedy vynásobil tím předpočítaným fixním polynomem.

V reálu by se změnilo spektrum slabšího nahraného signálu, to jsem nezkoušel. Bude to chtít nějakou dočasnou kalkulaci do alsy, než rovnou upravovat route plugin, s tím bude víc práce.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 20:33:46    Predmet: Odpovedať s citátom

Tak do 8. řádu polynomu dochází ke zlepšení, pro vyšší řády už to zůstává víceméně stejné, jenom náročnější výpočet.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 20:45:46    Predmet: Odpovedať s citátom

Nemam dobre spravy, pri znizeni amplitudy o 0.5dB sa ta kompenzacia na mojom signale pokazi - niektore harmonicke i o +10dB.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:01:53    Predmet: Odpovedať s citátom

Hm, mně to nedělá

kód:
recoveredAtten = polyval(polyCoeff, recChopped*0.95);


kód:
Recorded:
 1000.74 Hz,   -2.07 dB,    0.00 dg
 2001.22 Hz, -101.95 dB,  338.47 dg
 3000.97 Hz, -111.45 dB,  118.14 dg
 4000.71 Hz, -125.56 dB,  281.07 dg
 5001.19 Hz, -114.70 dB,  267.69 dg
 6000.93 Hz, -129.02 dB,  275.29 dg
 7000.68 Hz, -128.92 dB,   70.40 dg
 8001.15 Hz, -130.24 dB,   18.81 dg
 9000.90 Hz, -131.16 dB,  168.05 dg
    0.00 Hz, -999.00 dB,    0.00 dg
Calibrated:
 1000.74 Hz,   -1.63 dB,    0.00 dg
 2001.22 Hz, -116.84 dB,  335.83 dg
 3000.97 Hz, -114.69 dB,  106.69 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 5001.19 Hz, -125.66 dB,  128.77 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 8001.15 Hz, -127.04 dB,   22.75 dg
 9000.90 Hz, -130.72 dB,  168.05 dg
    0.00 Hz, -999.00 dB,    0.00 dg
Calibrated Attenuated:
 1000.74 Hz,   -2.08 dB,    0.00 dg
 2001.22 Hz, -115.11 dB,  336.53 dg
 3000.97 Hz, -111.64 dB,  117.69 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 5001.19 Hz, -128.97 dB,  144.79 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 8001.15 Hz, -128.24 dB,   21.80 dg
 9000.90 Hz, -131.16 dB,  168.05 dg
    0.00 Hz, -999.00 dB,    0.00 dg
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:04:24    Predmet: Odpovedať s citátom

Jaký máš signál? Možná s velkým zkreslením to nefunguje....
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:10:13    Predmet: Odpovedať s citátom

Jinak pokud to nebude fungovat, tak kompenzace polynomem není reálná, protože přesnější koeficienty než tenhle výpočet lze sotva získat.

Pro vyšší měřicí frekvence by bylo potřeba převzorkovat kousek signálu třeba na 50xfs a přesně nastavit fázový posun vygenerované přesné reference, aby polyfit dostal vzorky časově správně srovnané.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:11:30    Predmet: Odpovedať s citátom

takyto:
citácia:
Original:
1000.93 Hz, -0.21 dB, 0.00 dg
2000.87 Hz, -80.45 dB, 224.40 dg
3000.80 Hz, -86.49 dB, 64.64 dg
4000.73 Hz, -96.28 dB, 307.56 dg
5000.67 Hz, -89.26 dB, 182.15 dg
6000.60 Hz, -99.00 dB, 25.91 dg
7001.21 Hz, -94.08 dB, 255.25 dg
8001.14 Hz, -106.04 dB, 293.66 dg
9001.07 Hz, -107.28 dB, 154.11 dg
10001.01 Hz, -106.58 dB, 13.42 dg
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:13:38    Predmet: Odpovedať s citátom

Můžeš poslat wav/flac?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:30:43    Predmet: Odpovedať s citátom

tak som to nahral znovu a je to este horsie

(in) http://mr.ieero.com/pub/temp2018/distcorr/in2x.flac
(out) http://mr.ieero.com/pub/temp2018/distcorr/test2x.flac

vybrat lavy kanal:
kód:
if columns(orig) > 1
    % convert to mono
    orig = orig(:,1);
end


vysledky:
citácia:
Recorded:
1000.93 Hz, -0.21 dB, 0.00 dg
2000.87 Hz, -81.66 dB, 292.07 dg
3000.80 Hz, -87.22 dB, 180.25 dg
4000.73 Hz, -100.23 dB, 143.50 dg
Calibrated:
1000.93 Hz, -0.03 dB, 0.00 dg
2000.87 Hz, -79.99 dB, 107.73 dg
3000.80 Hz, -51.60 dB, 40.02 dg
4000.73 Hz, -80.32 dB, 148.54 dg
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:35:20    Predmet: Odpovedať s citátom

tak v tomto pripade zda sa nedopadlo zarovnavanie
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 21:43:36    Predmet: Odpovedať s citátom

Přesně tak, tak jsou ještě chyby.... snažím se to opravit pro tvůj wav, který jede tou druhou větví se starým kódem Smile
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 22:00:54    Predmet: Odpovedať s citátom

Kompenzace OK, po zeslabení 0.95 nic moc, ale pořád lepší, než měřené

kód:
   6.2472e-04   1.5924e-03  -8.2647e-04  -3.3333e-03   2.6492e-04   1.9107e-03   1.3115e-04   9.0850e-01  -7.1519e-05
Input:
 1000.93 Hz,   -1.03 dB,    0.00 dg
 2000.87 Hz, -166.99 dB,  199.92 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 7001.21 Hz, -167.22 dB,  269.35 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 9001.07 Hz, -161.49 dB,  288.39 dg
    0.00 Hz, -999.00 dB,    0.00 dg
Recorded:
 1000.93 Hz,   -0.21 dB,    0.00 dg
 2000.87 Hz,  -81.57 dB,  292.13 dg
 3000.80 Hz,  -87.24 dB,  184.91 dg
 4000.73 Hz, -100.08 dB,  143.14 dg
 5000.67 Hz,  -87.27 dB,   98.25 dg
 6000.60 Hz, -100.35 dB,   15.22 dg
 7001.21 Hz,  -92.71 dB,  313.55 dg
 8001.14 Hz, -108.75 dB,   30.96 dg
 9001.07 Hz, -102.50 dB,  356.17 dg
10001.01 Hz, -105.23 dB,  272.13 dg
Calibrated:
 1000.93 Hz,   -1.04 dB,    0.00 dg
 2000.87 Hz, -108.03 dB,  343.80 dg
 3000.80 Hz,  -92.83 dB,  117.74 dg
 4000.73 Hz, -120.56 dB,   54.42 dg
 5000.67 Hz,  -97.37 dB,  154.21 dg
 6000.60 Hz, -119.32 dB,  117.95 dg
 7001.21 Hz, -104.80 dB,   13.40 dg
 8001.14 Hz, -118.88 dB,  286.05 dg
 9001.07 Hz, -103.33 dB,  356.15 dg
10001.01 Hz, -106.07 dB,  272.14 dg
Calibrated Attenuated 0.95:
 1000.93 Hz,   -1.48 dB,    0.00 dg
 2000.87 Hz,  -96.59 dB,  301.60 dg
 3000.80 Hz,  -93.18 dB,  143.63 dg
 4000.73 Hz, -102.52 dB,  142.28 dg
 5000.67 Hz,  -98.06 dB,  174.26 dg
 6000.60 Hz, -108.42 dB,   23.30 dg
 7001.21 Hz, -101.83 dB,  338.95 dg
 8001.14 Hz, -119.57 dB,  347.04 dg
 9001.07 Hz, -103.78 dB,  356.15 dg
10001.01 Hz, -106.51 dB,  272.14 dg
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 22:07:56    Predmet: Odpovedať s citátom

Ten recorded wav měl na začátku náběh, musel jsem jej odříznout.

U takhle velkého zkreslení funguje pro zeslabený signál lépe kratší polynom

kód:
  -6.5593e-04   8.2867e-05   6.2453e-04   7.5603e-05   9.0866e-01  -6.5322e-05
Input:
 1000.93 Hz,   -1.03 dB,    0.00 dg
 2000.87 Hz, -166.99 dB,  199.92 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 7001.21 Hz, -167.22 dB,  269.35 dg
    0.00 Hz, -999.00 dB,    0.00 dg
 9001.07 Hz, -161.49 dB,  288.39 dg
    0.00 Hz, -999.00 dB,    0.00 dg
Recorded:
 1000.93 Hz,   -0.21 dB,    0.00 dg
 2000.87 Hz,  -81.57 dB,  292.13 dg
 3000.80 Hz,  -87.24 dB,  184.91 dg
 4000.73 Hz, -100.08 dB,  143.14 dg
 5000.67 Hz,  -87.27 dB,   98.25 dg
 6000.60 Hz, -100.35 dB,   15.22 dg
 7001.21 Hz,  -92.71 dB,  313.55 dg
 8001.14 Hz, -108.75 dB,   30.96 dg
 9001.07 Hz, -102.50 dB,  356.17 dg
10001.01 Hz, -105.23 dB,  272.13 dg
Calibrated:
 1000.93 Hz,   -1.04 dB,    0.00 dg
 2000.87 Hz, -108.03 dB,  343.81 dg
 3000.80 Hz,  -92.83 dB,  117.74 dg
 4000.73 Hz, -120.55 dB,   54.34 dg
 5000.67 Hz,  -97.37 dB,  154.21 dg
 6000.60 Hz, -101.21 dB,   15.23 dg
 7001.21 Hz,  -93.53 dB,  313.54 dg
 8001.14 Hz, -109.59 dB,   30.94 dg
 9001.07 Hz, -103.34 dB,  356.18 dg
10001.01 Hz, -106.07 dB,  272.14 dg
Calibrated Attenuated 0.95:
 1000.93 Hz,   -1.48 dB,    0.00 dg
 2000.87 Hz, -100.42 dB,  308.39 dg
 3000.80 Hz,  -91.88 dB,  162.86 dg
 4000.73 Hz, -116.73 dB,  111.53 dg
 5000.67 Hz,  -96.21 dB,  132.39 dg
 6000.60 Hz, -101.65 dB,   15.23 dg
 7001.21 Hz,  -93.98 dB,  313.54 dg
 8001.14 Hz, -110.03 dB,   30.95 dg
 9001.07 Hz, -103.78 dB,  356.18 dg
10001.01 Hz, -106.51 dB,  272.14 dg


A pořád se to chová slušně i pro -40dB (slušně = nezhoršení parametrů vůči měřenému)

kód:
Recorded:
 1000.93 Hz,   -0.21 dB,    0.00 dg
 2000.87 Hz,  -81.57 dB,  292.13 dg
 3000.80 Hz,  -87.24 dB,  184.91 dg
 4000.73 Hz, -100.08 dB,  143.14 dg
 5000.67 Hz,  -87.27 dB,   98.25 dg
 6000.60 Hz, -100.35 dB,   15.22 dg
 7001.21 Hz,  -92.71 dB,  313.55 dg
 8001.14 Hz, -108.75 dB,   30.96 dg
 9001.07 Hz, -102.50 dB,  356.17 dg
10001.01 Hz, -105.23 dB,  272.13 dg
Calibrated:
 1000.93 Hz,   -1.04 dB,    0.00 dg
 2000.87 Hz, -108.03 dB,  343.81 dg
 3000.80 Hz,  -92.83 dB,  117.74 dg
 4000.73 Hz, -120.55 dB,   54.34 dg
 5000.67 Hz,  -97.37 dB,  154.21 dg
 6000.60 Hz, -101.21 dB,   15.23 dg
 7001.21 Hz,  -93.53 dB,  313.54 dg
 8001.14 Hz, -109.59 dB,   30.94 dg
 9001.07 Hz, -103.34 dB,  356.18 dg
10001.01 Hz, -106.07 dB,  272.14 dg
Calibrated Attenuated -40dB:
 1000.93 Hz,  -41.04 dB,    0.00 dg
 2000.87 Hz, -122.44 dB,  292.14 dg
 3000.80 Hz, -128.07 dB,  184.92 dg
 4000.73 Hz, -140.91 dB,  143.14 dg
 5000.67 Hz, -128.10 dB,   98.25 dg
 6000.60 Hz, -141.18 dB,   15.22 dg
 7001.21 Hz, -133.54 dB,  313.55 dg
 8001.14 Hz, -149.58 dB,   30.96 dg
 9001.07 Hz, -143.33 dB,  356.17 dg
10001.01 Hz, -146.06 dB,  272.13 dg
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 22:11:23    Predmet: Odpovedať s citátom

Opravený offset

kód:
if (offset > 0)
  origChopped = orig(offset:2*samplesCnt);
  recChopped = recorded(1:2*samplesCnt + 1 - offset); 
else
  origChopped = orig(1:2*samplesCnt + 1 + offset);
  recChopped = recorded(-1*offset:2*samplesCnt); 
end
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Po október 22, 2018 22:14:48    Predmet: Odpovedať s citátom

fft ta interní zvukovka
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Ut október 23, 2018 06:06:43    Predmet: Odpovedať s citátom

Možná by šlo ten referenční signál generovat tak, že z naměřeného spočítáme přesnou fft na 1kHz (funkce stft()?) a vygenerujeme rovnou sinus s příslušným fázovým posunem a amplitudou. Rovnou by to vyřešilo stávající nepřesnost zarovnání kvůli malému počtu vzorků na amplitudu.

Rovněž bychom mohli zkusit použít identifikaci jiných modelů, nejen statické nelinearity polynomem (v balíku control i v signal processing je jich několik). Ještě spoustu možností Smile
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


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

PríspevokZaslal: Ut október 23, 2018 06:45:08    Predmet: Odpovedať s citátom

mozno by to bolo lepsie, ak oddelime nelinearitu DA a AD. dnes sa k tomu urcite nedostanem, ale skusim nahrat lepsi signal (z ES9018) s roznymi hlasitostami na zvukovku notebooku.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dustin
Hifi inventar


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

PríspevokZaslal: Ut október 23, 2018 13:18:35    Predmet: Odpovedať s citátom

Detekce fáze naměřeného signálu pro generování reference určitě půjde, v našem kódu máme nějakou chybku, při jednotlivých krocích fft funguje průběh fáze OK, fázový posun hlavní frekvence na 1kHz mi to spočítalo přesně a správně. Najdu a opravím.

Pak se chci podívat na ten route plugin, aby se už dalo měřit a sledovat, co bude dělat slabší signál skrz zkalibrovanou smyčku.

Ad rozdělení kalibrace output / input - to by bylo fantastické, ale zatím nevím, jak to jednoduše a přesně udělat, rovnou při automatické kalibraci. Ale třeba na něco použitelného přijdeme...
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
PMA
Pavel Macura


Založený: 18 január 2007
Príspevky: 20444

PríspevokZaslal: Ut október 23, 2018 13:40:32    Predmet: Odpovedať s citátom

Počítat fázi složek zkreslení umí perfektně LTSpice. Nevím, jestli by to šlo z toho nějak vydolovat nebo jestli je ten kód přístupný.
_________________
mám rád hifi, ale víte, jak je to dál .....
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Zobraziť autorové WWW stránky
dustin
Hifi inventar


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

PríspevokZaslal: Ut október 23, 2018 13:46:15    Predmet: Odpovedať s citátom

Díky za tip. Octave to umí také skvěle, vrací přesné komplexní číslo pro každý bin fft. Jenom se nám pak někde při hledání maxim pomíchají hodnoty z různých řádků, bude to klasicky nějaká ptákovinka...
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, 4 ... 29, 30, 31  Ďalšia
Strana 3 z 31

 
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