x[n] = 2 cos(0.1πn) + 3 sin(0.2πn) (1) % Discrete time indices

Σχετικά έγγραφα
x[n] = 2 cos(0.1πn) + 3 sin(0.2πn) (1) % Discrete time indices

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-370: Ψηφιακή Επεξεργασία Σήµατος Χειµερινό Εξάµηνο 2016 ιδάσκοντες : Γ. Στυλιανού - Γ.

y[n] = x[n] + αx[n M], a < 1 (1) y[n] = αy[n M] + x[n], a < 1 (2)

y[n] = f(x[n], w[n]) (1) w[n] = f(x[n], y[n]) (2)

x(t) = cos(2π100t + π/3) sin(2π250t + π/4) (1)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

y[n] = x[n] + αx[n M], a < 1 (1) y[n] = αy[n M] + x[n], a < 1 (2)

δ[n kp ], k Z (1) 1 cos πn, N 1 n N 1 + N 2 2N

y[n] = x[n] + αx[n M], a < 1 (1) y[n] + αy[n M] = x[n], a < 1 (2)

z(t) = 5.05e j(2πf 0t 0.209) sin 3 (5t)dt = 4 15 x(t) = 4 + cos(2π100t + π/3) cos(2π250t π/7) + 2 sin(2π300t π/4) (6)

x(t) = 4 cos(2π400t π/3) + 2 cos(2π900t + π/8) + cos(2π1200t) h(t) = 2000sinc(2000t) = h(t) = 2000sinc(2000t) H(f) = rect

H ap (z) = z m a 1 az m (1)

H ap (z) = z m a 1 az m (1)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

x[n]z n = ) nu[n]z n z 1) n z 1 (5) ( 1 z(2z 1 1]z n +

x 1 [n] = 0, αλλού x[n]e jωn X(e jω ) =

Ψηφιακή Επεξεργασία Σήματος

= R{(a + jb)e j2π 3 4 t } (6) a + jb = j2.707 = e j π (7) A = (9) f 0 = 3 4

A k s s k. H c (s) = H(z) = 1 e s kt dz 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

Εξεταστική Ιανουαρίου 2007 Μάθηµα: «Σήµατα και Συστήµατα»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

Εισαγωγή στα Σήματα. Κυριακίδης Ιωάννης 2011

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Σύντομη Αναφορά σε Βασικές Έννοιες Ψηφιακής Επεξεργασίας Σημάτων

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 18

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ, ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

u = x t t = t 0 = T = x u = = s t = = s u = u bat 1 + T c = 343 m/s 273

X 1 = X1 = 1 (1) X 3 = X3 = 1 (2) X k e j2πk 1 2 t = k

x(t) = e 2t u(t) (4) y(t) = e t u( t) (5)

Συστήματα Αναμονής (Queuing Systems)

E(X(t)) = 1 k + k sin(2π) + k cos(2π) = 1 k + k 0 + k 1 = 1

x[n]e jωn (1) X(e jωkn ) x[n]e jω kn

x(t) = 4 cos(2π600t π/3) + 2 cos(2π900t + π/8) + cos(2π1200t) (3)

Περιεχόµενα ΕΠΛ 422: στα Συστήµατα Πολυµέσων. Βιβλιογραφία. ειγµατοληψία. ηµιουργία ψηφιακής µορφής πληροφορίας στα Συστήµατα Πολυµέσων

= t2 t T 2T 3t + 9T, για t < 3T και t 2T 2T t < 3T (Σχήµα

y(t) = x(t) + e x(2 t)

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

X(t) = A cos(2πf c t + Θ) (1) 0, αλλού. 2 cos(2πf cτ) (9)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ Πάτρα 2005 ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Εργαστήριο Επεξεργασίας Σηµάτων Τηλεπικοινωνιών & ικτύων

= 5 cos(2π500t π/2) + 9 cos(2π900t + π/3) cos(2π1400t) (9) H(f) = 4.5, αλλού

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-215: Εφαρµοσµένα Μαθηµατικά για Μηχανικούς ιδάσκοντες : Γ. Στυλιανού, Γ.

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

LCs 2 + RCs + 1. s 1,2 = RC ± R 2 C 2 4LC 2LC. (s 2)(s 3) = A. = 4 s 3 s=2 s + 2 B = (s 2)(s 3) (s 3) s=3. = s + 2. x(t) = 4e 2t u(t) + 5e 3t u(t) (2)

= 1 E x. f(t)x n (t)dt, n = 1, 2,, N (2) = 0, i = 1, 2,, N (3) E e = e 2 (t)dt (4) e(t) = f(t) c n x n (t) (5) f(t) cx(t) = 4 sin(t) (7)

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

x(t) ax 1 (t) y(t) = 1 ax 1 (t) = (1/a)y 1(t) x(t t 0 ) y(t t 0 ) =

0 2j e jπt e j2πkt dt (3)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

x(t) = 4 cos(2π600t π/3) + 2 sin(2π900t + π/4) + sin(2π1200t) (1) w(t) = y(t)z(t) = 2δ(t + 1) (2) (2 sin(2π900t + π/4) t= 1 + sin(2π1200t) )

bx 2 (t). Για είσοδο ax 1(t) + bx 2 (t), η έξοδος είναι x(t t 0 ) και y(t t 0) = t t 0 x(t) ax 1 (t 1) + bx 2 (t 1) sin ax 1 (t)+

x[n] = e u[n 1] 4 x[n] = u[n 1] 4 X(z) = z 1 H(z) = (1 0.5z 1 )(1 + 4z 2 ) z 2 (βʹ) H(z) = H min (z)h lin (z) 4 z 1 1 z 1 (z 1 4 )(z 1) (1)

Βασικά στοιχεία του MATLAB

y[n] 5y[n 1] + 6y[n 2] = 2x[n 1] (1) y h [n] = y h [n] = A 1 (2) n + A 2 (3) n (4) h[n] = 0, n < 0 (5) h[n] 5h[n 1] + 6h[n 2] = 2δ[n 1] (6)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

Εφαρµογες Της Ψηφιακης Επεξεργασιας Σηµατων. Εκτιµηση Συχνοτητων Με ΙδιοΑναλυση του Μητρωου ΑυτοΣυσχετισης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Επεξεργασία Σημάτων. Άσκηση 3η. Στυλιανού Ιωάννης. Τμήμα Επιστήμης Υπολογιστών

ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ ΕΞΕΤΑΣΤΙΚΗΣ ΠΕΡΙΟ ΟΥ ΙΟΥΝΙΟΥ 2004., η οποία όµως µπορεί να γραφεί µε την παρακάτω µορφή: 1 e

Εργαστήριο ADICV1. Image Boundary detection and filtering. Κώστας Μαριάς 13/3/2017

Ολοκληρωµένο Περιβάλλον Σχεδιασµού Και Επίδειξης Φίλτρων

x(t) = 2 + cos(2πt) sin(πt) 3 cos(3πt) cos(θ + π) = cos(θ). (3)

Συστήματα Διακριτού Χρόνου (Discrete-Time Systems) Κυριακίδης Ιωάννης 2011

Ακαδηµαϊκό Έτος , Χειµερινό Εξάµηνο ιδάσκων Καθ.: Νίκος Τσαπατσούλης

3 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Υλοποιήσεις Ψηφιακών Φίλτρων

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Ακαδηµαϊκό Έτος , Εαρινό Εξάµηνο ιδάσκων Καθ.: Νίκος Τσαπατσούλης

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

Εργαστήριο ADICV2. Image filtering. Κώστας Μαριάς

Επεξερασία εικόνας. Μιχάλης ρακόπουλος. Υπολογιστική Επιστήµη & Τεχνολογία, #09

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-112: Φυσική Ι Χειµερινό Εξάµηνο 2018 ιδάσκων : Γ. Καφεντζής. Πρώτη Σειρά Ασκήσεων

y = u i t 1 2 gt2 y = m y = 0.2 m

400 = t2 (2) t = 15.1 s (3) 400 = (t + 1)2 (5) t = 15.3 s (6)

x(t) = sin 2 (5πt) cos(22πt) = x 2 (t)dt

ΣΤΟΧΑΣΤΙΚΑ ΣΗΜΑΤΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ

ημιουργία και διαχείριση πινάκων

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 10 ο : MATLAB

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

y[n] ay[n 1] = x[n] + βx[n 1] (6)

17-Φεβ-2009 ΗΜΥ Ιδιότητες Συνέλιξης Συσχέτιση

Μια «ανώδυνη» εισαγωγή στο μάθημα (και στο MATLAB )

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία Διάλεξη 6

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κυκλώματα, Σήματα και Συστήματα

sin(30 o ) 4 cos(60o ) = 3200 Nm 2 /C (7)

Τυπικές χρήσεις της Matlab

Διακριτός Μετασχηματισμός Fourier

ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΩΝ Εισαγωγή. Εµµανουήλ Ζ. Ψαράκης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

e (4+j2πf)t dt (5) (0 1)

Ψηφιακή Επεξεργασία Εικόνας

W = 6.34 kn (2) F = u 2 f = u2 i + 2a(x f x i ) a = u2 f u2 i 2x f. F = d U(x) (5)

Γραφικές παραστάσεις (1ο μέρος)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

HMY 429: Εισαγωγή στην Επεξεργασία Ψηφιακών

Σήματα και Συστήματα. Διάλεξη 1: Σήματα Συνεχούς Χρόνου. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών HY-370: Ψηφιακή Επεξεργασία Σήµατος Χειµερινό Εξάµηνο 2018 ιδάσκοντες : Γ. Στυλιανού - Γ. Καφεντζής Πρώτο Εργαστήριο Σηµείωση : Για ϐοήθεια σχετικά µε τις εντολές/συναρτήσεις MATLAB γράψτε : doc εντολή/συνάρτηση στο Command Window του MATLAB. Ασκηση 1 - Υπολογισµός Περιόδου (20 µ.) Εστω το σήµα διακριτού χρόνου x[n] = 2 cos(0.1πn) + 3 sin(0.2πn) (1) (Αʹ) Ας δηµιουργήσουµε στο MATLAB 50 δείγµατα του παραπάνω διακριτού σήµατος και ας εµφανίσουµε το αποτέλεσµα µε την εντολή stem, ορίζοντας κατάλληλα το διάνυσµα του διακριτού χρόνου n, να είναι από µηδέν έως 49 (σύνολο 50 χρονικές στιγµές). n = 0:49; x = 2*cos(0.1*pi*n) + 3*sin(0.2*pi*n); stem(n,x); xlabel( Samples ); title( Synthetic signal ); % Discrete time indices % Signal % Visualize i. Από το σχήµα, µπορείτε να ϐρείτε ποιά είναι περίπου η περίοδος του σήµατος ; (µην κλείσετε το γράφη- µα) ii. Υπολογίστε µε ακρίβεια την περίοδο του σήµατος σε αριθµό δειγµάτων στο χαρτί, και επιβεβαιώστε το αποτέλεσµα ελέγχοντας στο MATLAB τις τιµές του σήµατος. iii. Υπολογίσατε σωστά την περίοδο αρχικά µε το µάτι ; iv. Αν αυτό το σήµα έχει προέλθει από δειγµατοληψία ενός σήµατος συνεχούς χρόνου µε συχνότητα δειγ- µατοληψίας 200 Hz, τότε πόση είναι η περίοδος του σήµατος συνεχούς χρόνου ; (Βʹ) Ας υποθέσουµε ότι προσθέτουµε άλλη µια συνιστώσα στο παραπάνω σήµα : x[n] = 2 cos(0.1πn) + 2 cos(0.15πn) + 3 sin(0.2πn) (2) i. ηµιουργήστε 150 δείγµατα στο MATLAB. Εκτελώντας ξανά την εντολή stem για το παραπάνω σήµα, εµφανίστε το. ii. Πόση είναι η περίοδος σε αριθµό δειγµάτων ; iii. Πόση είναι η περίοδος σε δευτερόλεπτα, αν το σήµα συνεχούς χρόνου από το οποίο προήλθε δειγµατοληπτήθηκε µε συχνότητα δειγµατοληψίας 200 Hz; (Γʹ) Εστω το σήµα διακριτού χρόνου x[n] = cos(0.1π + 0.4n) (3) όπου n = 0, 1,, 99. (αʹ) Σχεδιάστε µε την εντολή stem το σήµα. (ϐʹ) Ελέγξτε το γράφηµα. Είναι το σήµα περιοδικό ; Ποιά περίοδο ϐρίσκετε µε το µάτι ; (γʹ) Επιβεβαιώστε (ή διαψέυστε) την απάντησή σας υπολογίζοντας ϑεωρητικά την περίοδο.

Ψηφιακή Επεξεργασία Σήµατος - 2018/Πρώτο Εργαστήριο 2 Ασκηση 2 - Κατανόηση Ενέργειας και Ισχύος (20 µ.) Υπολογίστε ϑεωρητικά και επιβεβαιώστε στο MATLAB την ενέργεια ή την ισχύ (ή τίποτε από τα δυο) των παρακάτω σηµάτων. Χρησιµοποιήστε τα hints του µαθήµατος για να γλιτώσετε πράξεις : x[n] = ( 1 2) nu[n] ( ) x[n] = 2 cos 3π 4 n x[n] = 3 n u[ n] 1, n < 0 x[n] = 0, n = 0 1, n > 0 Ενδεικτικά, σας δίνεται ο κώδικας για τον υπολογισµό της ισχύος της ϐηµατικής συνάρτησης u[n] που υπολογίσαµε στο µάθηµα : % Set time axis N = 5000; n = -N:N; % Define signal (0, n < 0 and 1, n >= 0) x = [zeros(1,n) ones(1,n)]; % Calculating Power P P = 1./(2*N+1).*sum(x.ˆ2); Το MATLAB απαντά ότι P = 0.5000 που είναι και η σωστή απάντηση. Ασκηση 3 - ιόρθωση σφαλµάτων (30 µ.) Τα συστήµατα DVD αποθηκεύουν τις εικόνες που αποτελούν ένα video µε µορφή σειρών από ψηφιακούς α- ϱιθµούς. Αν υπάρχει κάποιο πρόβληµα στο δισκάκι (ελαφρά γρατζουνιά, ϕθορά, σκόνη), το σύστηµα του DVD προσπαθεί να καθαρίσει το δίσκο από το πρόβληµα χρησιµοποιώντας ϕίλτρα (δηλ. συστήµατα διακριτού χρόνου που περιγράφονται ως εξισώσεις διαφορών!). Εδώ ϑα εξετάσουµε δυο τέτοια απλά συστήµατα, τα οποία ϑα ονοµάζουµε στο εξής ϕίλτρα. Το πρώτο είναι το ϕίλτρο κυλιόµενης µέσης τιµής (moving average). Συγκεκριµένα, ϑα χρησιµοποιήσουµε ένα τέτοιο ϕίλτρο τριών σηµείων (3-point Moving Average), το οποίο ϑα δούµε και στις διαλέξεις : y[n] = 1 3 1 k= 1 x[n k] (4) Το δεύτερο είναι ένα ϕίλτρο µεσαίας τιµής (median filter), επίσης τριών σηµείων : y[n] = median(x[n + 1], x[n], x[n 1]) (5) Παρατηρήστε ότι και τα δυο ϕίλτρα απαιτούν µόνο 3 τιµές της εισόδου για να παράξουν µια τιµή της εξόδου. i. Χρησιµοποιώντας την εντολή

Ψηφιακή Επεξεργασία Σήµατος - 2018/Πρώτο Εργαστήριο 3 A = imread( Saturn.tif ); διαβάστε την εικόνα Saturn.tif που σας δίνεται στα αρχεία του εργαστηρίου. είτε τη µε την εντολή figure; imshow(a); Υποθέστε ότι αυτή είναι µια καθαρή εικόνα από ένα DVD δίσκο. ii. Χρησιµοποιώντας την εντολή B = imread( NoiseSaturn.tif ); διαβάστε την εικόνα NoiseSaturn.tif. είτε τη µε την εντολή figure; imshow(b); Ο ϑόρυβος που ϐλέπετε να έχει προστεθεί στην εικόνα ονοµάζεται salt and pepper noise (ϑόρυβος αλάτι και πιπέρι, λόγω της µορφής του). Υποθέστε ότι προήλθε από σφάλµα ανάγνωσης του δίσκου DVD λόγω ϕθοράς. iii. Προσπαθήστε να εφαρµόσετε τα παραπάνω ϕίλτρα για να καθαρίσετε την εικόνα B. Σκεφτείτε ότι η εικόνα είναι ένας πίνακας MxN, που σας είναι γνωστά (γράψτε [M,N] = size(b) αν ϑέλετε να τα έχετε σε µεταβλητές). Εφαρµόστε τα ϕίλτρα σας κατά γραµµές ή κατά στήλες του πίνακα. Θεωρήστε ότι κάθε γραµµή (ή στήλη) αποτελεί ένα µονοδιάστατο σήµα x[n] για τις παραπάνω εξισώσεις, το οποίο πρέπει να διατρέχετε σε τριάδες, µε µετατόπιση ένα δείγµα κάθε ϕορά. Η έξοδος y[n] ϑα είναι µια αριθµητική τιµή την οποία ϑα αποθηκεύσετε σε έναν πίνακα C, στην κατάλληλη ϑέση. Προσέξτε το type casting µεταξύ των εικόνων όταν τις απεικονίζετε. Συνίσταται να ακολουθήστε τον παρακάτω κώδικα-σκελετό που αφορά το ϕίλτρο της Σχέσης (4) εφαρµοσµένο στις γραµµές της εικόνας : % Initialize C [M,N] = size(b); C = zeros(m,n); % Cast to double for processing B = double(b); % Apply a moving average (MA) filter in every row for i = 1:M % Process rows B[i,:] for j = 2:N-1 % Why from 2 to N-1 and not from 1 to N? x = % INSERT CODE HERE - use B matrix to get % triads of data of row i y = % INSERT CODE HERE - use x vector to implement % your filter C(i,j) = y; % Store result in another matrix end end % Cast it to unsigned int C = uint8(c); % Show the result figure; imshow(c); title( MA-filtered image in rows );

Ψηφιακή Επεξεργασία Σήµατος - 2018/Πρώτο Εργαστήριο 4 Μπορείτε αν ϑέλετε να χρησιµοποιήσετε τις συναρτήσεις sum, mean, median, αλλά µόνο αυτές. Με ό- µοια ϕιλοσοφία ϕιλτράρετε κατά στήλες µε το ίδιο ϕίλτρο (προσέξτε το indexing στους ϐρόχους επανάληψης), και στη συνέχεια κάνετε τα ίδια για το ϕίλτρο της Σχέσης (5). Για κάθε ένα από τα δυο ϕίλτρα : iv. Παραδώστε κώδικα που παράγει δυο εικόνες του πίνακα C, µια που έχει προέλθει από ϕιλτράρισµα των γραµµών του πίνακα B, και µια που έχει προέλθει από ϕιλτράρισµα των στηλών του πίνακα B. Σχολιάστε τις παρατηρήσεις σας. Συµπεριλάβετε τις παραγόµενες εικόνες στην αναφορά σας. Εν γένει, ϑα χαρακτηρίζατε και τα δυο ϕίλτρα ως αποδοτικά ; v. Παραδώστε κώδικα που εφαρµόζει τα ϕίλτρα σας διαδοχικά (π.χ. εφαρµόστε ένα ϕίλτρο πρώτα σε γραµµές, και στο αποτέλεσµα που ϑα πάρετε εφαρµόστε το ίδιο ϕίλτρο ξανά κατά στήλες). Υλοποιήστε αυτή την προσέγγιση και µε τα δυο ϕίλτρα. Συµπεριλάβετε τις παραγόµενες εικόνες στην αναφορά σας. Παίρνετε καλύτερο αποτέλεσµα από πριν ; Σχολιάστε. vi. Χρησιµοποιήστε τη συνάρτηση filter για να γλιτώσετε το ένα for loop στον παραπάνω σκελετό-κώδικα. Γράψτε doc filter για να δείτε τη χρήση της. Γράψτε και παραδώστε κώδικα µε χρήση της filter για το ϕιλτράρισµα της εικόνας µόνο κατά γραµµές και µόνο για τη Σχέση (4). Ασκηση 4 - Ασφαλής Επικοινωνία (30 µ.) Για την ασφαλή επικοινωνία δεδοµένων µεταξύ δυο σταθµών, χρησιµοποιούµε ένα πρότυπο σήµα µήκος 50 δειγµάτων, για να το προσθέσουµε ως ϑόρυβο σε τυχαίες χρονικές στιγµές στα σήµατα που ϑέλουµε να στείλουµε. Το σήµα-πρότυπο ϐρίσκεται στο αρχείο Pat.wav, και το έχουν τόσο ο ποµπός όσο και ο δέκτης. Το σήµα που εµείς λάβαµε σε κάποια χρονική στιγµή στο δέκτη είναι το σήµα noisy.wav. Ας τα ϕορτώσουµε και ας τα ακούσουµε : [pattern, fs] = audioread( Pat.wav ); soundsc(pattern, fs); figure(1); plot(pattern); xlabel( Samples ); [noisy, fs] = audioread( noisy.wav ); soundsc(noisy, fs); figure(2); plot(noisy); xlabel( Samples ); Η εντολή plot είναι ϐολικότερη εδώ για την απεικόνιση, αλλά στην πραγµατικότητα τα σήµατά µας είναι διακριτού χρόνου (µπορείτε να το δείτε µε την εντολή stem, όπως την γνωρίζετε). Θα ϑέλαµε να ανακτήσουµε το καθαρό σήµα. Για το σκοπό αυτό, µπορούµε να χρησιµοποιήσουµε την πράξη της ετεροσυσχέτισης, η οποία ορίζεται ως φ xy [l] = + n= x[n]y[n + l] (6) Οµοια µε την πράξη της ετεροσυσχέτισης στο συνεχή χρόνο, µας αποκαλύπτει οµοιότητες και διαφορές µεταξύ των σηµάτων που συσχετίζονται. Ο δείκτης l ονοµάζεται lag, που σηµαίνει καθυστέρηση, και έχει ακριβώς όµοιο ϱόλο µε τη µεταβλητή τ στο συνεχή χρόνο 1. Η συνάρτηση [cc, lags] = xcorr(...) του MATLAB ϑα 1 Θυµηθείτε : φ xy(τ) = + x(t)y(t + τ)dt (7)

Ψηφιακή Επεξεργασία Σήµατος - 2018/Πρώτο Εργαστήριο 5 σας ϐοηθήσει να συσχετίσετε τα σήµατα. είτε προσεκτικά (!) το documentation της, καθώς η υλοποίηση του MATLAB διαφέρει λίγο από τον παραπάνω ορισµό, και όπως ίσως ϑυµάστε και από το συνεχή χρόνο, η ετεροσυσχέτιση είναι διαφορετική όταν συσχετίσουµε το x[n] µε το y[n] απ όταν συσχετίσουµε το y[n] µε το x[n]. Στις χρονικές τιµές των lags όπου η τιµή της ετεροσυσχέτισης είναι µεγάλη, σηµαίνει ότι εκεί έχει ϐρεθεί µεγάλη οµοιότητα του ενός σήµατος µε το άλλο. Προς ϐοήθειά σας, πληροφορείστε ότι το πρότυπο σήµα έχει προστεθεί σε 36 ϑέσεις στο σήµα noisy.wav. Αν ϐρείτε αυτές τις ϑέσεις, µπορείτε απλά να το αφαιρέσετε µε µια απλή πράξη αφαίρεσης του σήµατος προτύπου από το ϑορυβώδες σήµα. Επίσης, το σήµα που έχει σταλεί στο δέκτη περιέχει οµιλία πολύ καλής ποιότητας. Αυτό ϑα σας ϐοηθήσει να ελέγξετε τα αποτελέσµατά σας. Ο παρακάτω κώδικας ϑα σας ϐοηθήσει. Χρησιµοποιήστε το documentation του MATLAB όπου έχετε αµφι- ϐολία. [cross_corr, lags] = % INSERT CODE HERE; % Compute cross-correlation figure(3); plot(lags, cross_corr); % Plot it and check it carefully xlabel( Lags ); title( Cross-correlation ); % Using information from the plot, define a good threshold T % which separates peaks from other -not useful- data T = % INSERT CODE HERE ; % Use findpeaks to easily detect instants of high correlation % T will be used as the minimum peak height threshold [pks, locs] = findpeaks(cross_corr, lags, MinPeakHeight, T); % Check your selected peaks - did your threshold work? Did you select 36 peaks? plot(lags, cross_corr); hold on; plot(locs, pks, o ); hold off; % Check without counting peaks :) size(locs) % is it 1 x 36? % Copy noisy signal to process it clean = noisy; % Subtract pattern from noisy signal - use "clean" vector % For every lag index present in vector locs, you have % to subtract the pattern signal from the received signal % Use operator ":" to choose pieces of the signal in MATLAB % as follows: % signal(start:end) = signal(start:end) - another_signal(start:end); for i = 1:length(locs) %%%%%%%%%%%%%%%%%% % INSERT CODE HERE %%%%%%%%%%%%%%%%%% end % Listen! It should sound perfectly clear... soundsc(clean, fs); Η συνάρτηση findpeaks του MATLAB είναι πολύ ϐολική για να ϐρίσκετε κορυφές σε µια συνάρτηση, ανάλογα µε το πόσο απέχουν µεταξύ τους, µε το αν ϑέλετε να υπερβαίνουν κάποια τιµή, κλπ. Ρίξτε απλά µια µατιά στο documentation της συνάρτησης στο MATLAB για να δείτε τις δυνατότητές της, µια και η εντολή όπως δίνεται

Ψηφιακή Επεξεργασία Σήµατος - 2018/Πρώτο Εργαστήριο 6 στον παραπάνω κώδικα είναι πλήρης. Ελέγξτε προσεκτικά τις ϑέσεις των καθυστερήσεων (τις τιµές των locs δηλαδή) που σας επιστρέφει η findpeaks. είτε τι υπάρχει στο ϑορυβώδες σήµα σε αυτές τις χρονικές στιγµές. Για την παράδοση της άσκησης, γράψτε πλήρη αναφορά, συµπεριλαµβάνοντας απαντήσεις σε όλα τα ερωτήµατα του εργαστηρίου, καθώς και διαγράµµατα/γραφήµατα/εικόνες µε τα αποτελέσµατά σας, και συµπεριλάβετε τον κώδικα MATLAB σε ξεχωριστά.m files. Η παράδοση γίνεται αποκλειστικά µε το πρόγραµµα TURNIN. Ανάθεση : 2/10/2018 Προθεσµία : 9/10/2018, 23:59:59 (TURNIN timestamp)