Wątek przeniesiony 2018-11-07 15:30 z Inne języki programowania przez Marooned.

opóźnienie sygnału analogowego

0

Trzeba napisać program będzie zapisywał do tablicy opóźnienie sygnału analogowego w stosunku do sygnału początkowego. Czy ktoś wie jak tutaj w ogóle trzeba myśleć , żeby to rozwiązać i na czym to polega?

0

Nie bardzo wiem jak może tu chodzić o sygnał analogowy, co najwyżej spróbkowany, no ale...

Jeśli chodzi o echo to szukaj pod hasłem DELAY, np. https://www.ee.columbia.edu/~ronw/adst-spring2010/lectures/lecture3.pdf
Polecam także książkę DAFX Wiley'a. Typową implementacją jest bufor w formie rejestru przesuwającego bądź odp. filtr FIR, zależy co dokładnie chcesz uzyskać.

0

Tak sory, chodzi o sygnał spróbkowany. I tam ma być jakim prosty program dla początkujących,opóźnienie jakoś trzeba zapisać w tablicy

0

Ale masz świadomość, że sam sygnał opóźniony to tak naprawdę bufor identyczny z oryginalnym tylko przesunięty względem niego o N próbek?

0
alagner napisał(a):

Ale masz świadomość, że sam sygnał opóźniony to tak naprawdę bufor identyczny z oryginalnym tylko przesunięty względem niego o N próbek?

Na 100% nie jest to prawda.
Pomiar próbki jest zawsze obarczony jakimś błędem pomiarowym. Do tego przesuniecie sygnałów nigdy nie jest idealną wielokrotnością czasu próbkowania (odwrotność częściowości próbkowania).
Czyli jeśli oba sygnały są wynikiem pomiarów realnego świata to sygnałów nie da się idealnie dopasować, przez zwykłe przesunięcie o N próbek.

Najprostsze podejście to liczenie funkcji korelacji:
c(T) = \int f(t)\cdot g(t+T) dt
i szukanina maksimum takiej funkcji.

0

@MarekR22 to co napisałeś też jest prawdą, ale nie przyznaję się do błędu, bo zasadniczym pytaniem jest co w zasadzie Autor chce uzyskać. Najprymitywniejsza implementacja będzie taka jak np. tu:
https://ccrma.stanford.edu/~jos/Delay/Delay_Line_C.html i w zasadzie to pokrywa się z tym co napisałem wcześniej. Fakt, metoda prymitywna i chamska, ale działająca dla pewnych warunków.

Jeśli chcemy opóźnić o czas niebędący N*fs to wtedy faktycznie masz rację.

1 użytkowników online, w tym zalogowanych: 0, gości: 1