logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wskaźnik OLED UV Arduino - Skala kończy się na 4,5 KHz? Jak przesunąć widmo sygnału 5-10 kHz?

[Przemo] 31 Gru 2022 17:16 447 8
REKLAMA
  • #1 20361400
    [Przemo]
    Poziom 11  
    Posty: 80
    Ocena: 3
    Koledzy, kupiłem na aliexpress bardzo fajny wskaźnik widma na wyświetlaczu Oled: https://pl.aliexpress.com/item/1005002333357920.html
    Działa przepięknie, szybko, ładnie. Wstawię takie dwa do gainclona, którego zrobiłem.
    Ale niestety, pojawił się problem. W obu kupionych wskaźnikach kończy im się skala na 4,5 KHz i to powoduje, że przy wyższych tonach nie pokazuje i niestety to widać. Zgłosiłem reklamację sprzedawcy i nagrałem film na YT:





    Ale bardzo wątpliwe, że mi coś rozsądnego napisze, oba wskaźniki mają ten problem, więc to chyba wada konstrukcyjna.
    Ma to być tylko bajer, ale niemniej jednak jest to dość odczuwalne. Gdyby to się kończyło n 8-9 KHz to nie było by takiego problemu bo powyżej to już nie słychać głośniejszych tonów, natomiast 5-6-7 kHz to słychać w muzyce głośniejsze uderzenia, a wtedy na wyświetlaczu jest pusto. :(
    Nie macie jakiegoś pomysłu jak tu przesunąć widmo sygnału wejściowego, żeby przetransferowało częstotliwości 5-10 KHZ na pasmo dajmy na to 3-5 a 3-5 na 2-3. Jakoś tak to ścisnąć czy coś takiego? :-) Jest w ogóle cień szansy na to?
    Wskaźnik jest tak fajny, że nawet mimo takiej jego specyfiki sobie go zostawię, ale wolałbym, żeby pokazywał dobrze.
  • REKLAMA
  • #2 20361544
    Sanjose
    Poziom 32  
    Posty: 1944
    Pomógł: 181
    Ocena: 228
    Chyba tylko modyfikacja softu tu pomoże. Nic innego nie zrobisz.
    A ten wynalazek ma jakieś ustawienia? Może tam jest jakiś "Bandwidth"?
  • REKLAMA
  • #3 20361550
    [Przemo]
    Poziom 11  
    Posty: 80
    Ocena: 3
    On ma tylko dwa switche, ale nie opisane. Jeden zmienia sposób prezentacji, a drugi mono/stereo. Nie ma dokumentacji do tego. Ale to dobry trop, popróbuję powciskać/przytrzymywać jeden/dwa, może wejdzie w jakieś ustawienia. :-)

    Dodano po 20 [minuty]:

    Kurcze, nie chce wejść w żaden tryb ustawień... Próbowałem: przytrzymać do 10 sekund każdy z przycisków, klikać krótko wiele razy każdy, próbowałem dwa na raz, oraz włączyć zasilanie z wciśniętym przyciskiem jednym, drugim i oboma na raz. I nic. :(
  • REKLAMA
  • #4 20361703
    398216 Usunięty
    Poziom 43  
    Posty: 34080
    Pomógł: 3921
    Ocena: 9231
    https://www.elektroda.pl/rtvforum/topic3919425.html
    Nie wiem czy się przyda, ale na wszelki wypadek podaję link.
    Co do zachowania wskaźnika w zakresie wysokich częstotliwości. Zauważyłem, że w zależności od sprzedawcy można się naciąć na różne "softy", a więc mimo praktycznie tego samego modułu działa on zupełnie różnie. Potwierdza się to i w wypadku Twoich paneli:
    [Przemo] napisał:
    nie chce wejść w żaden tryb ustawień...

    Jest to po prostu bajer i to w dodatku o marnej przydatności gdzie indziej niż w urządzeniach co do których nie ma się zbyt wygórowanych wymagań. Innymi słowy: Ma migać i tylko tyle.
  • #5 20361761
    [Przemo]
    Poziom 11  
    Posty: 80
    Ocena: 3
    A to ciekawe co piszesz w swoim temacie, że działa od 200 Hz, bo u mnie działa od 40 Hz, tylko nie ma nic powyżej 4,5 KHz.
    Znalazłem, że to jest programowane przez arduino:
    1. https://www.instructables.com/Arduino-OLED-Spectrum-Analyzer/
    2. https://electechoz.blogspot.com/2021/07/arduino-oled-spectrum-analyzer.html
    A tu na filmie w 6m 50s w komentarzu w kodzie programu:





    Widzę zapis:
    Due to Nyquist sampling requirements, we can only consider sampled frequency data up to (sampling rate / 2) or ((KHz / 2) = 4.5 KHz
    Therefore we only acknowlege the first 64 frequency bins [0..63] = [0..4.5KHz]

    Kurcze, tylko nie wiem co to znaczy, to dla mnie czarna magia. Mógłby ktoś pomóc? Coś rozumiem, że przez zjawisko Nyquist w połączeniu z ograniczeniami hardware'owymi max to 4,5 KHz, ale czy to znaczy, że nie ma bata?
    A pod koniec filmu w tym miejscu:





    Gość pokazuje ten efekt, że skala się kończy na 4,5 KHz, kurcze tylko ja nie znam angielskiego i nie wiem z jakiego powodu tak się dzieje.
    U niego po przekroczeniu 4,5 KHz widmo zaczyna się cofać w lewo, a u mnie tego nie ma, nic powyżej 4,5 nie pokazuje. Gdyby się "cofało" to było by to lepsze bo przynajmniej coś tam by migało przy jakichś instrumentach o częstotliwości powyżej 4,5.
    Tutaj: https://forum.arduino.cc/t/limiting-fix_fft-to-a-band/81190/5 coś jeszcze dokładniej o tym piszą, niewiele rozumiem, ale nie wiem jakie może być wyjaśnienie dla takiego ograniczenia. Przecież wystarczyło by wrzucać szersze pasmo do jednego słupka i tyle, albo nawet pomijać co drugi "case".
  • #6 20362623
    Sanjose
    Poziom 32  
    Posty: 1944
    Pomógł: 181
    Ocena: 228
    Wszystko zależy jaki program jest wgrany na sterownik.
    Na chłopski rozum (bo nie znam się na programowaniu mikrokontrolerów) wystarczy zmienić cały program który ma wpisane inne częstotliwości dla poszczególnych słupków i tyle. Potrzebny na 100% jest programator oraz program który zgra obecny software celem porównania co to jest i potem można kombinować z innym softem kompatybilnym dla danego procesorka i sterownika.
  • REKLAMA
  • #7 20362717
    piotrek0207
    Poziom 20  
    Posty: 379
    Pomógł: 35
    Ocena: 70
    Kryterium Nyquista mówi, że częstotliwość próbkowania sygnału analogowego powinna być przynajmniej dwa razy większa od największej częstotliwości występującej w sygnale. Jeżeli największa pokazywana częstotliwość jest 4,5kHz to znaczy, że częstotliwość próbkowania (sampling rate) wynosi 9kHz. W sygnale audio mamy mniej więcej częstotliwości od 20Hz do 15kHz czyli częstotliwość próbkowania powinna wynosić przynajmniej 30 kHz stąd mamy te 44100Hz na plikach mp3. Czy może być większa to zależy od tego jaki przetwornik AC siedzi w tym urządzeniu i jak jest taktowany. Jeżeli jest to jakieś tanie urządzenie to pewnie nic więcej się z tego nie wyciśnie.
  • #8 20362738
    __Grzegorz__
    Poziom 30  
    Posty: 1410
    Pomógł: 196
    Ocena: 231
    Częstotliwość próbkowania jest w programie ustawiona na ok. 9kHz.
    Nie zobaczysz nic powyżej 4,5kHz.

    Jeżeli przy procesorze jest kwarc - możesz spróbować go zmienić na szybszy.
    dasz 2x szybszy, zakres widma poszerzysz też 2x...
    ale skróceniu ulegną timingi w sterowaniu displayem, więc może on przestać działać na szybkim kwarcu...
    Tu potrzebny jest eksperyment. może nie 2x, tylko 20%, 40%... trzeba spróbować.

    Jeżeli kwarcu nie ma - sprawa się komplikuje :)
    pozostaje albo wgranie innego programu,
    albo zmiksowanie sygnału wejściowego z sygnałem 4,5kHz.
    Niby powinien być sinus, ale prostokąt też powinien dać radę.
    Na początek wystarczy kluczowanie sygnału wejściowego z częstotliwością 4500Hz.

    Co to da?
    przesunie widmo tak, że sygnał np. 100Hz będzie tam, gdzie był dotąd 4500-100,
    1000Hz będzie tam, gdzie 4500-1000, itd.
    czyli w skrócie odwróci widmo sygnału w zakresie 0-4500Hz.

    Ale...
    dodatkowo spowoduje tzw. aliasing częstotliwości 4500-9000Hz do przedziału 0-4500, czyli przesunie pasmo 4500-9000 w dół o 4500Hz. Czyli na displayu pojawi się także ślad po częstotliwościach 4500-9000Hz...

    Ale
    spowoduje też aliasing wszystkich wyższych częstotliwości, do pasma 0-4500.

    W skrócie:
    Jak będziesz się bawił generatorem i podnosił częstotliwość to najpierw zobaczysz
    pasek wędrujący od prawej do lewej (0-4500),
    potem od lewej do prawej(4500-9000),
    potem znowu od prawej do lewej (9000-13500) i tak w kółko ...
  • #9 20362830
    [Przemo]
    Poziom 11  
    Posty: 80
    Ocena: 3
    Dziękuję Wam bardzo za wyjaśnienia :-)
    Wychodziło by na to, że nie ma wyjścia. Wędrujące paski na ekranie przecież odpadają. Programowo widać jak tam goście się gimnastykują co z tym zrobić, więc jeżeli by się dało to coś by zrobili.
    No nic, dziękuję jeszcze raz ale jeśli ktoś miałby jakiś pomysł teraz lub w przyszłości to będę wdzięczny za informację. Wskaźniki zamontuję i będą na razie pokazywać do 4,5KHz i będa czekac na lepsze czasy, są na tyle fajne, że warte są poświęcenia uwagi.

    Tak się jeszcze zastanawiam, że są przecież dzielniki częstotliwości.
    Jakby tak podzielić przez 4? Wtedy z 18KHz wychodzi 4,5KHz z 200Hz wychodzi 50Hz, a on pokazuje od 40, więc nie było by tak źle. Jeszcze lepiej jakby podzielić przez 3, ale z tym pewnie będzie większy problem.
    nawet na dzielniku przez 2 będzie o niebo lepiej.

    Dało by się na dzielniku np. przez dwa?

    Wiadomo, że takie coś zafałszuje pokazywany wynik, ale będzie mniej zafałszowany niż teraz. Jak gra perkusja BUM-CYK to widać tylko BUM a przy podzieleniu będzie widać i BUM i CYK bo bardzo niskie BUM to nie jest samo 60Hz, którego on już nie pokaże tylko to jest też cała spora okolica.

    Taki sygnał może też być dowolnie zniekształcony nawet chyba prostokąt może być bo to nie ma znaczenia, to nie będzie do słuchania tylko oglądania i zniekształceń się nie zobaczy.

Podsumowanie tematu

✨ Użytkownik zakupił wskaźnik widma OLED z Aliexpress, który działa do 4,5 kHz, co ogranicza jego użyteczność w wyższych tonach. Zgłosił problem sprzedawcy, ale podejrzewa, że to wada konstrukcyjna. W dyskusji poruszono możliwość modyfikacji oprogramowania, aby przesunąć zakres częstotliwości, jednak brak dokumentacji utrudnia to zadanie. Uczestnicy sugerują, że zmiana kwarcu lub zastosowanie dzielnika częstotliwości mogłoby poprawić działanie urządzenia. Wspomniano również o zjawisku Nyquista, które ogranicza maksymalną częstotliwość do 4,5 kHz w obecnym ustawieniu.
Wygenerowane przez model językowy.
REKLAMA