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

lokalizacja i korekcja audio z uszk.CD (Matlab)

moby23 16 Maj 2004 13:31 2664 3
REKLAMA
  • #1 643663
    moby23
    Poziom 2  
    Mam problem. Otóż mam do zaimplementowania w środowisku Matlab układ do lokalizacji i korekcji sygnału audio z uszkodzonej płyty CD.Ma się to opierać o procesor C6211 (niby) ale ja wogóle szukam jakiś algorytmów lokalizujących i usuwających trzaski z pliku np. wav zaimplementowanych w środowisku Matlab. Mnie się wydaje że takie rozwiązania są chowane przez różnego rodzaju producentów i nie można nic znaleźć przykładowego. Próbuję to robić w Simulinku ale nie wiem jakie bloczki mam wziąć i z jakimi parametrami. Krótko mówiąc jeżeli ktoś wie albo ma namiary na taki przykładowy algorytm lokalizujący iusuwający trzaski z pliku wav zaimplementowany wśrodowisku Matlab i byłby w stnaie mi pomóc to byłbym bardzo wdzęczny. :?
  • REKLAMA
  • #2 643698
    h-doc
    Poziom 27  
    hmm, to ciekawe i trudne zagadnienie. Najpierw polecam Ci pooglądanie jak wyglądają trzaski przy zgrywaniu materiału z CD. Wyróżniłbym tu dwa problemy: detekcję i korekcję:
    1. Detekcja
    Zazwyczaj wygląda to tak, że kolejne próbki przyjmują minimalne lub maksymalne wartości. Stąd też łatwa detekcja tego typu sytuacji (w normalnym materiale audio maksymalna czy minimalna wartość próbki nie powinna wystąpić). Gorzej z tzw. "dropami" czyli kiedy próbka została zgubiona. Tutaj detekcja musiałaby się odbywać na zasadzie stwierdzenia, że kilka (lub więcej) kolejnych próbek ma wartość zerową. Tylko jak to odróżnić od zwykłej ciszy?
    2. Korekcja.
    Kolejny problem - czym zastąpić zniekształcony sygnał - ciszą, czy też jakoś interpolować? A może po prostu wyciąć? Wyciszenie lub wycięcie jest najprostsze, ale taki zabieg może dać gorsze efekty niż pozostawienie trzasku. Interpolacja z kolei jest trudna do wykonania a przy większej liczbie próbek może mocno zniekształcać dźwięk.
    To tyle na początek - napisz coś więcej na temat zastosowanej przez ciebie strategii, to będziemy dalej główkować.
  • REKLAMA
  • #3 643720
    moby23
    Poziom 2  
    Ja chcialbym to zrobic tak....Chcialbym najpierw zrobic znieksztalcony plik typu wav (Matlab najlepiej sobie z nimi radzi). Jak wiadomo wav jest juz w formie sprobkowanej tak wiec odpada próbkowanie sygnału audio. Najlepiej byloby wyciac jakies probki z sygnalu w jakis nielosowy sposób (nie wiem jak to zrobic w Matlabie ale myslalem nad przemnozeniem sygnalu przez sygnał prostokątny na przykład) i pozniej wstawienie w to miesce probki zinterpoowanej na podstawie sasiadujacych probek (tez nie wiem jak to zrobic). Jezeli masz prostszy sposob to daj mi znac. Dzieki:)
  • #4 644598
    h-doc
    Poziom 27  
    Cóż, nie pracuję w Matlabie - tylko C. Najprostsza interpolacja pierwszego rzędu to prostoliniowy odcinek łączący ostatnią próbkę z lewej strony z pierwszą próbką z prawej strony. Aha, dobrze tego typu korekcje przepuścić potem przez filtr dolnoprzepustowy w celu redukcji zniekształceń.
REKLAMA