Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

djfarad02 22 Jun 2018 00:46 8388 64
Computer Controls
  • [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo
    Ode mnie:
    Opis jest powierzchowny ze względu na brak czasu. Postaram się odpowiedzieć na rzeczowe, techniczne pytania dotyczące konkretnych zagadnień. Urządzenie jest projektem jednostkowym, niekomercyjnym.

    Schemat:
    [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

    Z potrzeby korekcji odsłuchu w trzech miejscach (warsztat, pokój, samochód) wykonałem opisywane urządzenie w liczbie trzech egzemplarzy, choć wszystkie należy traktować jako prototypy. Estetyka nie była tu na pierwszym miejscu a samo urządzenie jest amatorskie. Opisywany układ pozwala poprawić charakterystykę odsłuchu (kolumny-pomieszczenie) poprzez możliwość precyzyjnego filtrowania. Możemy np. stłumić szkodliwe rezonanse czy też podrównać charakterystykę zestawów głośnikowych. Zwykłe, konsumenckie, kilkupasmowe korektory nie zapewnią takiej funkcjonalności - tak naprawdę są zabawkami. Tak samo jak regulacja barwy dźwięku czy filtr fizjologiczny (loudness), uważany za niezbędny przez niedoświadczonych słuchaczy. Sam kiedyś uważałem, że muszą być poodkręcane gały od basu i sopranów, żeby było dobrze. Czas i doświadczenie zweryfikowało jednak ten pogląd - zasadniczą cechą dobrze brzmiącego zestawu jest jak najlepsza liniowość przetwarzania a nie "uśmiech dyskoteki".
    Dodatkową funkcją opisywanego urządzenia jest możliwość nagrywania dźwięku na karty SD - np. nagrywanie radia podczas jazdy samochodem.

    Cechy urządzenia:
    -2 kanały
    -częstotliwość próbkowania 50kHz 16bit
    -nagrywanie na karty SD przy parametrach 32kHz 12bit stereo
    -5 filtrów parametrycznych (dobroć, wzmocnienie, częstotliwość)
    -4 pamięci na ustawienia
    -matryca kanałów (stereo, mono, mid, side, L solo, R solo, mute L, mute R). Przydatna przy realizacji nagrań.
    -wskaźnik wysterowania (wejście lub wyjście)
    -regulacja czułości wejściowej i poziomu wyjściowego
    -poziom standardowy 0dbV (1V RMS)
    -regulacja czułości wejściowej która dla 0dBFS pozwala ustawić:
    poziom we maks.: +5dbV (1,8V RMS) poziom we min.: -18dbV (120mV RMS)
    -regulacja poziomu wyjściowego, która dla 0dBFS pozwala ustawić:
    poziom wy maks.: 0dbV (1V RMS) poziom wy min.: -12dbV (250mV RMS)
    -pominięcie DSP (cyfrowe)
    -włączany tłumik 6dB, cyfrowy (dla uniknięcia przesteru po filtrach gdy pracujemy z maksymalnym poziomem wejściowym)
    -układ zapobiegania zakłóceniom wskutek powstawania pętli masy - zarówno dla wejścia jak i wyjścia.

    Układ elektryczny.
    Urządzenie oparte jest o mikrokontroler PIC32MX250 oraz przetwornik WM8776. Wejścia i wyjścia audio zapewniają eliminację spadków napięcia na pętli masy, jeśli takowa powstanie. Napięcie odkładające się na rezystorach włączonych pomiędzy masę wejścia a masę urządzenia jest odejmowane od sygnału użytecznego. W zależności od egzemplarza, stosowałem wzmacniacze TL072 i NE5532. Ujemne napięcie zasilania wzmacniaczy wytwarzane jest przez prostą przetwornicę pojemnościową, dla wygody w prosty sposób sterowaną przebiegiem LRC interfejsu I2S. W jednej z wersji urządzenia napięcie ujemne zapewnia zasilacz sieciowy. Jeśli chodzi o parametry szumowe, to albo popełniłem jakieś błędy, albo przetworniki z aliexpress są jakieś lewe. Podając na przetwornik same zera nie udało mi się uzyskać poziomu szumu niższego niż około -86dBV, zarówno dla wyjścia słuchawkowego przetwornika jak i liniowego. W jednym z egzemplarzy urządzenia zwarcie masy cyfrowej z analogową zaraz przy przetworniku zmniejszało nieco szum. W ostateczności zaakceptowałem istniejący stan rzeczy gdyż dynamika okazała się mimo wszystko zadowalająca. Jeśli ktoś przeczuwa, gdzie jest pies pogrzebany to proszę o informację. Interfejs użytkownika opiera się na wyświetlaczu OLED i 5 przyciskach. Przyciski skanowane są z użyciem tych samych linii, które obsługują wyświetlacz. W związku z powyższym na linii RESET wyświetlacza dodany został obwód RC, by podczas używania klawiatury nie występowały resety wyświetlacza.
    Przy okazji resetów - okazało się, że chiński OLED 1,3" ze sterownikiem SSH1106, zastosowany w jednym z trzech urządzeń, bardzo nie lubi wolno narastającego napięcia zasilania. Transformator zasilacza ładujący kondensator filtra za prostownikiem nie zapewniał wystarczającej prędkości narastania napięcia i OLED czasami nie dawał się zainicjalizować. Walczyłem programowo poprzez machaniem RESETem i kilkukrotną inicjalizację ale kompletnie nic to nie dawało. Skończyło się na przekaźniku włączającym zasilanie z opóźnieniem, kiedy to naładuje się filtr zasilacza.

    Oprogramowanie.
    Napisane w C, stworzone w środowisku MPLAB X, z użyciem PLIB'a. Kompilator XC32 w darmowej wersji (optymalizacja -o1).

    Trochę mocy obliczeniowej zabrała obsługa wyświetlacza oraz matryca stereo i limiter (zapobiegający zmianie znaku przy przesterowaniu). Gdyby to odchudzić to procek pociągnął by pewnie nawet 7 filtrów (14 filtrów mono). Finalnie nie sprawdziłem, czy kompilator kod dla procedur DSP wygenerował rzeczywiście jako "inline". Nie użyłem atrybutu "always_inline" a jedynie składni "inline [typ] [nazwa funkcji]" - być może tutaj jest jeszcze sporo taktów zegara do odzyskania. Kanały DMA wykorzystywane są praktycznie do wszystkiego - karta SD, wyświetlacz oraz oczywiście przetwornik A/D i D/A. Sporo zabawy kosztowało mnie takie zorganizowanie sposobu działania buforów dla przetwornika, by nie gubić żadnych sampli.

    Filtry powstały poprzez modyfikację algorytmów znalezionych na stronie:
    http://www.musicdsp.org/archive.php?classid=3
    Użyty procesor jest stałoprzecinkowy w związku z tym potrzebne było skalowanie współczynników. Użyłem zmiennych całkowitych 32-bitowych i pewną trudność sprawiło takie skalowanie by filtry były stabilne i zarazem nie przesterowywały się. Poniżej 250Hz zmieniany jest typ filtru z biquad na state-variable ze względu na lepsze działanie tegoż filtru w dolnym paśmie (lepsza stabilność i efekty korekcji). Co do regulacji dobroci to wpisane w program, wyświetlane na wyświetlaczu, wartości szerokości pasma podane w oktawach mogą odbiegać od rzeczywistości.

    Procedury inicjalizacji i obsługi niskopoziomowej karty SD są oparte na modyfikacjach istniejących w sieci przykładów (CC Dharmani, Chennai (India) www.dharmanitech.com)
    Programowe I2C: eXtreme Electronics, India www.eXtremeElectronics.co.in
    Część funkcji obsługi OLED pochodzi z chińskich przykładów dla SSD1306 (sterownik zgodny z SSH1106 lecz z inną ilością RAM 128x64pix zamiast 132x64pix).

    Karta SD
    Zapis odbywa się bez użycia systemu plików - sektor po sektorze. Na początku nośnika jest jedynie TOC z indeksami nagrań. Nagrań może być wiele, można je przewijać i przeskakiwać pomiędzy nimi. Kasować można tylko ostatnie lub całą kartę. Karta nie musi być szybka ale, ze względu na bardzo małą pamięć RAM procesora, nie może za długo "zamulać" w momencie zapisu. Karty SD mają to do siebie, że sektory zapisują się szybko lecz do pewnego momentu. Producenci co prawda nie kłamią z ogólną przepustowością, lecz karty mają nieprzyjemną cechę - co pewien czas karta każe czekać dłużej na zapis i wtedy łatwo o przepełnienie bufora zapisu. Właśnie z tego powodu, a nie z powodu szybkości procesora, musiałem ograniczyć parametry zapisu do 12 bit 32kHz. W innym przypadku bufor się przepełniał. Druga sprawa to sama karta - mimo ograniczenia szybkości strumienia danych zwykłe konsumenckie karty nie oferowały wystarczająco szybkiego zapisu grupy sektorów. Większy bufor rozwiązałby problem ale mając 32kB RAM i nie chcąc komplikować urządzenia sięgnąłem po inne środki. Kupiłem kartę przemysłową (prawdopodobnie SLC) 2GB. Koszt większy ale to jedyna karta, która umożliwiła pracę z tak małym buforem. Załączam przykładowe nagranie, plik źródłowy WAV oraz nagranie wykonane urządzeniem z wyjścia liniowego karty dźwiękowej. Nagranie zostało zgrane z karty do formatu WAV z użyciem komputera, poprzez odczyt karty w trybie RAW (z pominięciem systemu plików) oraz konwersję z powrotem do 16 bitów.

    Złączam przykładowe nagranie oraz oryginał. Nagranie występuje też w wersji skonwertowanej do fs=44100Hz gdyż zauważyłem, że karty dźwiękowe potrafią fs=32000Hz wewnętrznie resamplować, wprowadzając dodatkowe zakłócenia.

    wav:
    wav_nagran...yginal.rar Download (7.58 MB)

    Obsługa klawiatury [klawisz]...funkcja

    [w lewo] menu poprzednie (pierwsza pozycja to ekran główny) / podczas odtwarzania klawisz ten przełącza na poprzednie nagranie
    [w prawo] menu następne / podczas odtwarzania klawisz ten przełącza na następne nagranie
    [góra] jeśli w menu: parametr +, jeśli ekran główny: start nagrywania, przytrzymanie podczas odtwarzania przewija w tył
    [dół] jeśli w menu: parametr -, jeśli ekran główny: start odtwarzania, przytrzymanie podczas odtwarzania przewija w przód
    [środkowy] stop - zatrzymuje odtwarzanie lub nagrywanie

    Zdjęcia:
    [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo[AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo[AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo[AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo[AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

    Filmy (kamera telefonu ma na stałe włączony filtr środkowoprzepustowy, dodatkowo - gratis: ogromne zniekształcenia geometryczne obrazu).
    Próbowałem filmy dodać na elektrodę ale oprogramowanie elektrody to jakiś żart! Nie mam czasu na dziesiątki prób konwersji filmów by forum łaskawie łyknęło plik. Sprawdziłem dwie opcje: konter mp4, audio aac, video H263 oraz kontener avi audio mp3 video H263. Rozdzielczość 1920x1080. Nie zadziałało..... za pierwszym razem stopklatka, za drugim 3 sekundy filmu.
    Skończyło się na youtube:

    film korekcja




    film nagrywanie i odtwarzanie




    Płytki (brak obwodu RC na linii RESET wyśw.):
    eagle_brd..ch.rar Download (95.63 kB)

    Źródła i wsad:
    eq11_so...rar Download (132.1 kB)

    Cool? Ranking DIY
    About Author
    djfarad02
    Level 19  
    Offline 
    djfarad02 wrote 483 posts with rating 661, helped 7 times. Live in city Warszawa. Been with us since 2010 year.
  • Computer Controls
  • #2
    Anonymous
    Anonymous  
  • Computer Controls
  • #4
    djfarad02
    Level 19  
    Piottr242 wrote:
    Skoro jest to korektor akustyczny audio, to zastanawia mnie, dlaczego nie ma obsługi pokrętłem (enkoderem)?

    Jak wygląda proces ustawiania przy pomocy tych przycisków?


    Racja, enkoder byłby zapewne wygodniejszy.

    Proces ustawiania przebiega następująco. Przyciskami lewo/prawo wybiera się parametr. Każdy filtr ma 4 parametry (bypass, f, gain, bw). Gdy jesteśmy na ostatnim parametrze pierwszego filtru to kolejne naciśnięcie w prawo powoduje przejście do pierwszego parametru drugiego filtru. Całe menu jest jakby poziome, za filtrami są ustawienia konfiguracyjne a przed matryca stereo oraz pamięć ustawień. Pierwszą pozycję menu stanowi ekran główny.
  • #5
    katakrowa
    Level 22  
    djfarad02 wrote:
    Próbowałem filmy dodać na elektrodę ale oprogramowanie elektrody to jakiś żart! Nie mam czasu na dziesiątki prób konwersji filmów by forum łaskawie łyknęło plik.

    Nigdy nie miałem problemów z wrzucaniem video i gwarantuję CI, że potrzebna jest najwyżej jedna konwersja.
  • #6
    djfarad02
    Level 19  
    katakrowa wrote:
    Nigdy nie miałem problemów z wrzucaniem video i gwarantuję CI, że potrzebna jest najwyżej jedna konwersja.

    Dziękuję za informację. To, że potrzeba jest jedna to raczej oczywiste tyle, że dobrze byłoby wiedzieć jaka. Czy możesz podać parametry swojego strumienia wideo (użyte kodeki, fps, rozdzielczość, bitrate) oraz w jakim kontenerze multimedialnym strumień był umieszczony?
    Swoją drogą, nie raz były zgłaszane przez użytkowników problemy z wideo na forum. Jakoś youtube nie sprawia takich kłopotów.
  • #7
    katakrowa
    Level 22  
    djfarad02 wrote:
    Czy możesz podać parametry swojego strumienia wideo (użyte kodeki, fps, rozdzielczość, bitrate) oraz w jakim kontenerze multimedialnym strumień był umieszczony?

    Domyślny format w jakim zapisuje WindowsMovieMaker.

    Co do układu to ze schematu nie wynika abyś miał rozdzieloną masę analogowąod cyfrowej a to może być przyczyna szumów, o których piszesz. W układach audio z wykorzystaniem CPU to dość podstawowa rzecz.
    Tak samo na schemacie przy stabilizatorze 7805 nie widzę kondensatorów 100nF. Ten stabilizator generuje falę 100kHz, której nie odfiltrowane harmoniczne są słyszalne w głośnikach ...

    djfarad02 wrote:
    Walczyłem programowo poprzez machaniem RESETem i kilkukrotną inicjalizację ale kompletnie nic to nie dawało.

    Bo problem jest w zasilaniu i zakłóceniach, które latają CI po układzie a nie wyświetlaczu.


    djfarad02 wrote:
    -częstotliwość próbkowania 50kHz 16bit

    Hmm. Dlaczego akurat taka a nie maksymalna jaką daje WM8776 czyli 96kHz ?

    djfarad02 wrote:
    układ zapobiegania zakłóceniom wskutek powstawania pętli masy - zarówno dla wejścia jak i wyjścia.

    Wspaniała funkca, która część układu za nią odpowiada? Co realizuje tę funkcję ? W specyfikacji WM8776 nie znalazłem wzmianki o tym.

    djfarad02 wrote:
    Zapis odbywa się bez użycia systemu plików - sektor po sektorze

    W takim razie trochę to bezużyteczne - jak zgać nagranie np. na PC ? Na PIC32MX250 jest sporo bibliotek, które obsłużą FAT. Mając 128kB Flash i 64kB RAM to chyba nie problem dodać do kodu.

    djfarad02 wrote:
    Czas i doświadczenie zweryfikowało jednak ten pogląd - zasadniczą cechą dobrze brzmiącego zestawu jest jak najlepsza liniowość przetwarzania a nie "uśmiech dyskoteki".

    W takim razie po co to urządzenie ?


    djfarad02 wrote:
    Zwykłe, konsumenckie, kilkupasmowe korektory nie zapewnią takiej funkcjonalności - tak naprawdę są zabawkami.

    Biorąc pod uwagę powyższe braki funkcjonalności i błędy konstrukcyjne Twój układ też profesjonalny nie jest.
  • #8
    djfarad02
    Level 19  
    katakrowa wrote:
    W takim razie trochę to bezużyteczne - jak zgać nagranie np. na PC ? Na PIC32MX250 jest sporo bibliotek, które obsłużą FAT. Mając 128kB Flash i 64kB RAM to chyba nie problem dodać do kodu.

    Do zgrywania na PC stworzyłem "spartański" programik narzędziowy. PIC32MX250 ma 32kB RAM a nie 64, z czego większość zajmuje bufor zapisu. Miałem obawy czy obsługa FAT nie zabierze za dużo mocy obliczeniowej, zwłaszcza, że podczas nagrywania cały czas pracują filtry (choć wpływają one jedynie na sygnał wyjściowy, zapisywany strumień jest bez obróbki DSP).

    katakrowa wrote:
    W takim razie po co to urządzenie ?

    Jeśli nie wiesz, w jaki sposób użyć korektora parametrycznego do poprawy liniowości środowiska odsłuchowego to znaczy, że ten projekt nie jest dla Ciebie.

    katakrowa wrote:
    Bo problem jest w zasilaniu i zakłóceniach, które latają CI po układzie a nie wyświetlaczu.

    To nie jest ten problem. Przeczytaj dokładnie mój opis urządzenia. Chodzi o prędkość narastania napięcia zasilającego.

    katakrowa wrote:
    Wspaniała funkca, która część układu za nią odpowiada? Co realizuje tę funkcję ? W specyfikacji WM8776 nie znalazłem wzmianki o tym.

    WM8776 nie ma tu nic do rzeczy. Napięcie zakłóceń pobierane jest z rezystorów włączonych pomiędzy masę gniazd audio i masę układu a następnie odejmowane od sygnału użytecznego. Przeanalizuj schemat urządzenia.

    katakrowa wrote:
    Hmm. Dlaczego akurat taka a nie maksymalna jaką daje WM8776 czyli 96kHz ?

    Gdyż potrzebna moc obliczeniowa przy fs=50000Hz jest mniejsza niż dla fs=96000Hz.

    katakrowa wrote:
    Tak samo na schemacie przy stabilizatorze 7805 nie widzę kondensatorów 100nF. Ten stabilizator generuje falę 100kHz, której nie odfiltrowane harmoniczne są słyszalne w głośnikach

    Z zasilaniem to może być dobry trop. Skąd informacja o częstotliwości 100kHz, jaka amplituda, w jakich warunkach zaobserwowałeś?

    katakrowa wrote:
    Co do układu to ze schematu nie wynika abyś miał rozdzieloną masę analogowąod cyfrowej

    Masy są rozdzielone na PCB. Na schemacie faktycznie nie jest to zaznaczone.

    katakrowa wrote:
    Biorąc pod uwagę powyższe braki funkcjonalności i błędy konstrukcyjne Twój układ też profesjonalny nie jest.

    Z pewnością nie jest profesjonalny ale pozwolił na znaczną poprawę charakterystyki toru, co było nie do uzyskania przy pomocy prostych filtrów o małej dobroci, istniejących w konsumenckich korektorach.
  • #9
    pikarel
    Level 36  
    Napracowałeś się kolo tego korektora mnóstwo i bezspornym pożytkiem z tej pracy jest doświadczenie, które zdobyłeś w trakcie
    oraz zadowolenie, że urządzenie w Twojej ocenie jest świetne i spełnia wszystkie założenia.

    Tak na marginesie; jeśli własności ucha ludzkiego (poparte badaniami) i dostosowanie do nich filtra we wzmacniaczu nazywasz uśmiechem dyskoteki - to jeszcze długa droga przed tobą i sam się o tym przekonasz za parę lat, czytając to, co teraz piszesz.
  • #10
    deton24
    Level 12  
    Panowie, bardzo przyjemnie się Was czyta, ale oszczędźcie sobie te zgryźliwości, bo można napisać że się po prostu z czymś nie zgadza.
    Pozdrawiam
  • #11
    djfarad02
    Level 19  
    pikarel wrote:
    Tak na marginesie; jeśli własności ucha ludzkiego (poparte badaniami) i dostosowanie do nich filtra we wzmacniaczu nazywasz uśmiechem dyskoteki - to jeszcze długa droga przed tobą i sam się o tym przekonasz za parę lat, czytając to, co teraz piszesz.

    Zabawne. Niestety to właśnie długa droga i zrozumienie kilku aspektów powoduje odrzucenie zasadności stosowania takiego filtru. Owszem, charakterystyka ucha jest zmienna w funkcji ciśnienia akustycznego lecz kontur/loudness jest wymysłem, który nie dość, że nie poprawia sytuacji, to został kompletnie odrzucony przez profesjonalistów (inżynierów dźwięku). Również audiofile (czyli użytkownicy nieprofesjonalni) nie używają tego filtru.
    Jeden z powodów, dla których kontur nie działa to niedostosowanie kształtu korekcji do poziomu. Nawet jeśli sygnał wejściowy podany na wzmacniacz będzie miał założony przez konstruktora poziom to pozostaje jeszcze kwestia głośności samego nagrania, która nie jest bezpośrednio związana z poziomem napięcia a zależy od sposobu realizacji tego nagrania i jego aranżacji muzycznej. Druga sprawa to rozbieżność interpretacji kształtu potrzebnej charakterystyki, różni producenci - różne stałe czasowe. Zdarzają się wzmacniacze, w których kontur podbija tylko dół. Myślisz, że wszyscy jednocześnie mają słuszność co do przyjętego kształtu krzywej, skoro każdy ma trochę inną?
    Jeśli lubisz słuchać z włączonym konturem i dodatkowo podbitym basem oraz sopranem to znaczy, że albo kolumny są strasznie marne i maskujesz w ten sposób ich beznadziejny środek, albo po prostu tak lubisz. Niestety nie jest to odsłuch, który pozwala na naturalny odbiór nagrania. Dodatkowo kompletnie uniemożliwia jakąkolwiek pracę z dźwiękiem.
  • #12
    katakrowa
    Level 22  
    djfarad02 wrote:
    katakrowa napisał:
    Bo problem jest w zasilaniu i zakłóceniach, które latają CI po układzie a nie wyświetlaczu.

    To nie jest ten problem. Przeczytaj dokładnie mój opis urządzenia. Chodzi o prędkość narastania napięcia zasilającego.


    Możesz przygotować oscylogramy z linii napięcia podczas startu urządzenia ?


    djfarad02 wrote:

    katakrowa napisał:
    Hmm. Dlaczego akurat taka a nie maksymalna jaką daje WM8776 czyli 96kHz ?

    Gdyż potrzebna moc obliczeniowa przy fs=50000Hz jest mniejsza niż dla fs=96000Hz.


    To już lepiej było zrobić 44kHz - teraz psujesz sygnał. Poczytaj co dzieje się z sygnałem przy zmianie jego próbkowania.
  • #13
    djfarad02
    Level 19  
    katakrowa wrote:
    Możesz przygotować oscylogramy z linii napięcia podczas startu urz

    Linia 3V3.
    Wersja bez przekaźnika, oscylogram w zależności od momentu włączenia do sieci zasilającej. Występują nieregularnie problemy z inicjalizacją OLED.
    [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

    Wersja z przekaźnikiem opóźniającym połączenie zasilania układu z obwodem zasilacza sieciowego. Brak problemów.
    [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

    katakrowa wrote:
    To już lepiej było zrobić 44kHz - teraz psujesz sygnał. Poczytaj co dzieje się z sygnałem przy zmianie jego próbkowania.

    Nie rozumiem skąd ta teza - przecież w tym urządzeniu nie występuje żadna zmiana częstotliwości próbkowania.
  • #14
    katakrowa
    Level 22  
    djfarad02 wrote:
    katakrowa napisał:
    To już lepiej było zrobić 44kHz - teraz psujesz sygnał. Poczytaj co dzieje się z sygnałem przy zmianie jego próbkowania.
    Nie rozumiem skąd ta teza - przecież w tym urządzeniu nie występuje żadna zmiana częstotliwości próbkowania.


    Właśnie występuje i to już na samym wejściu.

    A no stąd:
    [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

    1. Na górnym wykresie masz "oryginalny sygnał analogowy 16kHz".
    2. Na dolnym wykresie masz jego przebieg po samplowaniu z częstotliwością 44kHz.
    3. Na dolnym wykresie masz także przerywaną linią sygnał 44khz resamplowany na 50khz. Wypełnione pola to róznica między tymi sygnałami.
    Widać, że zniekształcenia są GIGANTYCZNE i sięgają kilkudziesięciu procentom.

    Co ciekawsze im dalej na osi będziemy to obserwować to różnice będą raz większe raz mniejsze a twój "przesamplowany" sygnał w niektórych momentami może nawet będzie w odwrotnej fazie do oryginału.

    Lepiej by było gdybyś próbkował sygnał 22kHz ( ale żeby to była krotność standardowego próbkowania ). Te 50kHz właśnie nieszczęśliwie powoduje pewne przesunięcie, które może dawać na wyjściu sygnał, który nie ma nic wspólnego z oryginałem.

    Dlatego właśnie przy obrabianiu na sygnałach cyfrowych stosujemy częstotliwości próbkowania 192kHz i większe.
    Przy twoim rozwiązaniu niestety zniekształcenia wynikające z resamplingu w ogromny sposób wpływają na pasmo słyszalne.

    Dlaczego robię to w odniesieniu do 44khz.. A no dlatego, że jest to próbkowanie najpopularniejsze - tak kodowana jest większość muzyki CD i nie tylko.
  • #15
    djfarad02
    Level 19  
    katakrowa wrote:
    Przy twoim rozwiązaniu niestety zniekształcenia wynikające z resamplingu w ogromny sposób wpływają na pasmo słyszalne.

    Ręce opadają... Jeszcze raz zapytam - gdzie w moim urządzeniu widzisz jakikolwiek resampling? Przecież wejścia i wyjścia są analogowe a przetworniki A/D i D/A pracują z fs=50kHz, tak samo jak tor DSP. Nie ma tu nigdzie częstotliwości 44kHz.
  • #16
    katakrowa
    Level 22  
    djfarad02 wrote:
    Ręce opadają... Jeszcze raz zapytam - gdzie w moim urządzeniu widzisz jakikolwiek resampling? Przecież wejścia i wyjścia są analogowe a przetworniki A/D i D/A pracują z fs=50kHz, tak samo jak tor DSP. Nie ma tu nigdzie częstotliwości 44kHz.


    Przemyśl jeszcze raz powyższy post i wyjdź z założenia, ze większość sygnałów "wchodzących" do Twojego urządzenia ma 44kHz lub inną standardową częstotliwość próbkowania (lub takim przekształceniom została poddana), która ma się nijak do Twoich 50kHz.
    Jeszcze raz napiszę, że to co nazywasz "sygnałem analogowym" w rzeczywistości już nim NIE JEST bo uległo przekształceniom w przetwornikach, które podłączasz do swojego urządzenia chyba, że korzystasz jedynie z gramofonu lub magnetofonu kasetowego.
  • #17
    djfarad02
    Level 19  
    katakrowa wrote:

    Przemyśl jeszcze raz powyższy post i wyjdź z założenia, ze większość sygnałów "wchodzących" do Twojego urządzenia ma 44kHz lub inną standardową częstotliwość próbkowania

    Zaczyna być zabawnie. Ciężko wychodzić z tak absurdalnego założenia. Od kiedy to sygnał analogowy ma taką cechę jak częstotliwość próbkowania? Możesz pokazać czym Twoim zdaniem różni się sinusoida wychodząca z przetwornika D/A przy fs=44kHz od tej z D/A dla fs=50kHz?
  • #18
    katakrowa
    Level 22  
    djfarad02 wrote:
    Od kiedy to sygnał analogowy ma taką cechę jak częstotliwość próbkowania? Możesz pokazać czym Twoim zdaniem różni się sinusoida wychodząca z przetwornika D/A przy fs=44kHz od tej z D/A dla fs=50kHz?


    Zobacz sobie na oscyloskopie na przykładzie sinusoidy np 15kHz tak żeby była w zakresie słyszalnym.
    Generalnie uzyskasz 2 różne sygnały mało podobne do siebie. Jeśli masz oscyloskop z 2 kanałami to już bardziej dosłownie tego nie zobaczysz.
    A jak ma funkcję różnicy to na tej różnicy zobaczysz dlaczego to o czym piszę to nie bzdura.

    Już któryś raz to tłumaczę i postanowiłem napisać krótki program, który to prezentuje - proszę o cierpliwość postaram się go jeszcze dzisiaj wrzucić.
  • #19
    djfarad02
    Level 19  
    katakrowa wrote:
    Już któryś raz to tłumaczę i postanowiłem napisać krótki program, który to prezentuje - proszę o cierpliwość postaram się go jeszcze dzisiaj wrzucić.

    Dobrze. Rozumiem, że to będzie kompletna symulacja przetwarzania A/D i D/A. Proszę byś nie zapomniał zaimplementować w programie filtrów antyaliasingowych.

    Swoją drogą, szybciej przekonałbyś się o niesłuszności własnej tezy, gdybyś zrobił to o czym piszesz - czyli obejrzał oscylogramy.
  • #20
    katakrowa
    Level 22  
    djfarad02 wrote:
    Dobrze. Rozumiem, że to będzie kompletna symulacja przetwarzania A/D i D/A. Proszę byś nie zapomniał zaimplementować w programie filtrów antyaliasingowych.

    Widzę, że zrozumiałeś i teraz się czepiasz i szukasz dziury w całym ;-)
    Nie nie będzie to kompletna symulacja z filtrami bo do udowodnienia tego, że robisz źle nie jest takowa potrzebna.
    Nie zmienia faktu, że nawet najlepszy filtr z "uszkodzonego" sygnału nic dobrego nie odzyska ( a taki sygnał mamy w Twoim urządzeniu ).

    djfarad02 wrote:
    Swoją drogą, szybciej przekonałbyś się o niesłuszności własnej tezy, gdybyś zrobił to o czym piszesz - czyli obejrzał oscylogramy.


    Oglądałem wielokrotnie i nie tylko sinusy i nie tylko oscylogramy.
  • #21
    djfarad02
    Level 19  
    katakrowa wrote:
    Widzę, że zrozumiałeś i teraz się czepiasz i szukasz dziury w całym
    Nie nie będzie to kompletna symulacja z filtrami a jedynie prosta bez filtrów, co nie zmienia faktu, że nawet najlepszy filtr z "uszkodzonego" sygnału nic dobrego nie odzyska ( a taki sygnał mamy w Twoim urządzeniu ).

    Zakrawa to na żart. W jaki sposób niby uszkodzony jest sygnał?
    Widziałeś kiedyś przetwornik D/A audio pracujący bez filtra? Przecież przetwornik nie może wtedy poprawnie działać - powstanie mnóstwo harmonicznych. Tak więc możesz darować sobie żałosne próby udowodnienia nieistniejących zjawisk, skoro nie chcesz przeprowadzić poprawnej symulacji.
    katakrowa wrote:
    Oglądałem wielokrotnie i nie tylko sinusy i nie tylko oscylogramy.

    I co zobaczyłeś? Konkretnie.
  • #22
    katakrowa
    Level 22  
    djfarad02 wrote:
    katakrowa napisał:
    Widzę, że zrozumiałeś i teraz się czepiasz i szukasz dziury w całym
    Nie nie będzie to kompletna symulacja z filtrami a jedynie prosta bez filtrów, co nie zmienia faktu, że nawet najlepszy filtr z "uszkodzonego" sygnału nic dobrego nie odzyska ( a taki sygnał mamy w Twoim urządzeniu ).


    Zakrawa to na żart. W jaki sposób niby uszkodzony jest sygnał?
    Widziałeś kiedyś przetwornik D/A audio pracujący bez filtra? Przecież przetwornik nie może wtedy poprawnie działać - powstanie mnóstwo harmonicznych. Tak więc możesz darować sobie żałosne próby udowodnienia nieistniejących zjawisk, skoro nie chcesz przeprowadzić poprawnej symulacji.


    "Żałosne" albo jak najbardziej słuszne.
    Proszę pokaż oscylogramy sygnału sinus, kwadrat i piła o częstotliwości 16kHz na wyjściu Twojego urządzenia w porównaniu z sygnałem wejściowym generowanym przez PC z karta próbkujacą 44100Hz.
  • #23
    pikarel
    Level 36  
    djfarad02 wrote:
    pikarel wrote:
    Tak na marginesie; jeśli własności ucha ludzkiego (poparte badaniami) i dostosowanie do nich filtra we wzmacniaczu nazywasz uśmiechem dyskoteki - to jeszcze długa droga przed tobą i sam się o tym przekonasz za parę lat, czytając to, co teraz piszesz.

    Zabawne. Niestety to właśnie długa droga i zrozumienie kilku aspektów powoduje odrzucenie zasadności stosowania takiego filtru. Owszem, charakterystyka ucha jest zmienna w funkcji ciśnienia akustycznego lecz kontur/loudness jest wymysłem, który nie dość, że nie poprawia sytuacji, to został kompletnie odrzucony przez profesjonalistów (inżynierów dźwięku). Również audiofile (czyli użytkownicy nieprofesjonalni) nie używają tego filtru.
    Jeden z powodów, dla których kontur nie działa to niedostosowanie kształtu korekcji do poziomu. Nawet jeśli sygnał wejściowy podany na wzmacniacz będzie miał założony przez konstruktora poziom to pozostaje jeszcze kwestia głośności samego nagrania, która nie jest bezpośrednio związana z poziomem napięcia a zależy od sposobu realizacji tego nagrania i jego aranżacji muzycznej. Druga sprawa to rozbieżność interpretacji kształtu potrzebnej charakterystyki, różni producenci - różne stałe czasowe. Zdarzają się wzmacniacze, w których kontur podbija tylko dół. Myślisz, że wszyscy jednocześnie mają słuszność co do przyjętego kształtu krzywej, skoro każdy ma trochę inną?
    Jeśli lubisz słuchać z włączonym konturem i dodatkowo podbitym basem oraz sopranem to znaczy, że albo kolumny są strasznie marne i maskujesz w ten sposób ich beznadziejny środek, albo po prostu tak lubisz. Niestety nie jest to odsłuch, który pozwala na naturalny odbiór nagrania. Dodatkowo kompletnie uniemożliwia jakąkolwiek pracę z dźwiękiem.

    Z tego, co piszesz - nie widzisz różnicy pomiędzy pracę profesjonalisty w studio
    (rejestracja płaska, poddana potem masteringowi według wzorca, własnego doświadczenia i jeszcze kilku innych, skrzętnie ukrywanych zabiegów), od słuchaniu muzyki w domowym zaciszu, samochodzie , w pracy z użyciem dobrze opracowanego konturu i odpowiednio dobranego poziomu dźwięku (odtwarzacz z regulowanym poziomem wyjściowym audio) i resztą barw na 0dB.

    Jeszcze raz napiszę; to, co wydaje Ci się dzisiaj końcowym i ostatecznym stanem wiedzy na jakiś temat - przyszłość skoryguje jeszcze nie raz (o czym sam piszesz w pierwszym poście).
  • #24
    djfarad02
    Level 19  
    pikarel wrote:
    Z tego, co piszesz - nie widzisz różnicy pomiędzy pracę profesjonalisty w studio
    (rejestracja płaska, poddana potem masteringowi według wzorca, własnego doświadczenia i jeszcze kilku innych, skrzętnie ukrywanych zabiegów), od słuchaniu muzyki w domowym zaciszu, samochodzie , w pracy z użyciem dobrze opracowanego konturu i odpowiednio dobranego poziomu dźwięku (odtwarzacz z regulowanym poziomem wyjściowym audio) i resztą barw na 0dB.

    Z tym się jak najbardziej zgodzę. Odsłuch dla przyjemności ma być dla przyjemności. Ja osobiście lubię liniowe przetwarzanie, stąd to urządzenie. Umożliwiło mi precyzyjną regulację.

    Dodano po 12 [minuty]:

    katakrowa wrote:
    Proszę pokaż oscylogramy sygnału sinus, kwadrat i piła o częstotliwości 16kHz na wyjściu Twojego urządzenia w porównaniu z sygnałem wejściowym generowanym przez PC z karta próbkujacą 44100Hz.

    Tracę czas, ale niech będzie. Zacznijmy od tego, że pokażę tylko sinus, gdyż piła albo kwadrat dla f=16kHz są niemożliwe do uzyskania w systemie o paśmie do dwudziestu paru kHz. Mam nadzieję, że co do tego nie masz wątpliwości.

    Więc, by ukrócić Twoje męki, zamieszczam film ;) Odtwarzane nagranie ma przerwy bo włączona jest pętla (repeat 1) a ścieżka jest krótka.
    P.S. Oscyloskop tak wygląda, gdyż miałem ostatnio mały pożar izopropanolu na stole.





    Strasznie się przez Ciebie nieplanowo narobiłem, może Ty pokażesz jakieś oscylogramy? ;)
  • #25
    katakrowa
    Level 22  
    djfarad02 wrote:
    Strasznie się przez Ciebie nieplanowo narobiłem, może Ty pokażesz jakieś oscylogramy?

    niestety nie wiem co pokazałeś ...

    Tak jak obiecałem symulacja resamplingu:
    http://ms.xksi.pl/_samplowanie/samplowanie.php

    Co byś nie kombinował z matematyką nie wygrasz ... Ani z zielonej ani z czerwonej linii oryginalnego sinusa NIE UZYSKASZ !

    Pokombinuj z różnymi wartościami samplowania i zobaczysz, że to 50khz wybrałeś wyjątkowo nieszczęśliwie. A teraz wyobraź sobie, że nie słuchamy czystych sinusów, które dla filtrów są dość naturalnym sygnałem.

    p.s.
    Kiedyś, może w przyszły weekend, przysiądę na poważnie i napiszę o tym artykuł na elektrodę z teorią i zrzutami z oscyloskopu bo widzę, że problemy wynikające z zmiany próbkowania sygnału w torze cyfrowo analogowym są ciągle "obce" i każdy myśli, że sygnał analogowy można próbkować jak się chce byle z ferq. powyżej słyszalnych zakresów. Niestety tak nie jest każde takie przekształcenie nieodwracalnie "niszczy" sygnał. Dlatego albo stosujemy zasadę, że wszystkie urządzenia cyfrowe w torze audio mają takie same próbkowanie albo znacząco wyższe od sygnału w tym torze ( przy czym znacząco to więcej niż x4 ).

    Dziś już nie mam czasu ale obiecuję temat rozwinąć.
  • #26
    djfarad02
    Level 19  
    katakrowa wrote:
    niestety nie wiem co pokazałeś ...

    To o co prosiłeś, przepuściłem przez urządzenie sygnał 16kHz z odtwarzacza CD, gdzie fs=44100Hz. Jest to rzeczywisty dowód, istniejący w realnym świecie, zaprzeczający Twojej teorii.

    katakrowa wrote:
    Co byś nie kombinował z matematyką nie wygrasz ... Ani z zielonej ani z czerwonej linii oryginalnego sinusa NIE UZYSKASZ !

    Uzyskasz, jak najbardziej. Przepuść swoje linie przez filtr dolnoprzepustowy. To co pokazałeś to nie jest przetwarzanie D/A, tylko połączenie liniami wartości sampli. Powiedz, dlaczego Twoich wyimaginowanych trójkątnych linii nie widać na oscyloskopie? Twój błąd polega na tym, że nie rozumiesz na czym polega odtwarzanie sygnału z próbek.

    katakrowa wrote:
    Pokombinuj z różnymi wartościami samplowania i zobaczysz, że to 50khz wybrałeś wyjątkowo nieszczęśliwie

    Nie ma czegoś takiego, jak nieszczęśliwie wybrana częstotliwość próbkowania. Częstotliwość próbkowania może być odpowiednio wysoka lub nie. fs=50000Hz lub 44100Hz jest wystarczająca dla sygnału 16kHz.

    Dodano po 4 [minuty]:

    katakrowa wrote:
    A teraz wyobraź sobie, że nie słuchamy czystych sinusów, które dla filtrów są dość naturalnym sygnałem.

    Nie ma czegoś takiego jak naturalny lub nienaturalny sygnał dla filtru.
  • #27
    katakrowa
    Level 22  
    djfarad02 wrote:
    Uzyskasz, jak najbardziej. Przepuść swoje linie przez filtr dolnoprzepustowy. To co pokazałeś to nie jest przetwarzanie D/A, tylko połączenie liniami wartości sampli. Powiedz, dlaczego Twoich wyimaginowanych trójkątnych linii nie widać na oscyloskopie? Twój błąd polega na tym, że nie rozumiesz na czym polega odtwarzanie sygnału z próbek.


    Ok. Niech Ci tak będzie. Twój sprzęt jest działa super a wszyscy specjaliści od audio po prostu jeszcze nie wiedzą, że 44khz jest wystarczające do przetwarzania sygnałów rzędu 16kHz.
    Zapewne jak tylko się dowiedzą to sprzedadzą samplery, filtry i inne urządzenia na tańsze i równie dobre. Po co przepłacać za jakieś głupie 192kHz skoro przy 44kHz i 50kHz będzie to samo a filtr uczyni cuda.

    I rzecz ostatnia. Wskaż mi jaki magiczny filtr z sygnału zielonego lub czerwonego da na wyjściu niebieski:

    [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo
  • #28
    djfarad02
    Level 19  
    katakrowa wrote:
    Zapewne jak tylko się dowiedzą to sprzedadzą samplery, filtry i inne urządzenia na tańsze i równie dobre. Po co przepłacać za jakieś głupie 192kHz skoro przy 44kHz i 50kHz będzie to samo a filtr uczyni cuda.

    Jeśli chcesz prowadzić merytoryczną dyskusję to nie uciekaj się do sarkazmu. W ten sposób prawdy nie da się zamaskować

    Ponawiam pytanie, dlaczego na załączonym przeze mnie filmie Twoich wymyślonych zniekształceń nie ma?

    katakrowa wrote:
    I rzecz ostatnia. Wskaż mi jaki magiczny filtr z sygnału zielonego lub czerwonego da na wyjściu niebieski:

    Zacznijmy od tego, że zbłaźniłeś się tym wykresem. Dlaczego tam są trójkąty? Załóżmy, że wypuszczasz z DAC swoje próbki w postaci napięcia. Potem, nagle w magiczny sposób jedna z drugą łączysz linią? Jakim cudem Panie? ;)

    Prawidłowy obrazek wygląda tak: [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

    Teraz przepuść to przez np. taki filtr:
    [AUDIO] 5-cio pasmowy korektor parametryczny z rejestratorem stereo

    To jest dla przetwornika bez oversamplingu, fs=44100Hz. Nie zapominaj, że używając przetwornika z oversamplingiem można uproscić filtry.
  • #29
    katakrowa
    Level 22  
    djfarad02 wrote:
    Zacznijmy od tego, że zbłaźniłeś się tym wykresem. Dlaczego tam są trójkąty?

    Doskonale o tym wiem. Zrobiłem to celem przybliżenia sygnału "za filtrem".
    Więcej uproszczeń zastosowałem np. nie uśredniam sygnałów, nie sprawdzam fazy i wiele innych ... Chodziło jedynie o zobrazowanie zjawiska, które całkowicie próbujesz zignorować i zbagatelizować.
  • #30
    djfarad02
    Level 19  
    katakrowa wrote:
    Chodziło jedynie o zobrazowanie zjawiska, które całkowicie próbujesz zignorować i zbagatelizować.

    Dlaczego Twoje wymyślone zjawisko nie występuje w rzeczywistości?