Δειγματοληψία και ανακατασκευή αναλογικών σημάτων, ή το φάσμα ενός ανα- Ο συνεχούς χρόνου μετασχηματισμός Fourier (CTFT), λογικού σήματος είναι X ( ω ) x (t) jω t X ω = x t e dt x ( ) ( ) = 1 j ω t e d π ω ( t) X ( ω ) Όπου ω είναι η αναλογική συχνότητα σε rdin/sec. Ο αντίστροφος μετασχηματισμός Fourier είναι x (t) Αν το αναλογικό σήμα δειγματοληπτηθεί με περίοδο δειγματοληψίας s παράγεται το σήμα διακριτού χρόνου. x s ( n) x ( n Ts ), του διακριτού σήμα- Ο διακριτού χρόνου μετασχηματισμός Fourier (DTFT), τος x (n) είναι 1 Ω kπ X ( Ω) = X + T T T Ω = ω T k= X ( Ω) F = T 1 δειγ., sec Όπου και δεν έχει διαστάσεις. Είναι επίσης. T
X 1 Ω kπ ( Ω) = X + ή X( ωt) T T T k= 1 kπ = X ω + T T k= x( t) X (ω) Y( Ω) 1 1 T t ω ω 0 ω ω 0 0 0 ω 0 T T 0 Ω x n s( ) X ( Ω) n L 1 T π π 0 π π Ω ω 0 T ω 0 T L x n s( ) X ( Ω) n L 1 T L 4π π 0 π 4π Ω ω 0 T ω 0 T
Θεώρημα δειγματοληψίας x (t) x ( n ) t 0 T T 3T 4T 5T 6T 7T 8T 9T n
Το σήμα ανακατασκευάζεται από τη σχέση x( t) = x n ( ) nt sinc nt T = t xt $( ) t T t T ( ) sin c( T ) x( T ) c( ) sin T xt t 3T ( 3 ) sin ( T ) x T c 0 T T 3T 4T 5T 6T 7T 8T 9T t
Δίνεται το αναλογικό σήμα x ( t) = e Να υπολογιστεί και να σχεδιαστεί ο διακριτός μετασχηματισμός Fourier του διακριτού σήματος x (n) το οποίο προκύπτει από το αναλογικό σήμα με δειγματοληψία στις συχνότητες F =5000 δείγματα/sec και =1000 δείγματα/sec. % Αναλογικό σήμα Dt = 0.00005; t = -0.005:Dt:0.005; x= exp(-1000*bs(t)); % Μετασχηματισμός Fourier συνεχούς χρόνου Wmx = *pi*000; K = 500; k = 0:1:K; W = k*wmx/k; X=x* exp(-j*t'*w) * Dt; X= rel(x); W = [-fliplr(w), W(:501)]; % Συχνότητα από - Wmx to Wmx X= [fliplr(x),x(:501)]; subplot(1,1,1) subplot(,1,1);plot(t*1000,x); xlbel(''); ylbel('x(t)') title('anlog ignl') subplot(,1,);plot(w/(*pi*1000),x*1000); 1000 t xlbel('συχνότητα σε KHz'); ylbel('x(jw)*1000') title('μετασχηματισμός Fourier συνεχούς χρόνου ') F % Αναλογικό σήμα Dt = 0.00005; t = -0.005:Dt:0.005; x= exp(-1000*bs(t)); % Διακριτό σήμα Ts = 0.001; n = -5:1:5; x = exp(-1000*bs(n*ts)); % Διακριτός Μετασχηματισμός Fourier K = 500; k = 0:1:K; w = pi*k/k; X = x * exp(-j*n'*w); X = rel(x); w = [-fliplr(w), w(:k+1)]; X = [fliplr(x), X(:K+1)]; subplot(1,1,1) subplot(,1,1);plot(t*1000,x); xlbel(''); ylbel('x(t)') title('διακρτιτό Σήμα'); hold on stem(n*ts*1000,x); gtext('ts=1 msec'); hold off subplot(,1,);plot(w/pi,x); xlbel('συχνότητα σε KHz'); ylbel('x(w)') title ('Διακριτός Μετασχηματισμός Fourier')
x (t) 1 X ( ω) 1000 0.8 0.6 0.4 1.5 1 0. 0.5 4 Αναλογικό σήμα 0 - -1.5-1 -0.5 0 0.5 1 1.5 Μετασχηματισμός Fourier συνεχούς χρόνου Συχνότητα σε KHz x (n) X (Ω) 10 T = 0, msec 8 6 4 4-1 -0.8-0.6-0.4-0. 0 0. 0.4 0.6 0.8 1 Συχνότητα σε μονάδες π T = 1msec x (n) (Ω) X 1.5 1 0.5 4 Διακριτό σήμα -1-0.8-0.6-0.4-0. 0 0. 0.4 0.6 0.8 1 Συχνότητα σε μονάδες π Μετασχηματισμός Fourier διακριτού χρόνου
D/A μετατροπείς Zero-order-hold (ZOH) παρεμβολή Η κρουστική απόκριση του φίλτρου είναι x = x ( n), n T n < ( n + 1) T 1, h0( t) = 0, 0 t T αλλι ως & figure(1); clf % Σήμα διακριτού χρόνου x (n) : Ts = 0.000 Ts = 0.000; n = -5:1:5; nts = n*ts; x = exp(-1000*bs(nts)); % Ανακατασκευή σήματος με ZOH παρεμβολή subplot(,1,1); stirs(nts*1000,x); xlbel(''); ylbel('x(t)') title('ανακατασκευή σήματος x (n) χρησιμοποιώντας ZOH'); hold on stem(n*ts*1000,x); hold off x Ανακατασκευή σήματος x (n) χρησιμοποιώντας ZOH First-order-hold (FOH) παρεμβολή Η κρουστική απόκριση του φίλτρου είναι t 1 + T t h ( t) = 1 T 0,,, 0 t T t T 1 T αλλιώς
Cubic spline παρεμβολή xˆ α 3 ( t) α = 0 ( n)( t n T ( n) + α ) 3, 1 ( n)( t n T n T x (t) ) + α n < ( n)( t n T ( n + 1) T ) + 0.8 0.6 Ανακατασκευή σήματος από τα δείγματά του χρησιμοποιώντας cubic splines παρεμβολή figure(1); clf Ts = 0.000; n = -5:1:5; nts = n*ts; x = exp(-1000*bs(nts)); % Ανακατασκευή αναλογικού σήματος Dt = 0.00005; t = -0.005:Dt:0.005; x=spline(nts,x,t); % Έλενχος error = mx(bs(x-exp(-1000*bs(t)))) subplot(,1,1); plot(t*1000,x); xlbel('t in msec.'); ylbel('x(t)') title('ανακατασκευή του σήματος από τα δείγματά του x(n) χρησιμοποιώντας cubicsplines παρεμβολή'); hold on stem(n*ts*1000,x); hold off 0.4 0. Σφάλμα 0.0317 Σφάλμα 0.1679 x x F F = 5000δείγματα/sec = 1000 δείγματα/sec Ανακατασκευή σήματος από τα δείγματά του χρησιμοποιώντας cubicsplines παρεμβολή
Ανακατασκευή σήματος από τα δείγματά του χρησιμοποιώντας τη συνάρτηση δειγματολειψίας x (t) %Ανακατασκευή σήματος από τα δείγματά του χρησιμοποιώντας τη συνάρτηση sinc % % Σήμα διακριτού χρόνου x(n) Ts = 0.000; Fs = 1/Ts; n = -5:1:5; nts = n*ts; x = exp(-1000*bs(nts)); % Ανακατασκευή αναλογικού σήματος Dt = 0.00005; t = -0.005:Dt:0.005; x= x * sinc(fs*(ones(length(nts),1)*tnts'*ones(1,length(t)))); % Έλενχος error = mx(bs(x-exp(-1000*bs(t)))) subplot(1,1,1) subplot(,1,); plot(t*1000,x); xlbel('t in msec.'); ylbel('x(t)') title('ανακατασκευή σήματος από τα x(n) χρησιμοποιώντας τη συνάρτηση sinc'); hold on stem(n*ts*1000,x); hold off Σφάλμα 0.0363 Σφάλμα 0.185 x x 0.8 0.6 0.4 0. F = 5000δείγματα/sec = 1000 δείγματα/sec F Ανακατασκευή σήματος από τα δείγματά του χρησιμοποιώντας τη συνάρτηση sinc
x (t) x (t) 0.8 0.8 0.6 0.6 0.4 0.4 0. 0. x x Σφάλμα 0.0317 F = 5000δείγματα/sec Σφάλμα 0.0363 F = 5000δείγματα/sec x x Σφάλμα 0.1679 F = 1000 δείγματα/sec Σφάλμα 0.185 F = 1000 δείγματα/sec Ανακατασκευή σήματος από τα δείγματά του χρησιμοποιώντας cubicsplines παρεμβολή Ανακατασκευή σήματος από τα δείγματά του χρησιμοποιώντας τη συνάρτηση sinc
ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΣΤΟ ΠΕΔΙΟ ΣΥΧΝΟΤΗΤΩΝ ΑΝΑΛΟΓΙΚΟΥ ΣΗΜΑΤΟΣ ( ) ( ) ( ) x t X f = x te dt Αν δειγματοληπτήσουμε ομοιόμορφα το φάσμα F ( δ ) = ( ) jπ ft X k f x te dt jπ kδft + T ( ) [ ( )] j π δ = n = s T kδft X k f x t nt e dt T = 1 δ f X p n= s ( ) = ( ) x t x t nt ( f) με περίοδο έχουμε
x ( ) t = 0 t> τ T > τ Αν για και επιλέξουμε τότε δεν έχουμε χρονική αλλοίωση και το φάσμα του σήματος. μπορεί επιτυχώς να ανακατασκευαστεί από τα δείγματα του X k ( δ f). με τη βοήθεια της σχέσης: X ( f) π X f X k f c δ f ( ) = ( δ ) sin ( f kδ f) k=
ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΣΤΟ ΠΕΔΙΟ ΣΥΧΝΟΤΗΤΩΝ ΔΙΑΚΡΙΤΟΥ ΣΗΜΑΤΟΣ F j π Fn n= xn ( ) X ( F) = xne ( ) Αν δειγματοληπτήσουμε ομοιόμορφα το φάσμα ( ) XF σε Ν σημεία στο διάστημα 0 Ω < π δηλαδή Ω= π έχουμε N καταλήγουμε: π X k = xne ( ) jk N n N k = 0, 1, K, N 1 n= π N 1 π X k = [ xn ( ln) ] e N l= n= 0 π jk n N