G60
Strony: [1]   Do dołu
  Wyślij ten wątek    Drukuj  
Autor Wątek: Dyskretyzacja sygnału, porownanie wykresow  (Przeczytany 932 razy)
Lipiec 11, 2009, 14:46:07
dudi1217
Nowicjusz
*

Pomógł: +0/-0
Offline Offline

Wiadomości: 16




Zgłoś do moderatora  
Zapisane
Dyskretyzacja sygnału, porownanie wykresow

Witam, muszę zrobic dyskretyzację jakiegoś sygnału analogowego, np. y = sin(i); Zroniłem jakis przykładowy m-plik tylko nie wiem czy jest to dobrze zrobione. Koledzy jak możecie to sprawdźcie to, czy nadaje się to wogóle do czegokolwiek.

M-plik:
i=0:0.001:100;
y = sin(i);
z = quantiz(y,linspace(min(y),max(y),4));
hold on;
figure(1);
plot(y);
plot(z);

Chciałem jeszcze zrobić wizualizację błędu dyskretyzacji. e=y-z. Jednak coś mi nie wyrysowuje. Sygnał zadany oraz zadany różnią sie (są przesunięte w pionie). Jak zrobić żeby te dwa przebiegi były zbliżone do siebie w większym stopniu? Co oznacza ta 4 w trzeciej linijce kodu z m-pliku? Wiem, że jest to poziom kwantyzacji sygnału. Ja go tak dobrałem bez obliczenia. Poprostu tylei kropka. Oblicza sie to jakoś? Proszę o pomoc. Pozdrawiam

Lipiec 14, 2009, 23:55:41 #1
Dominik Łuczak
Administrator
Użytkownik
*****

Pomógł: +0/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 58





Zgłoś do moderatora  
Zapisane
Odp: Dyskretyzacja sygnału, porownanie wykresow

Kod
Język (matlab):
t=0:0.001:1;
y=10*sin(2*pi*t);
c=linspace(-10,10,64);%punkty dyskretyzacji od -10 do 10 bo amplituda sinusa jest 10, 64 oznacza 64 probki - sprawdz size(c)
z=quantiz(y,c);%zwraca indeksy ze zmiennej c
plot(t,c(z+1),t,y);% z+1 poniewaz u mnie w Octave zwracal indeks "z" od zera
 
Dzięki GeSHI

U Ciebie 4 oznacza tak jak u mnie 64 liczbę próbek - dalej użytych jako liczbę poziomów dyskretyzacji.
linspace(-10,10,64) tworzy wektor od wartości -10 do 10 składający się z 64 wartości równo rozłożonych w przedziale <-10:10>


Strony: [1]   Do góry
  Wyślij ten wątek    Drukuj  
 
Skocz do: