Mam problem, muszę odtworzyć syg. z próbek. Próbkowałem sinusoidę 100Hz A=5,5V z różnymi f i na podstawie próbek mam odzyskać syg. ciągły. Dla przykładu próba dla f próbkowania 6,4kHz. Sygnał próbuje odzyskać w matlabie na podstawie wzoru 6,5 z http://www.ise.pw.edu.pl/~szabatin/ps.pdf
w drugim źródle mam wzór który wg mnie nie jest równoważny powyższemu
http://www.ztmapc.el.pcz.pl/stud/dsp/dsp-wyklad.pdf
str 34 , gdzie traci się 2 pi ?
kod skryptu :
%sin_64
s=[ -5.4395 -5.2844 -5.0879 -4.8401 -4.5447 -4.1992 -3.8147 -3.4009 -2.9541 -2.4780 -1.9751 -1.4514 -0.9167 -0.3723 0.1697 0.7141 1.2488 1.7737 2.2839 2.7710 3.2288 3.6523 4.0479 4.3945 4.7107 4.9707 5.1892 5.3564 5.4639 5.5298 5.5408 5.4883 5.3918 5.2368 5.0403 4.7913 4.4958 4.1479 3.7671 3.3557 2.9077 2.4316 1.9312 1.4075 0.8716 0.3259 -0.2136 -0.7605 -1.2964 -1.8176 -2.3303 -2.8198 -3.2788 -3.7012 -4.0967 -4.4446 -4.7620 -5.0220 -5.2405 -5.4053 -5.5127 -5.5774 -5.5920];
fn=3200;
fm = 64*100;
n=numel(s);
t = 0 : 0.00000001 : 0.01;
y=0;
for i=1:1:n
y=s(i)*sinc(2*pi*fn*(t-(i-1)/fm))+y;
end;
plot(t,y)
grid on
gdzie:
s -wartości próbek
fn- f Nyquista
fm- f próbkowania
to co otrzymałem ma obwiednie mojego syg, ale jest przesunięte w fazie(względem org. (to na razie pomijam) ) i jeszcze to wypełnienie...
czy jakiś znawca przetwarzania sygnałów mógłby mi wytknąć błędy, bo już się z tym prawie miesiąc męczę??
w drugim źródle mam wzór który wg mnie nie jest równoważny powyższemu
http://www.ztmapc.el.pcz.pl/stud/dsp/dsp-wyklad.pdf
str 34 , gdzie traci się 2 pi ?
kod skryptu :
%sin_64
s=[ -5.4395 -5.2844 -5.0879 -4.8401 -4.5447 -4.1992 -3.8147 -3.4009 -2.9541 -2.4780 -1.9751 -1.4514 -0.9167 -0.3723 0.1697 0.7141 1.2488 1.7737 2.2839 2.7710 3.2288 3.6523 4.0479 4.3945 4.7107 4.9707 5.1892 5.3564 5.4639 5.5298 5.5408 5.4883 5.3918 5.2368 5.0403 4.7913 4.4958 4.1479 3.7671 3.3557 2.9077 2.4316 1.9312 1.4075 0.8716 0.3259 -0.2136 -0.7605 -1.2964 -1.8176 -2.3303 -2.8198 -3.2788 -3.7012 -4.0967 -4.4446 -4.7620 -5.0220 -5.2405 -5.4053 -5.5127 -5.5774 -5.5920];
fn=3200;
fm = 64*100;
n=numel(s);
t = 0 : 0.00000001 : 0.01;
y=0;
for i=1:1:n
y=s(i)*sinc(2*pi*fn*(t-(i-1)/fm))+y;
end;
plot(t,y)
grid on
gdzie:
s -wartości próbek
fn- f Nyquista
fm- f próbkowania
to co otrzymałem ma obwiednie mojego syg, ale jest przesunięte w fazie(względem org. (to na razie pomijam) ) i jeszcze to wypełnienie...
czy jakiś znawca przetwarzania sygnałów mógłby mi wytknąć błędy, bo już się z tym prawie miesiąc męczę??
Skomentuj