Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Dekodowanie stereo (MPX) - jak to zrobić matematycznie

psooya 26 Lis 2008 00:06 4637 33
  • #1 26 Lis 2008 00:06
    psooya
    Poziom 37  

    Witam
    Potrzebuję algorytm dekodowania sygnału stereofonicznego w sposób łopatologiczny tzn co z czym pomnożyć i przez ile i co do czego dodać czy odjąć alby uzyskać z sygnału MPX sygnały L oraz P. Mam to zrobić w programie LabView wraz z koderem stereo. Koder to była łatwizna natomiast co nie zrobię z dekoderem to mam dość spory przesłuch. Sprawa nie cierpi zwłoki a siedzę nad tym od tygodnia dlatego proszę Was o pomoc. Mógłby być jakiś łopatologiczny schemat blokowy itp. Kwestie synchronizacji dekodera do pilota i odzyskiwanie podnośnej w odpowiedniej fazie zgodnej z fazą pilota rozwiązałem pozostało tylko przełączanie tych kanałów i oto proszę.
    Pozdrawiam

    0 29
  • #2 26 Lis 2008 11:04
    psooya
    Poziom 37  

    Chodzi mi mniej więcej o coś takiego jak kodowanie w takiej postaci:
    (L+P)+(L-P)*sinus38Khz + sinus19KHz. Amplituda podnośnej 38KHz to 1 a 19KHz to w przybliżeniu 10% sygnału sumy L+P w a przypadku dodania RDSu 7,5% sygnału sumy . Teraz potrzebny mi algorytm odwrotny mam nadzieję że ktoś pomoże.

    0
  • #3 29 Lis 2008 19:09
    psooya
    Poziom 37  

    Nikt nie pomoże? Wszyscy wymiękają w temacie?
    Pozdrawiam

    0
  • #4 29 Lis 2008 21:15
    W.Wojtek
    Specjalista od telefonów

    Wyglada że jesteś w tym najlepszy..
    Inni nawet nie próbują i chyba jestes na zdany na siebie...

    0
  • #5 29 Lis 2008 22:42
    Filip
    Poziom 23  

    L:= M+S , P:= M-S, gdzie M=(L+P)/2 S=(L-P)/2, prosciej sie nie da, sygnal Mono masz bezposrednio, róznicowy stereo na podnosnej

    0
  • #6 30 Lis 2008 13:02
    psooya
    Poziom 37  

    Nie no Filip ja wiem że prościej się nie da ale powodzenia zrobić dekoder z twojego opisu. Nic nie wspomniałeś o kształcie i amplitudzie odzyskanej podnośnej i dalszych operacjach na sygnale MPX z użyciem odzyskanej podnośnej. Odpowiedź typu kluczuesz kanały jest oczywista ale oprócz tego jest tam jakiś myk poprawiający przesłuch przez zmianę kształtu podnośnej w MPXie gdy w jednym kanale jest 0 a w drugim coś. Bez tego zabiegu przesłuch jest do bani a jak nie wiesz czemu to ci narysuje bo 2 tydzień się doktoryzuje.
    Pozdrawiam i proszę o dalsze sugesie

    Oto cytat z nagłówka tego forum:

    Cytat:
    Początkujący Laborki, Teoria, Referaty Napisz nowy temat
    Możesz zapytać tutaj o opracowanie sprawozdania, wykładu lub jeżeli nie wiesz jak rozwiązać zadanie związane z elektroniką.
    Ja nie wiem jak rozwiązać zadanie z elektroniki bo dekoder stereo to przecież elektronika a nie jakieś cuda. Podobne pytanie było już przez kogoś zadane na forum i 0 odpowiedzi a przecież to nie takie trudne. Skoro uważasz że ten temat jest za trudny na ten dział to zaproponuj inny wg. ciebie dobry. To zadanie to czysta teoria a dział jest o teorii i zadaniach z elektroniki!
    Pozdrawiam i uważam dalsze spory za zakończone.
    Ps. Jak to wykminie to na pewno zamieszczę na forum skoro temat jest taki strasznie trudny.

    0
  • Pomocny post
    #7 30 Lis 2008 20:12
    kevin52
    Poziom 16  

    Fajny temat. A jaką metodą to gryziesz? Detektor synchroniczny sterowany prostokątnym Fourierem 38kHz i sygn. zespolonym? Mam gdzieś ujęcie matematyczne zagadnienia. Nawet przy mojej głupocie z grubsza chwytam te wzory... Na papierze powinno działać.:D

    0
  • Pomocny post
    #8 30 Lis 2008 21:09
    Paweł Es.
    Pomocny dla użytkowników

    A z jaką częstotliwością planujesz próbkować ten sygnał MPX ?

    Teoretycznie powinieneś zrealizować cyfrowy generator 38kHz synchronizowany pętlą fazową z sygnałem pilota wydzielonym filtrem wąskopasmowym z sygnału MPX. Potem tego sygnału 38k używasz do detekcji synchronicznej sygnału różnicowego, filtrujesz oba otrzymane sygnały dolnoprzepustowo (na 15.5 kHz) a na końcu rozdzielasz sygnały L i P przez sumowanie i odejmowanie. t

    0
  • Pomocny post
    #9 30 Lis 2008 22:26
    kevin52
    Poziom 16  

    Doprowadzając do demodulatora synchronicznego szerokopasmowy MPX, czyli (L+P)+(L-P)cosωt matrycowanie zachodzi już w samym demodulatorze. Na wyjściu od razu otrzymuje się L oraz P. Taki dekoder jest prostszy. Detekcja synchroniczna samego sygnału różnicowego (a potem matrycowanie) wymaga dobrego filtru pasmowo-przepustowego zarówno w modelu matematycznym jak i dyskretnym.

    0
  • #10 01 Gru 2008 12:01
    mcgyver26
    Poziom 16  

    znalazłem w starej książce coś takiego, może ci sie przyda???????
    przemienniki stereofoniczne:
    rezystorowy:

    Dekodowanie stereo (MPX) - jak to zrobić matematycznie

    transformatorowy:

    Dekodowanie stereo (MPX) - jak to zrobić matematycznie

    wszystkie rezystory jak i transformatory muszą być takie same (rezystancja i uzwojenia)np:cztery oporniki 1K lub dwa takie same transformatory.Powodzenia..........

    0
  • #11 01 Gru 2008 13:15
    kevin52
    Poziom 16  

    mcgyver26 napisał:
    znalazłem w starej książce coś takiego, może ci sie przyda???????
    ......

    Oj chyba baaardzo starej. Tak się robiło w pierwszych dekoderach lampowych. Rozwiązanie aczkolwiek w 100% poprawne technicznie, dziś już nieco archaiczne...:D .
    A skoro już zeszliśmy na teorię dekoderową, rolę obydwu przedstawionych wyżej układów spełnia wspomniany podwójnie zrównoważony demodulator synchroniczny z matrycowaniem, jego działanie daje się opisać matematycznie i co najważniejsze daje się skonstruować z 6 cwanie połączonych tranzystorów.

    0
  • #12 01 Gru 2008 13:29
    mcgyver26
    Poziom 16  

    kevin52 napisał:


    Oj chyba baaardzo starej. Tak się robiło w pierwszych dekoderach lampowych. Rozwiązanie aczkolwiek w 100% poprawne technicznie, dziś już nieco archaiczne...:D .



    aż tak daleko sie niezapuściłem :D ale jak chcesz to zapodać moge pare dekoderów z ery lampowej opartych na mostkach diodowych,filtrach indukcyjnych no i lampach

    0
  • #13 01 Gru 2008 14:35
    psooya
    Poziom 37  

    Witam
    Dziękuję za odpowiedzi są pomocne. Zamieszczam mój wynalazek zrobiony tak łopatologicznie z tym że przesłuch w tej wersji jest kiepski. Co do detekora synchronicznego na 3 wzm różnicowych to wiem o tym i włąśnie ten detektor próbuje przelać na papier w postaci prostych "bloczków" ukazujących operacje arytmetyczne na sygnale MPX. Jeszcze co zauważyłem w tym co zrobiłem iź przy nadawaniu pilota sygnał mono ma 2 razy większą amplitudę na wyjściu P oraz L niż sygnał w stereo. Wygląda na to że trzeba będzie podzielić amplitudę przez 2. Prosiłbym o spojrzenie na to co zrobiłem i podpowiedzenie czego tu brakuje albo co robię źle bo przesłuch jest zbyt mały. Jeśli ktoś zna LabView chętnie podeśle cały projekt do analizy będzie zdecydowanie łatwiej :-)
    Pozdrawiam

    Dekodowanie stereo (MPX) - jak to zrobić matematycznie

    Jeszcze chciałem dodać a raczej powtórzyć iż wykrywam pilota filtrem 2 rzędu środkowo przepustowym po czym (jest to środowisko programowania a nie rzeczywisty układ) z takiego filtru otrzymuję wartość odfiltrowanej częstotliwości czyli 19kHz jak i fazę oraz amplitudę. Następnie częstotliwość(jej wartość) mnożę przez 2 otrzymując 38KHz. Fazę i podwojona częstotliwość podaję na generator cyfrowy przebiegu prostokątnego który generuje prostokąt o amplitudzie 2Vpp (-1 i 1V) i fazie zgodnej z faza odfiltrowanego pilota. Tak to wygląda od strony LabView. Potem trzeba kluczować MPX i sumować i tu coś już nie do końca wiem jak zrealizować. Wszystkie przebiegi które generuję są próbkowane z częstotliwością 456KHz.

    0
  • #14 01 Gru 2008 14:52
    kevin52
    Poziom 16  

    No jeśli mam być szczery, to w/g tego schematu nie powinno działać...chyba że jest to schemat uproszczony. Na oba mnożniki wchodzą dokładnie takie same sygnały pilota i mpx pod względem fazy i amplitudy- to jak to ma działać i rozdzielać L i P? Jak wróce do domu to się zastanowię...

    0
  • #15 01 Gru 2008 15:02
    psooya
    Poziom 37  

    Na jeden mnożnik wchodzi MPX i podnośna prostokątna i gdy ona jest > 0 to klucz przepuszcza podnośną czyli 1V i mnoży z MPXem. Drugi klucz przepuszcza podnośną gdy jej amplituda jest < 0 czyli -1V i to wchodzi na mnożnik razem z MPXem i mnoży -1*MPX i odwraca fazę sygnału MPX i przełącza klucze na zmianę. Tak to wygląda właśnie w LabView nie wiem jak to narysować zrozumialej. Będę wdzięczny jeśli wieczorem zobaczysz (jeśli możesz przez gg podyskutować będę wdzięczny tylko mi podeślij gg)
    Pozdrawiam i dziękuje raz jeszcze za chęć pomocy

    0
  • #16 01 Gru 2008 15:10
    kevin52
    Poziom 16  

    O ile pamiętam dla toru kanału P musi być wprowadzony współczynnik tłumienia k dla MPX. Jego wartość decyduje o przesłuchu.
    Z pamięci:
    k=(Pi-2)/(Pi+2)

    mój GG 8588816, w godz 21-24.. ( jak obowiązki pozwolą)

    0
  • #17 01 Gru 2008 15:23
    psooya
    Poziom 37  

    A widzisz być może tu jest cały szkopuł. Odezwę się na gg i będę wdzięczny za pomoc.

    0
  • #18 01 Gru 2008 15:24
    mcgyver26
    Poziom 16  

    a z czego chcesz dekodować sygnał z telewizora czy z radia?????ja w telewizorze (niewiem czy to był dźwięk stereo,ale niczym sie nieróżnił od dźwięku z tv stereofonicznego)brałem sygnał 15,625KHz(odchylanie poziome)'' przerabiałem na prostokąt i mnożyłem przez dwa i miałem 31KHz.Z tą częstotliwością przełańczałem sygnał audio(mono) na dwa sygnały(przez multiplikser)gdzie multiplikser na ''pozycji zerowej'' miał wyjście lewego kanału.Synchronizacja a raczej impuls synchronizacyjny był zawarty w sygnale wideo i był wyłaniany razem z impulsami lini.

    0
  • #19 01 Gru 2008 17:55
    psooya
    Poziom 37  

    Napisałem w 1 poście ze to projekt w LabView. Model dydaktyczny. Dekoduje softwarowy koder :-) Mam cały tor Generator m.cz --> koder -->MPX --> dekoder --> 2 oscyloskopy. Zero sprzętu czysta matematyka w graficznym wykonaniu C++. Wszystko jest super do momentu dekodowania.
    Pozdrawiam

    0
  • #20 04 Gru 2008 01:59
    Meloman_skce
    Poziom 10  

    Tak się składa, że właśnie robimy z kumplem bardzo podobny projekt (koder-dekoder MPX) - tyle że na procesorach sygnałowych. Poniżej masz link do naszego sprawozdania z części symulacyjnej. Poczytaj o metodzie dekodowania, którą stosujemy. W Matlabie wszystko pięknie działa. Czekam na słowa konstruktywnej krytyki.

    SPRAWOZDANIE

    PS. Nasz projekt pracuje na częstotliwościach kilkukrotnie niższych niż w prawdziwym MPX, ale to nic nie zmienia w zasadzie działania systemu.

    0
  • #21 04 Gru 2008 08:02
    kevin52
    Poziom 16  

    Meloman_skce ciekawy projekt! Może gdzieś ominąłem ale zabrakło mi tego z czym tak walczy kolega psooya, tzn. trochę rozważań o przesłuchu. Wykresy pokazują delikatne różnice między przebiegami przed i po kodowaniu, wynikają one zapewne z filtracji. Te różnice są jednak bardzo "mściwe" i przesłuch rośnie drastycznie. Wynika to z algebry matrycowania. Tzn. rzeczywiście piszecie -40dB, ale wybaczcie, zabrzmiało to trochę nieprzekonywująco...

    0
  • #22 04 Gru 2008 11:26
    psooya
    Poziom 37  

    Przeglądnąłem projekt i już widzę że stosujecie dekoder którego sie nie stosuje w praktycznych realizacjach ze względu na problemy z wykonaniem filtrów FDP do 15KHz jak i FŚP od 23 do 53kHz. Jeśli zdemodulujemy różnicę i mamy sumę jako osobne sygnały to odzyskanie L i P jest proste. Chyba zmontuje ten dekoder i zobaczę jak działa. Co do uwag to teoretyczne widmo MPXa tak nie wygląda (strona 2 pdf). Różnica ma połowę amplitudy sumy bo są dwie wstęgi (DSB). U mnie cały dowcip polega na tym że nie wydzielam sygnału różnicy bo tak naprawdę nie potrzeba tego robić i nie spotkałem dekodera który by to robił. nawet najprostszy dekoder UL1601 tego nie robi.

    Dodano po 1 [minuty]:

    Ps Ja na razie zakończyłem to na etapie dekodera z 20dB przesłuchem który działa poprawnie jednakże to nadal mnie nie satysfakcjonuje. Zmontuje to na kilku filtrach i zobaczę co to da.
    Pozdrawiam

    0
  • #23 04 Gru 2008 11:37
    Meloman_skce
    Poziom 10  

    kevin52:
    Fakt, szacowałem to trochę na oko.

    Ale teraz policzmy dokładnie na podstawie amplitud przebiegów na prawych rysunkach 19 i 21. Wybieram do obliczeń przykładowo pierwszy punkt wykresu.

    W kanale lewym mam sygnał o wartości chwilowej: -0.84
    W kanale prawym powinienem mieć ciszę, ale mam przesłuch o poziomie: 0.015.

    Przesłuch to stosunek tych dwóch wartości wyrażony w decybelach:
    20*log(0.015/0.84) = 35 dB

    Masz rację, wartość podana w tekście wyszła nieco zawyżona.

    psooya:
    Wykonanie takich filtrów w technice analogowej faktycznie stanowi problem, natomiast w DSP już nie - stąd taka koncepcja dekodowania. Całość działa na jednym, wygenerowanym wcześniej sygnale MPX - inaczej cała zabawa nie miałaby sensu. Dzięki za uwagę odnośnie rysunku.

    0
  • #24 04 Gru 2008 11:48
    psooya
    Poziom 37  

    Ta koncepcja może jest popularna bo nikt do tej pory nie wie jak zrobić inaczej a każda książka podaje właśnie ten sposób dekodowania bo on jest najbardziej oczywisty do wymyślenia. Ja wiem że w DSP to nie problem u mnie w LabView też to nie problem ale poco robić model dydaktyczny dekodera który jest nie realizowalny w praktyce? Spróbuje dziś to zrobić i zobaczę jak działa. Poza tym te filtry dodatkowo pogorszą przesłuch na wyższych częstotliwościach przynajmniej tak mi się wydaje. Dam znać co i jak w najbliższym czasie.
    Pozdrawiam

    0
  • #25 04 Gru 2008 14:08
    kevin52
    Poziom 16  

    Meloman_skce napisał:

    ... wartość podana w tekście wyszła nieco zawyżona.

    :D nie chodziło mi oczepianie się decybeli, a raczej o postawienie kropki nad i - system działa i ma takie a takie parametry. A przesłuch jest chyba najpierwszym parametrem każdego dekodera stereo.
    Widzę psooya co Cię boli...:D Nie lubisz filtrów! Zapewniam Cię, że w rzeczywistych systemach radiofonicznych, niezależnie od konstrukcji kodera (DSP, czy hardware) filtry są na 100%, bo muszą być! Inaczej widmo nadajnika przekroczyło by założoną szerokość, a to już jest naruszenie prawa itp.itd.

    0
  • #26 05 Gru 2008 11:48
    psooya
    Poziom 37  

    kevin52 lubię filtry ale nie wszędzie są potrzebne a widmo jest ograniczone. Jak będziemy mieli czasu na gg to pokażę ci taką konstrukcję :-) ale mówię tu o koderze. Właśnie montuje ten dekoder teoretyczny na filtrach i już coś nie działa.
    Pozdrawiam

    Dodano po 6 [minuty]:

    Zrobiłem i też to dobrze nie działa. Wymaga przesunięcia fazy pilota o 45 stopni względem podnośnej po stronie dekodera. Jeszcze pobawię się amplituda podnośnej bo widzę że przesłuch 3V w L i 1V w P to chyba nawet ucho nie wyczuje że to jest stereo :D
    Pozdrawiam

    0
  • #27 06 Gru 2008 12:46
    Meloman_skce
    Poziom 10  

    Pamiętaj, że musisz znać opóźnienia wprowadzane przez poszczególne filtry i zgrać to tak, aby:
    1. Opóźnienie od wejścia do mnożenia w torze wydzielania podnośnej i w torze sygnału różnicowego było takie samo (u nas to jest zrealizowane przez zastosowanie filtrów FIR o takich długościach, aby te dwa od wydzielania podnośnej miały w sumie taką samą długość jak filtr od wydzielania różnicy)
    2. Opóźnienie całego toru demodulowania różnicy do momentu końcowych sumatorów musi być takie samo jak opóźnienie toru w którym wydzielona jest suma. Z tego powodu w torze sumy włączony jest blok, który opóźnia sygnał o tyle, ile wynosi opóźnienie wnoszone przez filtr wydzielający różnicę z MPX.

    0
  • #28 07 Gru 2008 07:02
    psooya
    Poziom 37  

    Witam
    Zrobiłem ten dekoder daje idealny przesłuch ale do 10KHz. Wiedziałem że ten sposób filtrowania jest zły i nie dość że obcina pasmo to jeszcze powiększa przesłuch. U mnie niema problemów z opóźnieniami to działa trochę inaczej niż na procku DSP. Chyba wiem co jest źle w dekoderze na kluczach. Jeśli mi się zechce to jeszcze nad tym popracuję. Przedtem koder na filtrach źle działał bo należało dobrać amplitudę zdemodulowanej różnicy. Sprawdź jak działa twój dekoder przy tam nie wiem 6KHz ? ja mam do 15 tyle co norma przewiduje.
    Pozdrawiam

    0
  • Pomocny post
    #29 09 Gru 2008 14:33
    Meloman_skce
    Poziom 10  

    Sprawdzimy jak się układ zachowuje dla większych częstotliwości, ale to już przy realizacji praktycznej.

    Ale faktycznie nie spodziewam się rewelacji. Problemem jest liczba próbek na okres sygnału. Ja jestem ograniczony próbkowaniem 48 kHz, bo takie właśnie są kodeki na płytkach testowych, na których to będzie uruchamiane. Nie ma szans, by na tym odpalić koder/dekoder w pełni zgodny ze standardem MPX, jeśli chodzi o częstotliwości.

    0
  • #30 14 Sty 2015 22:00
    polu90
    Poziom 9  

    witam,
    udalo sie komus rozwiazac problem? potrzebuje zaimplementowac dekoder MPX w labview

    0
  Szukaj w 5mln produktów