Warto spróbkować, część 1.pdf

(688 KB) Pobierz
093-096_probkowanie_cz1.indd
K U R S
Warto spróbkować,
część 1
Powszechne implementowanie przetworników analogowo–cyfrowych
i cyfrowo–analogowych w popularnych mikrokontrolerach przyczyniło
się do coraz częstszego podejmowania prób sprawdzania własnych
umiejętności w dziedzinie cyfrowego przetwarzania sygnałów przez
zwykłych składaczy kitów (z całym szacunkiem dla składaczy). Nie
dysponując często odpowiednimi podstawami teoretycznych, robią to
na wyczucie lub „na słuch”. Tymczasem wiedza na ten temat jest
nie mała, zawiera sporą dawkę elementów matematyki wyższej.
Można wyróżnić dwa podstawowe
jej etapy: próbkowanie i kwantyza-
cję. Próbkowanie (ang. sampling ),
to „wyłapywanie” w ustalonych
(najczęściej równych) odstępach
czasu wartości chwilowych sygnału
analogowego. Następnie są one na
etapie kwantyzacji przydzielane do
odpowiednich przedziałów wartości
dyskretnych (rys. 1) . Liczba takich
przedziałów zależy od rozdzielczo-
ści przetwornika A/C realizującego
tę operację. Przykładowo: jeśli dys-
ponujemy przetwornikiem 8–bito-
wym, to możemy utworzyć 256 po-
ziomów kwantyzacji (0, 1, 2,...255).
Załóżmy, że 8–bitowy przetwornik
może pracować z napięciami o war-
tościach od 0 do 1 V. Oznacza to,
że najmniejsza, rozpoznawalna róż-
nica napięcia wejściowego będzie
równa 1/256 V, czyli ok. 3,9 mV.
Zwiększając rozdzielczość próbko-
wania, zwiększamy dokładność od-
wzorowania próbkowanego sygnału.
Bezkrytyczne działania w tym kie-
runku nie zawsze jednak znajdują
uzasadnienie, gdyż w pewnym mo-
mencie poziomy kwantyzacji stają
się porównywalne, a nawet mniej-
sze od poziomu szumów własnych.
Niekiedy godzimy się na to, by
część najmniejszych próbek „uto-
nęła” w szumie, zyskując w zamian
na dokładności odwzorowania war-
tości większych. Istotnym czynni-
kiem praktycznym może być przy
tym koszt przetwornika A/C. Naj-
Rozwinięcie masowej produkcji
układów logicznych na początku
lat 70. XX wieku spowodowało
lawinowy wręcz rozwój techniki
cyfrowej. Pojawienie się mikro-
procesorów przechyliło ostatecznie
szalę zainteresowań elektroników
w stronę „cyfrówki”. Dzisiaj chy-
ba łatwiej jest znaleźć specjalistę
od układów cyfrowych niż dobre-
go znawcę układów analogowych.
Technika cyfrowa coraz częściej
była wykorzystywana nie tylko
w zero–jedynkowych układach ste-
rowania, ale zajęła również stałe
miejsce nawet w aplikacjach analo-
gowych. Wielkości fizyczne wystę-
pujące w otaczającym nas świecie
(dźwięki, temperatura, ciśnienie,
prędkość, itp.) mają charakter ana-
logowy i tego nie zmienimy, taka
jest ich natura. Na potrzeby reali-
zacji projektów cyfrowych można
jedynie odpowiednio je przetwo-
rzyć. Zagadnienie to stało się jed-
nym z podstawowych, już u progu
istnienia techniki cyfrowej.
Aby sygnał analogowy mógł być
wykorzystany w urządzeniach cyfro-
wych musi być poddany procesowi
przetwarzania analogowo–cyfrowe-
go. Podobnej, tylko odwrotnej ope-
racji przetwarzania cyfrowo–analo-
gowego musi najczęściej być pod-
dany sygnał po obróbce. Na tym
etapie nadajemy mu ponownie po-
stać zbliżoną do naturalnej, a więc
analogową.
Akwizycja danych
Akwizycją danych nazwiemy
wszystkie czynności i operacje nie-
zbędne do pozyskania danych prze-
znaczonych do obróbki cyfrowej.
Rys. 1. Proces analogowo–cyfrowej obróbki sygnału (próbkowanie i kwanty-
zacja)
Rys. 2. Obserwacja wpływu częstotli-
wości próbkowania na wynik końco-
wy przetwarzania
Elektronika Praktyczna 9/2006
93
137779746.022.png 137779746.023.png 137779746.024.png 137779746.025.png 137779746.001.png 137779746.002.png 137779746.003.png
K U R S
częściej rośnie on wraz ze zwięk-
szaniem rozdzielczości.
Odstęp czasu pomiędzy kolej-
nymi próbkami nazywamy okre-
sem próbkowania T p . W praktyce
wygodniej posługiwać się pojęciem
częstotliwości próbkowania, która
jest zdefiniowana jako: f p =1/T p .
W typowym systemie cyfrowej
obróbki sygnału analogowego, pra-
wie zawsze będzie konieczne wy-
konanie minimum trzech operacji.
Będą to: zamiana sygnału analogo-
wego na postać cyfrową, programo-
wa lub sprzętowa obróbka danych
cyfrowych, przekazanie tak uzy-
skanych danych do bloku wyjścio-
wego, np. wyświetlenie parame-
trów na wyświetlaczu (amplituda,
częstotliwość, itp.), albo ponowna
zamiana przetworzonych cyfrowo
danych na postać analogową. Przy-
kładem takiego zastosowania może
być eliminacja szumów i wszelkich
zakłóceń, dodawanie lub elimina-
cja pogłosu, konwersja widma sy-
gnału, cyfrowa regulacja poziomu,
itp. Skuteczność metod cyfrowych
można pokazać na przykładzie
wyimaginowanego eksperymentu,
w którym osoba stojąca na peronie
kolejowym z powodzeniem może
podsłuchać rozmowę prowadzoną
w środku przejeżdżającego pociągu.
Po ogólnym wstępie najwyższy
już czas na rozpatrzenie konkret-
nych zagadnień. Popatrzmy, jak
dobór częstotliwości próbkowania
może wpłynąć na rezultaty proce-
su próbkowania. Wyobraźmy sobie
eksperyment, w którym wykorzy-
stamy generator idealnego sygnału
sinusoidalnego o częstotliwości f s .
Przebieg ten zostanie spróbkowa-
ny z częstotliwością f p . Z założenia
wynika, że sygnał z generatora nie
posiada żadnych harmonicznych
(generator idealny) – w widmie
generowanego sygnału występuje
tylko jeden prążek o częstotliwości
podstawowej f s . Spróbkowany sy-
gnał zostanie następnie poddany
procesowi odwrotnemu, tzn. prze-
tworzeniu cyfrowo–analogowemu,
a otrzymany w ten sposób przebieg
zostanie porównany z oryginałem.
Doświadczenie zostanie powtórzone
dla kilku częstotliwości próbkowa-
nia. W pierwszym przypadku zasto-
sujemy częstotliwość próbkowania
wielokrotnie (8 razy) większą od
częstotliwości sygnału (rys. 2a) .
Na razie nie będziemy sięgać po
rzeczywiste przyrządy, wszystkie
eksperymenty przepro-
wadzimy metodą kart-
ki papieru i ołówka.
Z papierową realizacją
próbkowania chyba nie
będzie żadnych pro-
blemów, gdyż jest to
proces dość oczywisty
(pominiemy przy tym
proces kwantyzacji),
natomiast odtwarzanie
przebiegu będzie po-
legało na łączeniu ko-
lejnych próbek krzywą
łamaną. W ten sposób
można mniej więcej
zamodelować działanie
przetwornika cyfrowo–
–analogowego. Chociaż
model taki nie jest
dokładnym odzwiercie-
dleniem rzeczywistego
procesu, to do dalszych rozważań
będzie wystarczający.
W przypadku, gdy f p >>f s wier-
ność odtworzenia sygnału jest bar-
dzo duża ( rys. 2a ), ale zauważmy,
że wraz ze wzrostem częstotliwości
próbkowania rośnie strumień da-
nych z przetwornika A/C. Koniecz-
ne staje się wówczas zapewnienie
odpowiednio wydajnego systemu
(interfejsy o dużej przepływności,
duże pojemności dysków twardych
gromadzących dane, wydajne sys-
temy mikroprocesorowe, itp.). Nie
zawsze działania w tym kierunku
znajdują uzasadnienie ekonomiczne.
Popatrzmy zatem, jak daleko można
obniżyć częstotliwość próbkowania.
Z rys. 2b i 2c wynika, że obniżając
f p do wartości f p =2f s można jeszcze
„od biedy” zorientować się o kształ-
cie przebiegu analogowego podda-
nego procesowi próbkowania. Jest
to jednak minimalna częstotliwość
próbkowania, która się do tego na-
daje (nazywamy ją częstotliwością
Nyquista). Zauważmy, że stosowa-
nie takiego wariantu próbkowania
mogłoby się zakończyć całkowitym
fiaskiem, gdyby próbki były pobie-
rane w momentach, w których war-
tość chwilowa sygnału
byłaby równa zero.
Odtworzony przebieg
miałby wtedy rów-
nież wartość zerową.
No dobrze, popatrzmy
jednak choćby z samej
ciekawości, co się bę-
dzie działo, gdy zasto-
sujemy częstotliwość
próbkowania mniejszą
niż 2f s ? Ustawiamy zatem na na-
szym generatorze częstotliwość np.
100 Hz. Sygnał ten spróbkujemy
z częstotliwością 160 Hz. Mamy
spełniony warunek, że f p <2f s . Sytu-
ację dokładnie przedstawia rys. 3 .
Przebieg I, to nasz oryginalny sy-
gnał z generatora. Punkty A, B,
C reprezentują próbki uzyskane
z bloku akwizycji danych. Na razie
eksperyment prowadzimy tylko na
papierze, więc modelowanie nasze-
go przetwornika C/A będzie polega-
ło na łączeniu kolejnych punktów
A, B, C, ... Gdybyśmy tak zrobili
wprost, uzyskalibyśmy jakąś krzy-
wą łamaną, która w układzie rze-
czywistym byłaby jednak wygła-
dzona przez filtr dolnoprzepustowy
występujący zawsze za przetworni-
kiem A/C. Możemy zatem przyjąć,
że na wyjściu układu będziemy
mieli jakiś przebieg odkształcony
i skorzystamy z faktu, że można go
potraktować jako sumę składowych
sinusoidalnych o różnych często-
tliwościach i amplitudach. Mode-
lując działanie przetwornika C/A,
pomiędzy punkty wyznaczające
próbki będziemy więc starali się
wrysować sinusoidy. Przykładowo
Rys. 4. Niebezpieczeństwa związane z pozornie pra-
widłowo dobranymi warunkami próbkowania sygnału
94
Elektronika Praktyczna 9/2006
Rys. 3. Graficzna prezentacja wyników eksperymen-
tu polegającego na odtworzeniu kształtu sygnału
analogowego o częstotliwości 100 Hz na podstawie
próbek pobieranych z szybkością 160 próbek na
sekundę
137779746.004.png 137779746.005.png 137779746.006.png 137779746.007.png
K U R S
Rys. 5. Typowy system obróbki cyfrowej sygnału analogowego
są nimi krzywe II i III na rys. 3,
ale nie stanowią one jedynego roz-
wiązania. Jako ćwiczenie proponuję
samodzielnie spróbować wrysować
inne jeszcze sinusoidy przechodzą-
ce przez punkty A, B, C, ... Jeśli
zadbamy o staranne zachowanie
skali czasu na rysunku, to możli-
we będzie oszacowanie częstotliwo-
ści otrzymanych przebiegów. Oka-
zuje się, że w przedstawionym na
rys. 3 przypadku są one równe 60
i 260 Hz. No tak, ale wejściowy
sygnał był przecież monochroma-
tyczny, a więc takich składowych
w nim nie było! Jak widać, mu-
siały powstać w wyniku procesu
próbkowania. Istotnie, takich „no-
wych” częstotliwości jest znacznie
więcej. Można je wyznaczyć z za-
leżności: f a =|n*f p ±f s |. Z powyż-
szego przykładu wynika wniosek,
że w układach w których następu-
je próbkowanie sygnału konieczne
jest stosowanie filtrów dolnoprze-
pustowych obcinających niepożą-
dane, wysokoczęstotliwościowe pro-
dukty przetwarzania cyfrowo–ana-
logowego. Opisane wyżej zjawisko
powstawania częstotliwości różnych
od częstotliwości sygnału próbko-
wanego nazywane jest aliasingiem.
Nieświadomość jego istnienia może
prowadzić do popełniania istotnych
błędów w projektowaniu aplika-
cji wykorzystujących przetwarzanie
analogowo–cyfrowe.
Popatrzmy teraz na układ, który
pozornie wygląda poprawnie. Załóż-
my, że pasmo sygnału użytkowego
mieści się w zakresie częstotliwo-
ści Nyquista (tzn. jest mniejsze od
f p /2) ( rys. 4 ). Można więc wniosko-
wać, że częstotliwość próbkowania
została dobrana odpowiednio i tak
jest faktycznie, ale... Niech się zda-
rzy, że w sygnale wejściowym po-
jawi się jakaś składowa o częstotli-
wości f s1 wychodzącej poza pasmo
Nyquista, a której istnienia nie za-
kładaliśmy pierwotnie. Niestety, po
spróbkowaniu sygnału wejściowego
w pasmie Nyquista pojawi się skła-
dowa aliasingowa f as1– , która w wy-
raźny sposób zniekształci spróbko-
wany sygnał (dla zaznaczenia, że
nie jest to składowa występująca
w sygnale oryginalnym, na rys. 4
została umieszczona jako strzał-
ka skierowana w dół). Eliminacja
takich przypadków jest możliwa
poprzez stosowanie we wszystkich
aplikacjach, w których następuje
próbkowanie sygnału odpowiednich
filtrów antyaliasingowych. Filtr
taki powinien być umieszczony
po wzmacniaczu wstępnym, bez-
pośrednio przed układem próbkują-
cym przetwornika A/C ( rys. 5 ). Za-
gwarantuje on, że do próbkowania
nie będą brane składowe sygnału
o częstotliwościach spoza pasma
Nyquista. Prawdopodobieństwo wy-
stąpienia takiej „niezaplanowanej”
częstotliwości jest wbrew pozorom
dosyć wysokie. Wystarczy, że w sy-
gnale użytkowym pojawi się fala
prostokątna lub choćby jakiś im-
puls napięciowy o stromym zboczu.
Jak wiadomo, widmo częstotliwo-
ściowe takich sygnałów jest bardzo
szerokie i może się okazać, że wy-
kroczy poza pasmo Nyquista. Filtr
antyaliasingowy powinien w dosta-
tecznym stopniu tłumić wszystkie
częstotliwości powyżej f p /2. Co to
znaczy, dowiemy się wkrótce.
Po tej dawce wiedzy począt-
kujący konstruktorzy mogą sobie
pomyśleć tak: mam sygnał, który
mieści się np. w pasmie 0...3 kHz.
Zgodnie z twierdzeniem Nyquista
zastosuję próbkowanie z częstotli-
wością większą od 2f MAX , czyli np.
f p =8 kHz (8>2*3). Zgodnie z zale-
ceniem o konieczności stosowania
filtrów antyaliasingowych użyję
prostego, 1–biegunowego filtru RC
o częstotliwości granicznej (3 dB)
równej f gr =f p /2=4 kHz, czyli bę-
dzie on nastrojony na częstotli-
wość Nyquista. Wszystkie zalece-
nia mam spełnione, mogę spać
spokojnie, układ będzie działał
prawidłowo. Nic bardziej mylne-
go. Nasz młody konstruktor nie
uwzględnił jeszcze skuteczności
filtrowania filtru antyaliasingowego
oraz dynamiki sygnału poddawa-
nego próbkowaniu, która jest okre-
ślona jako stosunek maksymalnej
wartości napięcia użytkowego, do
wartości najmniejszej (np. napię-
cia szumów). Załóżmy, że w takim
układzie pojawi się jakaś zakłócają-
ca składowa częstotliwościowa wy-
chodząca nawet dość daleko poza
pasmo sygnału użytkowego (f z na
rys. 6 ). Na skutek aliasingu poja-
wi się jej „odbicie” na częstotli-
wości m.in.: f p –f z =f az– . Amplituda
tej składowej aliasingowej będzie
mniejsza od składowej f z o tyle,
o ile oryginał zostanie stłumiony
przez filtr antyaliasingowy. Na rys.
6 została tym razem narysowana
„do góry”, aby lepiej zilustrować
fakt jej stłumienia w stosunku do
oryginalnej częstotliwości zakłó-
cającej. Przy powyższej realizacji
Rys. 6. Ilustracja wpływu charaktery-
styki filtru na skuteczność filtrowania
składowych aliasingowych
Elektronika Praktyczna 9/2006
95
137779746.008.png 137779746.009.png 137779746.010.png 137779746.011.png 137779746.012.png 137779746.013.png 137779746.014.png
K U R S
będzie ona jednak na tyle duża,
że mimo użycia filtru nadal może
wyraźnie zniekształcić sygnał użyt-
kowy. Wnioskujemy więc, że samo
zastosowanie filtru nastrojonego na
częstotliwość Nyquista nie stanowi
warunku wystarczającego do pełnej
eliminacji aliasingu. Filtr taki musi
być dobrany odpowiednio do dy-
namiki sygnału wejściowego i czę-
stotliwości próbkowania. Aby jego
działanie było skuteczne, tłumienie
filtru dla częstotliwości Nyquista
(wyrażone w dB) powinno być co
najmniej równe dynamice sygna-
łu użytkowego (również wyrażonej
w dB). Osiągniemy wówczas stan,
w którym nawet, jeśli pojawi się
jakaś składowa zakłócająca, to jej
produkt aliasingowy będzie poni-
żej minimalnej wartości sygnału
użytkowego (np. na poziomie szu-
mów). Strojenie układu możemy
realizować poprzez
odpowiednie dobranie
częstotliwości granicz-
nej filtru, skuteczności
jego filtrowania (rząd
filtru) oraz częstotli-
wości próbkowania.
Przykład prawidłowo
zaprojektowanego ukła-
du przedstawiono na
rys. 7 . Widać z niego,
ze najlepsze byłyby
filtry o bardzo dużym
nachyleniu charakte-
rystyki (przepuszczające tylko pa-
smo sygnału użytkowego i skutecz-
nie wycinające resztę). Niestety,
im większy jest rząd filtru, tym
trudniej go zrealizować w prakty-
ce. Przypomnijmy, że filtr 1 rzędu
(np. prosty układ RC) ma tłumie-
nie 20 db/dek (6 dB/okt), 2 rzędu
40 db/dek (12 dB/okt), itd.
W następnym odcinku zapozna-
my się ze wskazówkami praktycz-
nymi związanymi z projektowaniem
filtrów antyaliasingowych oraz po-
znamy kilka sztuczek stosowanych
w technice przetwarzania analogo-
wo–cyfrowego.
Jarosław Doliński, EP
jaroslaw.dolinski@ep.com.pl
96
Elektronika Praktyczna 9/2006
Rys. 7. Charakterystyka prawidłowo zestrojonego filtru
antyaliasingowego
137779746.015.png 137779746.016.png 137779746.017.png 137779746.018.png 137779746.019.png 137779746.020.png 137779746.021.png
Zgłoś jeśli naruszono regulamin