Ogłoszenie

Collapse
No announcement yet.

Filtr cyfrowy - czyli jak interpolować

Collapse
Ten temat jest przyklejony.
X
X
 
  • Filtr
  • Czas
  • Pokaż
Clear All
new posts

    #41
    No i jest specjalna edycja dla TDA1540 / TDA1541:



    Przetwornik ten ma całkowicie inny format wyjściowy i wymaga trochę innego podejścia, więc musiała powstać taka wersja specjalna :)

    Różnice między wersją filtru dla TDA1540/TDA1541 oraz główną wersją:

    * 8-krotna interpolacja zamiast 16-krotnej, przy czym filtr został specjalnie przeprojektowany pod 8-krotną interpolację.
    * Synchroniczny zegar CLK (brak własnego oscylatora). W praktyce wynosi on odpowiednio 5.6448 MHz oraz 6.144 MHz dla 44.1 kHz oraz 48 kHz.
    * Synchroniczny sygnał LE działający jaki puls po zakończeniu taktowania.
    * Format typu "offset binary" (odwrócony bit MSB względem formatu "2s complement").
    * Dane są taktowane przy opadającym zboczu CLK.
    * Wybór między 14 bitami (TDA1540) a 16 bitami (TDA1541).
    * Wymagany MCLK 11.2896 MHz, 12.288 MHz, 22.5792 MHz, 24.576 MHz, 33.8688 MHz, 36.864 MHz, 45.1584 MHz lub 49.152 MHz.
    * Maksymalny strumień wejściowy do 384 kHz.

    Skomentuj


      #42
      No i mamy mały i super prosty DAC do tego filtru na AD1864:











      Przetwornik ten jest starszy od AD1865 a jakoś daje sobie radę z 768 kHz Sam DAC to nic nowego, ponieważ bazuje na forumowej edycji, ale zminiaturyzowanej. Filtr analogowy to znowu FDNR, ale przeliczony na 3-rząd. I/V na AD811 oraz bufor ze wzmocnieniem na AD797. Wymiary płytki to 100 mm x 77 mm oraz posiada 4 mostki AC, więc jest wszystko na jednym bardzo małym PCB Na pomiarze DAC zasilany bezpośrednio z transformatora i nie widać żadnych harmonicznych od tętnień zasilania. Dodatkowo dodałem dwa osobne przekaźniki (jeden podwójny na każdy kanał), które włączane są z opóźnieniem zrobionym na starym NE555. Dodatkowo moje wygodne podejście do życia nie pozwoliło zapomnieć o jednej rzeczy, tj. zasilaniu samego filtru cyfrowego, więc dodatkowo z płytki wychodzi +3.3V do zasilania filtru aby znowu nie kombinować z osobnym zasilaniem

      Skomentuj


        #43
        Podziwiam,

        I muszę przyznać ze wstydem, że prawie nic nie rozumiem, pomimo opisywania kawa na ławę. Nie poddaję się, będę czytał co się da ale proszę o wyjaśnienie absolutnie nie zrozumiałego dla mnie tekstu:
        TDA1541 - 16 bits 44.1 Mhz - jak może przyjąć sygnał 16/3xx kHz (co jest bez sensu z mojego punktu widzenia - stanu wiedzy) ?
        Czy zupełnie nie rozumiem o co chodzi? *wiedza o takim facie jest też bardzo istotna")

        Wiem, że to mój problem, że nie rozumiem :)
        Last edited by misiaczekmarek; 30.09.2018, 01:19.

        Skomentuj


          #44
          Przetwornik TDA1541A może pracować do 6.4 MHz 48 kHz * 8 (384 kHz) * 16 (ilość bitów) = 6.144 MHz.

          Skomentuj


            #45
            Ten zestaw bylby idealny do prezentacji na AVS.
            Jest troche osob technicznych, ktore zachwycaja sie ukladzikami przykreconymi do dechy.

            I to... doceniaja, ze to DIY.

            Skomentuj


              #46
              @ .3lite
              Dzięki.
              Czyli rozumiem, że filtr działa na danych wejściowych do 16 bitów i robi z nimi czary mary (czary mary w sensie pozytywnym, które poprawiają brzmienie). I ma tylko zastosowanie do materiału jakości CD?

              Skomentuj


                #47
                Nie :) Filtr akceptuje słowo audio w pełni do 32 bitów. Operuje on na 32 bitowym słowie audio oraz 35 bitowych współczynnikach, więc końcowy wynik zapisany jest na aż 67 bitach. Teraz te 67 bitów, zależnie od wyboru, zmniejszane jest do 16, 18, 20 lub 24 bitów. Taka redukcja wprowadza pewne błędy kwantyzacji (wg. mnie nie są one znaczące), więc dodatkowo jest algorytm ditheringu (wprowadzenie sztucznego szumu, który zamienia błędy kwantyzacji na szum).

                Filtr wykorzysta strumień 32 bitowy i tak go przemieli, że nawet 16 bitowy przetwornik wykorzysta taki materiał

                Skomentuj


                  #48
                  Zamieszczone przez tomekk_ Zobacz posta
                  Ten zestaw bylby idealny do prezentacji na AVS.
                  Jest troche osob technicznych, ktore zachwycaja sie ukladzikami przykreconymi do dechy.

                  I to... doceniaja, ze to DIY.
                  Wybacz, nie zauważyłem tego posta. W każdym wypadku mogę wam pożyczyć całość

                  AD1864 / AD865 można stosować zamiennie, tj. jedyna różnica to dodatkowe zasilanie ujemnej sekcji dla AD1864 (dodatkowy mostek AC). Normalnie AD1865 będzie działać w konfiguracji zasilania trzech mostków (tak jak w forumowym DAC'u):

                  1 kHz @ 0 dBFS:



                  1 kHz @ -60 dBFS:



                  1 kHz @ -96 dBFS:

                  Last edited by .3lite; 30.09.2018, 20:07.

                  Skomentuj


                    #49
                    Najwidoczniej jak coś mi chodzi po głowie to nie zrezygnuję z tego dopóki nie wyjdzie Tym razem dosyć ciekawa sprawa, tj. filtr dostał nowy dithering oraz... noise shaping i przy sygnale -100 dBFS dla AD1865 wygląda to jak poniżej:

                    Bez zworki dither:



                    Zworka dither:



                    (Edytowany, parę zmian w noise shaping i ditheringu).
                    Last edited by .3lite; 10.10.2018, 01:42.

                    Skomentuj


                      #50
                      O kurna, ale ładnie wyczyściło te szpilki :)

                      Skomentuj


                        #51
                        Dobry dithering potrafi uzyskać dodatkowe teoretyczne bity w DAC'u. Najlepszym przykładem tego może być taki TDA1540, który ma 14 bitów i nie potrafi odtworzyć jakiegokolwiek sygnału poniżej tych -72 dBFS, ponieważ wygląda to następująco:



                        Nie ważne jaką wartość amplitudy ustawię poniżej tych -72 dBFS (od -73 dBFS do -100 dBFS). Zawsze tak samo wygląda (jak wyżej), ponieważ przetwornik nie ma fizycznej możliwości odtworzenia bitów, które są poniżej jego rozdzielczości. W praktyce sygnał poniżej -72 dBFS to już taki raczej "switching noise"a niżeli cokolwiek sensownego

                        Magia ditheringu pozwala odtworzyć sygnał -96 dBFS na takim 14 bitowym przetworniku:



                        Mamy troszkę więcej szumu, ale za to mamy nasz sygnał i to jeszcze z możliwością regulacji amplitudy
                        Last edited by .3lite; 08.10.2018, 22:38.

                        Skomentuj


                          #52
                          Zamieszczone przez .3lite Zobacz posta
                          No i mamy mały i super prosty DAC do tego filtru na AD1864.

                          Przetwornik ten jest starszy od AD1865 a jakoś daje sobie radę z 768 kHz Sam DAC to nic nowego, ponieważ bazuje na forumowej edycji, ale zminiaturyzowanej. Filtr analogowy to znowu FDNR, ale przeliczony na 3-rząd. I/V na AD811 oraz bufor ze wzmocnieniem na AD797. Wymiary płytki to 100 mm x 77 mm oraz posiada 4 mostki AC, więc jest wszystko na jednym bardzo małym PCB Na pomiarze DAC zasilany bezpośrednio z transformatora i nie widać żadnych harmonicznych od tętnień zasilania. Dodatkowo dodałem dwa osobne przekaźniki (jeden podwójny na każdy kanał), które włączane są z opóźnieniem zrobionym na starym NE555. Dodatkowo moje wygodne podejście do życia nie pozwoliło zapomnieć o jednej rzeczy, tj. zasilaniu samego filtru cyfrowego, więc dodatkowo z płytki wychodzi +3.3V do zasilania filtru aby znowu nie kombinować z osobnym zasilaniem
                          Ja to bym chętnie zobaczył DAC'a na AD1862 do tego projektu i dodatkowo rezystory mmelf w torze audio (nie są wiele większe).
                          AD1862 strasznie rzadko widać w projektach DIY, a na papierze to jedna z najlepszych kostek Analoga.
                          Z tego co czytałem dźwiękowo też bardzo dobra, nawet Lampizator zastanawiał się czy nie lepsza od AD1865.

                          Skomentuj


                            #53
                            Posiadam AD1862 i też będzie rewizja z tym przetwornikiem

                            Główne rezystory są THT (te od wzmocnienia na buforze i konwersji I/V). Jedyna filtr posiada 0805 i tak pozostanie w tym wypadku.

                            Skomentuj


                              #54
                              Druga i finalna rewizja dla AD1865 gotowa i przetestowana :)

                              Wszystkie fajnie się prezentuje:



                              Akurat tutaj sygnał I2S generowałem z zaprojektowanego DDS'a w FPGA

                              Filtr jest zasilany bezpośrednio z DAC'a. Jeden transformator i więcej nie potrzeba.

                              Tak to wygląda w przybliżeniu:



                              No i bardzo fajnie wychodzi z ditheringiem przy sygnale -96 dBFS:



                              Przy -2 dBFS (jest dosyć duże wzmocnienie na analogu) wygląda jak poniżej:

                              [img]

                              Dodatkowo pojawiła mi się nowa zabawka:







                              No i może wezmę się wreszcie za przerobienie projektu pod 2x AD1862
                              Last edited by .3lite; 16.10.2018, 13:22.

                              Skomentuj


                                #55
                                Opieranie się*ciekawości, w przypadku twoich projektów jest wybitnie trudne.

                                Wygląda super. ^^

                                Skomentuj


                                  #56
                                  Znalazłem dziś w sieci taki filmik:
                                  https://xiph.org/video/vid2.shtml
                                  Fajnie opisana podstawowa teoria w temacie filtrowania cyfrowego :)

                                  Skomentuj


                                    #57
                                    Tak, miałem go tu wrzucić, ponieważ już na diyaudio.com wysyłałem aby poirytować ludzi Po czasie nawet doszedłem do tego, że ludzie, którzy preferują NOS i zawzięcie odrzucają poprawną filtrację, preferują konwersję na rezystorze o dużej wartości i podobne rzeczy po prostu nie słyszą i nie wiedzą jak co powinno brzmieć. Tak, jest to mocno subiektywne, ale jak ktoś nie słyszy zniekształceń czy przeskakiwanych bitów* to o czym mu tu rozmawiamy.

                                    Można wrzucić prosto z youtube:



                                    Poniższy obrazek jest najlepszy:



                                    *Na diyaudio.com po latach wyszło na jaw, że ich "Ian's board I2S to PCM" źle taktuje dane do TDA1541 (podczas zbocza narastającego BCLK). Nawet udzielałem się w tym temacie próbując im to udowodnić i zaoferować pomoc w naprawieniu problemu (bramka NOT na BCLK), ale szło to tak topornie, że sobie darowałem. W sumie jak to gościu napisał - gdyby nie charczenie co jakiś czas to naprawdę dobrze mu to gra Dodatkowo dwóch gości się uwzięło, że słyszą jeden stracony bit LSB ( bo to też jeden z problemów "Ian's board", ponieważ taktuje tylko 15 bitów zamiast 16, ale to naprawdę nie zrobi różnicy dla TDA1541A) i to na pewno przez to czasami charczy.
                                    Last edited by .3lite; 18.10.2018, 16:07.

                                    Skomentuj


                                      #58
                                      Zamieszczone przez .3lite Zobacz posta
                                      ... Magia ditheringu pozwala odtworzyć sygnał -96 dBFS na takim 14 bitowym przetworniku:



                                      Mamy troszkę więcej szumu, ale za to mamy nasz sygnał i to jeszcze z możliwością regulacji amplitudy
                                      Przetwornikowi brakuje trochę bitów, więc może noise shaper 2-rzędu do wydobycia detali z szumu:

                                      -96 dBFS:



                                      -60 dBFS:



                                      Teoretycznie 11 dB zysku na szumie w najbardziej słyszalnym zakresie Po prostu większość szumu, który rozprasza błędy kwantyzacji przerzuciłem na wysokie częstotliwości gdzie nie jest on już tak dokuczliwy.

                                      Parę trików i można wyciągnąć dodatkowe bity. Muszę kiedyś zrobić jakiś DAC na TDA1540, ponieważ ciekawi mnie ten stary przetwornik :)

                                      Skomentuj


                                        #59
                                        A jak się ma filtr do Pcm63

                                        Skomentuj


                                          #60
                                          W jakim sensie? Normalnie będzie działał

                                          Skomentuj

                                          Czaruję...
                                          X