Filtry cyfrowe bez matematyki

Do redagowanego tekstu na temat projektowania filtrów cyfrowych chcę dodać ramkę pt. filtry cyfrowe bez matematyki, gdzie wyjaśniłbym elementarz tego ustrojstwa. Tak kombinuję aby poszerzyć maksymalnie czytelność tekstu a inspiracją był wątek pt. szumy sprzed paru dni toczący się tutaj na grupie.

No i zacząłem pisać, mam już w zasadzie całą ramkę ale dojechałem do momentu że przy kompilacji pojawił się error - odczułem że bredzę i zmyślam.

Pomyślałem, że pokażę ten fragment i może z krytyki i drwin uda mi się wyłowić jakiś algorytm poprawy tegoż.

Oto tekst:

Jak zrozumieć działanie filtrów cyfrowych bez matematyki? Patrząc ogólnie na zagadnienie można powiedzieć, że działanie filtrów cyfrowych polega na odpowiedniej manipulacji widmem spróbkowanego sygnału cyfrowego. Poprzez sumowanie i odejmowanie wybranych próbek przemnożonych przez odpowiednie wagi uzyskuje się pożądany kształt charakterystyki przenoszenia. Na przykład operacja dodania do siebie kolejnych dwóch próbek b(i) = a(i)+a(i-1) uśrednia sygnał, a więc tworzy filtr dolnoprzepustowy, z kolei odejmowanie b(i) = a(i)-a(i-1) to operacja kojarzona z filtrem górnoprzepustowym. Sumowanie/odejmowanie próbek rozszerza sumaryczne widmo sygnału i powoduje, że część spektrum „wysuwa się” poza obszar obserwacji, a więc te składowe są tracone. Działanie jest tu więc podobne jak w rozwiązaniu analogowym, gdzie filtr usuwa składowe leżące poza częstotliwością graniczną, z tym, że w filtrach cyfrowych, usuwanie realizowane jest poprzez operacje dodawania i odejmowania fragmentów widma. Można to przedstawić na prostym przykładzie. Niech sygnałem wejściowym będzie liczba losowa z zakresu -1 …. +1. Można ją traktować jako źródło szumu szerokopasmowego którego widmo ma rozkład liniowym. Gdy kolejne losowe liczby z tego zakresu, a(i), dodamy do uzyskanych „chwilę wcześniej”, a więc a(i-1), to wyjściowa liczba b(i) = a(i)+a(i-1) będzie zawierać się w przedziale -2 … +2. Po odrzuceniu wartości wykraczających poza obszar -1 … 1 (jest to analogia filtracji cyfrowej), otrzymamy więcej liczb bliższych zera, a więc te kojarzone z dolnym zakresem pasma. Podobnie, gdy dla tego zbioru liczb wykonamy operację odejmowania wartości bieżącej od poprzedniej, b(i)=a(i)-a(i-1), zakres wartości b(i) będzie także zawierał się od -2 … +2, ale po obcięciu wyników w zakresie

-1 … 1 więcej liczb będzie z końca pierwotnego przedziału.

Reply to
Marvin
Loading thread data ...

Dokładnie tak samo jak zeozumieć elektronikę bez znajomości prawa Ohma.

Reply to
Pcimol

Dnia Thu, 06 Jul 2017 00:04:05 +0200, Pcimol napisał(a):

A to prawo mówi nam o proporcjonalności między poziomami energetycznymi wymuszającymi ruch ładunków i wielkością tego ruchu przy zadanej przeszkodzie. Trochę tak jak z regulowanymi przepustami na zaporze wodnej.

Reply to
art

W dniu 2017-07-06 o 00:22, art pisze:

I co ciekawe, mądrzejsze podręczniki piszą, że prawo Ohma nie jest sensu stricto prawem elektryczności, co raczej mechaniki - bierze się ono z mechanicznych ograniczeń przepływu elektronów przez strukturę metalicznych ciał stałych. Bo w zasadzie tylko metalicznych ciał stałych ono dotyczy, np. w półprzewodnikach w zasadzie nie działa, tzn. dopiero przy stosunkowo dużym prądzie dioda krzemowa nabiera charakterystyki zbliżonej do u/i = const.

Reply to
SnCu

W dniu 05.07.2017 o 21:08, Marvin pisze:

Chyba dodawanie/odejmowanie próbek. To oczywiście w odpowiedni sposób wpływa na widmo.

Reply to
Cezary Grądys

Niestety moje wieloletnie doświadczenie pokazuje że najlepiej tłumaczenie zacząć od przedstawienia zjawisk fizycznych na prostych przykładach a potem dopiero przejść do bardziej złożonej teorii. W filtrach cyfrowych zaczyna się zwykle od wzorów, transformat i przekształceń, co jest odpychające.

Niemniej jestem przekonany, że są tutaj koledzy, którzy wyprostują te meandry teorii sygnałów.

Marvin

Reply to
Marvin

Użytkownik "Marvin" napisał w wiadomości grup dyskusyjnych:ojjdfs$1a8u$ snipped-for-privacy@gioia.aioe.org...

Bez matematyki to sie nie da ... ale probuj :-)

Moze ilustracja graficzna - jak sie blura robi na obrazku ?

Na razie OK.

eee ... nic nie rozszerza. Tylko przemnaza przez funkcje transmitancji.

Myslisz, ze laik to zrozumie ?

To brzmi jak tracenie widma. I owszem - jak transmitancja zawiera gdzies zero, to tracimy informacje. Ale to raczej nie stanowi istoty filtrow cyfrowych.

Hi hi - patrz moj niedawny watek. Mamy oryginalny ciag a(i), losowy. Zrobmy ciag c(i) = {a1, -a2, a3, -a4, a5, -a6, ....}

Rowniez jest losowy i wydaje sie rownie dobry jak a(i).

to teraz c(i)+c(i-1) = a(i)-a(i-1).

i filtr dolnoprzepustowy zamienil sie w gornoprzepustowy ?

Rozwiazanie zagadki bylo, ale teraz dostrzegam jeszcze jeden niuans.

ale filtry cyfrowe tak nie wyrzucaja wartosci, bo za wysokie. Zabawa polega na tym, ze dla wysokich czestotliwosci sasiednie probki prawdopodobnie beda sie duzo roznic. Jesli je posumujemy, to sie usrednia i zmiennosc bedzie mala. Mozna na przykladzie pokazac, mozna matematycznie udowodnic :-)

I byc moze filtr gdzies tam dzieli przez 2.

A tu odwrotnie - dla malych czestotliwosci kolejne probki sie niewiele roznia. Wiec po odjeciu wyjda male liczby - czyli cichy sygnal.

Dla duzych czestotliwosci probki roznia sporo, to i roznice sa duze, wiec sygnal glosny.

J.

Reply to
J.F.

W dniu 2017-07-06 o 11:29, w systemie siła 'POPIS/EU pisze:

Masz jakieś ciekawe PDF-y?

M.

Reply to
Marvin

Jak pisałem, ten wątek i przykład mnie zainspirował.

Ramka ma być tyko drobnym dodatkiem do tekstu, ja nie silę się na wyjaśnianie całości teorii sygnałów w ten sposób. Zadowolę się tylko tym przykładem filtra. M.

Reply to
Marvin

No właśnie, taki moment i u mnie nadszedł, z e jak losowe liczby to w sumie czy je dodajemy czy odejmujemy to nie ma znaczenia. Stąd pojawiło się pytanie.

Ale dla tego przykładu z liczbą losową równoważną szumowi te podejście chyba się nie sprawdza?

M
Reply to
Marvin

Użytkownik "Marvin" napisał w wiadomości grup dyskusyjnych:ojl1je$1iru$ snipped-for-privacy@gioia.aioe.org...

niuans teraz widze taki, ze co prawda c3+c2 = a3-a2, ale c2+c1 = -a2+a1.

Nadal roznica, nadal losowe liczby, wiec moze moze nie ma znaczenia ... a moze ma.

Sprawdza sprawdza. niech a(i) ma transformate F(k)

wtedy a(i-1) ma transformate G(k)=F(k)*e^(-2pi*j*k/N) j - jednostka urojona (skoro i zajete), N - ilosc punktow transformaty.

F(k)+G(k) = F(k) * (1+e^(-2pi*j*k/N)) F(k)-G(k) = F(k) * (1-e^(-2pi*j*k/N))

przyjrzyjmy sie e^(-2pi*j*k/N) ...

-dla k malego, k/N jest male, wykladnik jest bliski zeru, wiec e^... jest bliskie 1, a 1+e^... jest bliskie 2. Nie ma tlumienia dla niskich czestotliwosci.

-dla k bliskiego N jest podobnie - nie ma tlumienia dla niskich czestotliwosci ujemnych

-dla k bliskiego N/2, wykladnik jest bliski -pi*j, wiec e^... jest bliskie -1 i ... 1+e^.... jest bliskie zeru - suma tlumi wiec wysokie czestotliwosci - bo tym odpowiada takie k

Dla roznicy jest natomiast odwrotnie

1-e^... dla malych k jest bliskie 0 - roznica tlumi niskie skladowe. Za to 1-e^... dla duzych k (tzn bliskich N/2) jest rowne 2 - brak tlumienia wysokich.

To widac (na widmie) i slychac - jak sie poeksperymentuje z audio ... polecam Gold Wave.

Watek w byl w kwietniu i nazywal sie "Szumy".

Oczywiscie dla szumu, transformata F(k) tylko z grubsza bedzie jednostajna, fluktuacje i w widmie beda widoczne, ale po podsumowaniu N probek juz małe beda.

No i musi byc matematyka, nie da sie bez niej :-)

J.

Reply to
J.F.

no dobra, wygląda, że znów ja muszę zacząć - spróbuj sprowokować do (emanacji) tego gościa co zasłynął z USB...

a ja zacznę tak:

formatting link

Reply to
invalid unparseable

Niektórzy starają się jak moga i mają niezłe efekty, książkę polecam gorąco:

formatting link

Reply to
Sebastian Biały

Zrozumieć niekoniecznie ale obliczyć już można. Są darmowe programy w sieci do oblicznia filtrów.

Reply to
Andrzej

Omawianie filtrów cyfrowych i generalnie zagadnień teorii sygnałów wygląda tak że od samego początku epatuje się wzorami, bez względu na to jakie ma się audytorium. W efekcie wiele osób się od razu nastawia do tematu źle.

Problemy pogłębia środowisko akademickie, które nie zniża się do wyjaśniania zasady działania i mechanizmów pracy układów elektronicznych tylko prezentuje ekwilibrystykę matematyki wyższej.

Mi również obrzydzono teorię sygnałów podczas studiów na PW. Niejaki Karol Radec.i włożył wiele wysiłku aby fajny temat udupić. Stąd u mnie zanim pojawią się wzory, misi być tzw. chłopski rozum, akspekt fizyczny i zrozumienie zagadnienia.

Wiadomo ze w filtrach bez matematyki się nie da, ale _zacząć_ można spokojnie. Tak mi wyszło:

Jak zrozumieć działanie filtrów cyfrowych bez matematyki? Patrząc ogólnie na zagadnienie można powiedzieć, że działanie filtrów cyfrowych polega na odpowiedniej manipulacji spróbkowanym sygnałem cyfrowym. Poprzez sumowanie i odejmowanie wybranych próbek przemnożonych przez odpowiednie wagi uzyskuje się pożądany kształt charakterystyki przenoszenia filtru. Na przykład operacja dodania do siebie kolejnych dwóch próbek b(i) = a(i)+a(i-1) uśrednia sygnał, a więc tworzy filtr dolnoprzepustowy, z kolei odejmowanie b(i) = a(i)-a(i-1) to operacja kojarzona z filtrem górnoprzepustowym. Do opisania zasady działania filtrów cyfrowych stosowany jest zaawansowany aparat matematyczny, zmieniający analizę sygnałów w dziedzinie czasu na dziedzinę częstotliwości (m.in. transformata Fouriera). Stąd bez matematyki można próbować zrozumieć jedynie elementarne przypadki. Niemniej ich analiza daje dobrą orientację, o co w tym filtrowaniu cyfrowym chodzi. Zobaczmy jak działa filtr dolnoprzepustowy. Niech sygnałem wejściowym będzie liczba losowa z zakresu 0 …. 255. Można ją traktować jako źródło szumu szerokopasmowego. Gdy kolejne losowe liczby z tego zakresu, a(i), dodamy do uzyskanych „chwilę wcześniej”, a więc a(i-1), to wyjściowa liczba zostanie uśredniona. Kolejne próbki składowych o wysokich częstotliwościach różnią się znacznie od siebie, bo różnica wartości kolejnych próbek odpowiada szybkości zmiany amplitudy sygnału a więc jego częstotliwości. Zatem po ich uśrednieniu, te duże zmiany zostaną zniwelowane. Innymi słowy górne częstotliwości w szumie zostaną ograniczone, bo uśrednianie ogranicza szybkość zmian, tak że kolejne próbki w sygnale wyjściowym nie będą się tak bardzo różnić między sobą. W ekstremalnym przypadku sygnał DC, dla którego wszystkie próbki są takie same, po uśrednieniu pozostanie niezmieniony, a taki, który składa się z ciągu 0, 255, 0, 255… zostanie sprowadzony do stałego ciągu 127,

127, 127 – a więc wyfiltrowany. Jest to zgodne z działaniem filtru dolnoprzepustowego. Analogicznie dla filtru górnoprzepustowego odejmowanie kolejnych próbek zwiększa różnice ich wartości i powoduje, że tym razem sygnały wolnozmienne są obcinane. Przykładowy sygnał DC: 127, 127, 127 zostanie wyfiltrowany, bo odejmowanie kolejnych takich próbek daje na wyjściu zero. Z kolei ciąg szybkozmienny 0, 255, 0, 255 pozostanie niezmieniony. Jest to zgodne z działaniem filtru górnoprzepustowego.
Reply to
Marvin

Użytkownik "Marvin" napisał w wiadomości grup dyskusyjnych:ojom22$1c3d$ snipped-for-privacy@gioia.aioe.org...

[...]

szumu szerokopasmowego.

Na moj gust - wywal ten szum stad. Tylko zamiesza w glowie.

Pokaz na przykladzie dwoch czestotliwowosci, jak je przepusci suma, a jak roznica.

Da sie policzyc w Excelu, albo pokazac na wykresie.

Jak jestes odwazny, to mozesz sprobowac sygnal bedacy suma dwoch czestotliwosci przepuscic przez takie dwa filtry i pokazac co wychodzi po filtrach.

Z tym, ze edukacyjny przyklad to bedzie 0, 127, 0, -127, 0 ... i tu juz tak ladnie nie jest, ale widac, ze amplituda spadnie. Wyzsze czestoliwosci beda wpadac w aliasing i bedzie brzydko.

J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.