THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Ψηφιακά Φίλτρα => Topic started by: Exomag on May 22, 2015, 18:24:54 pm



Title: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Exomag on May 22, 2015, 18:24:54 pm
Ανέβηκε στο Υλικό Μαθήματος η 3η εργασία.

Η προθεσμία λήγει την Πέμπτη 4 Ιουνίου.


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: opcode on May 23, 2015, 01:23:08 am
Στο ερώτημα (β) πως υπολογίζεται ο πίνακας R και το διάνυσμα ετεροσυσχέτισης p 100 συντελεστών; Σίγουρα γίνεται μέσω Matlab καθώς με το χέρι δεν παίζει να βγαίνει :P.


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on May 23, 2015, 17:50:03 pm
ποιες διαφάνειες χρειάζονται για διάβασμα για αυτήν την εργασία;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on May 23, 2015, 20:19:04 pm
κανείς;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Kodi on May 23, 2015, 21:10:44 pm
ποιες διαφάνειες χρειάζονται για διάβασμα για αυτήν την εργασία;

αφού δε θα τις διαβάσεις...  :P


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Δον on May 24, 2015, 13:26:20 pm
κανείς;

Πρέπει να διαβάσεις την 7η (αν και ντάξει, δεν βοηθάει πάρα πολύ γιατί τα λέει πολύ περιληπτικά). Βρήκα αυτ (http://www.slideshare.net/UmaRajaram/linear-prediction-18659179) το slide, το οποίο βασίζεται και αυτό στο βιβλίο του Haykin, αλλά έχει και δυο σχήματα με τα οποία μπορείς να καταλάβεις πιο εύκολα τι γίνεται.

Επίσης τα σκριπτάκια του Σισμάνη αν τα καταναοήσεις (για το πως να καλέσεις levinson durbin) θα σε βοηθήσει ιδιαίτερα.


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on May 24, 2015, 14:13:27 pm
thanks για το site! είσαι ωραίος!


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Επικο Burger on May 24, 2015, 14:58:42 pm
Παιζει να ανεβασει κανεις την εκφωνηση γιατι το ετημμυ ειναι ακομα down?


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on May 24, 2015, 15:24:19 pm
εδώ!


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: TrueForce on May 24, 2015, 15:37:08 pm
αυτο για τις 3 σελιδες της αναφορας το τήρησε ποτε κανεις; :Ρ


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: opcode on May 24, 2015, 15:42:00 pm
Εφόσον χρησιμοποιούμε έναν γραμμικό προβλέπτη που παίρνει σαν είσοδο μια καθυστερημένη κατά Δ έκδοση του d(n) παράγει έξοδο y(n) και την συγκρίνει με το ίδιο το d(n) δεν θα πρέπει η έξοδος του φίλτρου να ακολουθεί το d(n)? Πως γίνεται να καθαρίσει τον θόρυβο;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Δον on May 24, 2015, 16:29:45 pm
Εφόσον χρησιμοποιούμε έναν γραμμικό προβλέπτη που παίρνει σαν είσοδο μια καθυστερημένη κατά Δ έκδοση του d(n) παράγει έξοδο y(n) και την συγκρίνει με το ίδιο το d(n) δεν θα πρέπει η έξοδος του φίλτρου να ακολουθεί το d(n)? Πως γίνεται να καθαρίσει τον θόρυβο;

Πρέπει να προσέξεις λίγο. Δεν έχεις θόρυβο. Έχεις περιοδική παρεμβολή. Που σημαίνει ότι το ανεπιθύμητο σήμα επαναλαμβάνεται περιοδικά. Έτσι, κάνοντας πρόβλεψη/εκτίμηση του σήματος, αυτό που παίρνεις μετά την εκτήμηση έχει ουσιαστικά δύο συνιστώσες, το σήμα σου και την (σχεδόν) ίδια περιοδική παρεμβολή.
Παίρνωντας το residual τώρα ( e = d - y ) έχεις αφαιρέσει σίγουρα την επίδραση της παρεμβολής από το σήμα. Είναι όπως ο διαφορικός ενισχυτής αφαιρεί την common mode τάση.

Toυλάχιστον κάπως έτσι το αντιλαμβάνομαι εγώ.


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: opcode on May 24, 2015, 16:51:23 pm
Εφόσον χρησιμοποιούμε έναν γραμμικό προβλέπτη που παίρνει σαν είσοδο μια καθυστερημένη κατά Δ έκδοση του d(n) παράγει έξοδο y(n) και την συγκρίνει με το ίδιο το d(n) δεν θα πρέπει η έξοδος του φίλτρου να ακολουθεί το d(n)? Πως γίνεται να καθαρίσει τον θόρυβο;

Πρέπει να προσέξεις λίγο. Δεν έχεις θόρυβο. Έχεις περιοδική παρεμβολή. Που σημαίνει ότι το ανεπιθύμητο σήμα επαναλαμβάνεται περιοδικά. Έτσι, κάνοντας πρόβλεψη/εκτίμηση του σήματος, αυτό που παίρνεις μετά την εκτήμηση έχει ουσιαστικά δύο συνιστώσες, το σήμα σου και την (σχεδόν) ίδια περιοδική παρεμβολή.
Παίρνωντας το residual τώρα ( e = d - y ) έχεις αφαιρέσει σίγουρα την επίδραση της παρεμβολής από το σήμα. Είναι όπως ο διαφορικός ενισχυτής αφαιρεί την common mode τάση.

Toυλάχιστον κάπως έτσι το αντιλαμβάνομαι εγώ.

Κοίτα και εγώ αυτό που κατάλαβα από την εκφώνηση είναι ότι πρέπει να αφαιρέσουμε την επίδραση του x(n), που λογικά είναι η περιοδική παρεμβολή αφού το άλλο σήμα (v(n)) είναι λευκός θόρυβος και δεν εμφανίζει περιοδικότητα. Στη συνέχεια όμως ορίζει σαν επιθυμητό σήμα το d(n) που είναι άθροισμα του σήματος "πληροφορίας" και της περιοδικής παρεμβολής. Αυτό το σήμα τώρα δίνεται σαν είσοδο και στον προβλέπτη αφού υποστεί καθυστέρηση κατά Δ δείγματα (δηλαδή στο MATLAB η είσοδος του φίλτρου είναι απλά u = [zeros(D,1);d(1:1:end-D] ;όπου D=10).

Το πρόβλημά μου είναι πως μάλλον δεν υπολογίζω σωστά τους βέλτιστους συντελεστές Wiener του φίλτρου καθώς μετά την εφαρμογή του Wiener φίλτρου στο σήμα εισόδου, το σήμα εξόδου του φίλτρου ακολουθεί τις ίδιες μςταβολές με το x (ή το d) αλλά διαφέρει σημαντικά στο πλάτος. Μάλιστα μου φαίνεται πως μοιάζει περισσότερο στο d παρά στο x.

Οι εντολές για υπολογισμό των πινάκων R και p που χρησιμοποίησα είναι οι εξής:
p=xcorr(u,d);
p=p(length(u):(length(u)+M));
p=p/length(u);

r=xcorr(u,u);
r=r(length(u):(length(u)+M));
r=r/length(u);
R=toeplitz(r,r);
wo=R\p;  

Τώρα ή κάνω κάποιο λάθος στον υπολογισμό του διανύσματος εισόδου u(n) ή στον υπολογισμό των R,p καθώς ο LD αλγόριθμος μου δίνει φίλτρο που ουσιαστικά σχεδόν ταυτίζεται με τη βέλτιστη απόκριση του φίλτρου Wiener. Δηλαδή, ακολουθεί την βέλτιστη απόκριση Wiener όπως θα έπρεπε άλλωστε. Το πρόβλημα είναι πως η απόκριση Wiener δεν είναι καλή. :P Κάνω καμία πατάτα στις παραπάνω εντολές που δεν τη βλέπω;  :D  :D  :D


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Σα τανυστής on May 24, 2015, 17:39:51 pm
αυτο για τις 3 σελιδες της αναφορας το τήρησε ποτε κανεις; :Ρ

αμα εισαι gangster και γραφεις latex 2 στηλες με μικρη γραμματοσειρα μπορει και να το πετυχεις.

μεχρι τοτε εγω θα συνεχισω να στελνω 4-7 σελιδες  :P


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: xaris on May 28, 2015, 15:30:46 pm
Εφόσον χρησιμοποιούμε έναν γραμμικό προβλέπτη που παίρνει σαν είσοδο μια καθυστερημένη κατά Δ έκδοση του d(n) παράγει έξοδο y(n) και την συγκρίνει με το ίδιο το d(n) δεν θα πρέπει η έξοδος του φίλτρου να ακολουθεί το d(n)? Πως γίνεται να καθαρίσει τον θόρυβο;

Πρέπει να προσέξεις λίγο. Δεν έχεις θόρυβο. Έχεις περιοδική παρεμβολή. Που σημαίνει ότι το ανεπιθύμητο σήμα επαναλαμβάνεται περιοδικά. Έτσι, κάνοντας πρόβλεψη/εκτίμηση του σήματος, αυτό που παίρνεις μετά την εκτήμηση έχει ουσιαστικά δύο συνιστώσες, το σήμα σου και την (σχεδόν) ίδια περιοδική παρεμβολή.
Παίρνωντας το residual τώρα ( e = d - y ) έχεις αφαιρέσει σίγουρα την επίδραση της παρεμβολής από το σήμα. Είναι όπως ο διαφορικός ενισχυτής αφαιρεί την common mode τάση.

Toυλάχιστον κάπως έτσι το αντιλαμβάνομαι εγώ.

Κοίτα και εγώ αυτό που κατάλαβα από την εκφώνηση είναι ότι πρέπει να αφαιρέσουμε την επίδραση του x(n), που λογικά είναι η περιοδική παρεμβολή αφού το άλλο σήμα (v(n)) είναι λευκός θόρυβος και δεν εμφανίζει περιοδικότητα. Στη συνέχεια όμως ορίζει σαν επιθυμητό σήμα το d(n) που είναι άθροισμα του σήματος "πληροφορίας" και της περιοδικής παρεμβολής. Αυτό το σήμα τώρα δίνεται σαν είσοδο και στον προβλέπτη αφού υποστεί καθυστέρηση κατά Δ δείγματα (δηλαδή στο MATLAB η είσοδος του φίλτρου είναι απλά u = [zeros(D,1);d(1:1:end-D] ;όπου D=10).

Το πρόβλημά μου είναι πως μάλλον δεν υπολογίζω σωστά τους βέλτιστους συντελεστές Wiener του φίλτρου καθώς μετά την εφαρμογή του Wiener φίλτρου στο σήμα εισόδου, το σήμα εξόδου του φίλτρου ακολουθεί τις ίδιες μςταβολές με το x (ή το d) αλλά διαφέρει σημαντικά στο πλάτος. Μάλιστα μου φαίνεται πως μοιάζει περισσότερο στο d παρά στο x.

Οι εντολές για υπολογισμό των πινάκων R και p που χρησιμοποίησα είναι οι εξής:
p=xcorr(u,d);
p=p(length(u):(length(u)+M));
p=p/length(u);

r=xcorr(u,u);
r=r(length(u):(length(u)+M));
r=r/length(u);
R=toeplitz(r,r);
wo=R\p;  

Τώρα ή κάνω κάποιο λάθος στον υπολογισμό του διανύσματος εισόδου u(n) ή στον υπολογισμό των R,p καθώς ο LD αλγόριθμος μου δίνει φίλτρο που ουσιαστικά σχεδόν ταυτίζεται με τη βέλτιστη απόκριση του φίλτρου Wiener. Δηλαδή, ακολουθεί την βέλτιστη απόκριση Wiener όπως θα έπρεπε άλλωστε. Το πρόβλημα είναι πως η απόκριση Wiener δεν είναι καλή. :P Κάνω καμία πατάτα στις παραπάνω εντολές που δεν τη βλέπω;  :D  :D  :D

μπορεί να είναι χαζή η ερώτηση αλλά για ποιόν λόγο διαιρείς με το length(u) ??


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: opcode on May 28, 2015, 15:38:45 pm
Για να το κανονικοποιήσω επειδή έβγαζε τεράστιες τιμες. Λάθος είναι  απλά το είχα δει σε κάτι απαντήσεις στο site του Matlab. Τα άλλαξα λίγο και τώρα είναι πιο σωστοί οι συντελεστές Wiener αλλά και πάλι έχουν κάποια μικρή απόκλιση.


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Delph1lak on May 28, 2015, 17:12:18 pm
Για να το κανονικοποιήσω επειδή έβγαζε τεράστιες τιμες. Λάθος είναι  απλά το είχα δει σε κάτι απαντήσεις στο site του Matlab. Τα άλλαξα λίγο και τώρα είναι πιο σωστοί οι συντελεστές Wiener αλλά και πάλι έχουν κάποια μικρή απόκλιση.
τι εννοείς  "το άλλαξα λίγο"?


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: opcode on May 28, 2015, 20:59:56 pm
Εννοώ οτι δεν χρησιμοποιώ ακριβώς αυτές τις σχέσεις για τον υπολογισμό των R,r,p καθώς προφανώς και έχουν λάθος αφού όπως περιέγραψα πιο πάνω, το φίλτρο Wiener δεν μου έδινε την βέλτιστη λύση πράγμα ου σημαίνει οτι δεν του έδινα τα σωστά R,p για το συγκεκριμένο σήμα.


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on May 29, 2015, 15:18:02 pm
όλα καλά! όλα καλά! Γιατί όμως Δ = 10 και να μην δουλεύει για 5 ή 8 ( που δεν δουλεύει) που έχεις καλύψει την περιοδικότητα; Πως δικαιολογείτε αυτή η τιμή;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: opcode on May 29, 2015, 18:31:34 pm
όλα καλά! όλα καλά! Γιατί όμως Δ = 10 και να μην δουλεύει για 5 ή 8 ( που δεν δουλεύει) που έχεις καλύψει την περιοδικότητα; Πως δικαιολογείτε αυτή η τιμή;

Δεν κατάλαβα το point σου. :P Με ρωτάς γιατί πήρα Δ=10;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on May 29, 2015, 18:35:22 pm
γιατί το ζητάει γενικά στην εργασία ρωτάω! Πως δικαιολογείτε ο αριθμός αυτός!


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: opcode on May 29, 2015, 18:38:13 pm
γιατί το ζητάει γενικά στην εργασία ρωτάω! Πως δικαιολογείτε ο αριθμός αυτός!

Αααααα κοίτα δεν ξέρω.. του κάπνισε να θέλει να καθυστερήσει το frame κατά 10 δείγματα... Έχεις βγάλει άκρη εσύ με το φίλτρο Wiener?


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Δον on May 29, 2015, 18:39:57 pm
γιατί το ζητάει γενικά στην εργασία ρωτάω! Πως δικαιολογείτε ο αριθμός αυτός!

Το 10 λογικά έχει να κάνει με την περίοδο της παρεμβολής. Δεν ειμαι 100% σίγουρος και δεν μπορώ να το ελέγξω αυτη τη στιγμή, αλλα το πιο λογικό ειναι αυτο.


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on May 29, 2015, 18:54:58 pm
Αυτό πιστεύουμε και μεις, αλλά ψάχναμε να βρούμε τη σύνδεση!


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: TTL on May 29, 2015, 21:50:31 pm
στην περιπτωση που θελουμε να βαλουμε τον joint estimator ποια ακριβως ειναι η διαδικασια;
Εγω θεωρουσα οτι καλουμε την iterativeLevinson για να παρουμε τους συντελεστες γ και επειτα απο τις ανδρομικες εξισωσεις των f και b μπορουμε να βρουμε ολα τα f και τα b ( που αν καταλαβα καλα είναι 100 για καθε n, Μ*n γενικα. Και μετα y(i) = γb(i) όπου γ οι σταθεροι συντελεστες που ειχαμε βρει εξ αρχης.
Ωστόσο ουτε το y, ουτε το y-d βγαζει μουσικη....την ιδια αηδια βγαζουν με το αρχικο s.
Αν  καποιος το εχει καταλαβει μπορει να μου πει τουλαχιστον αν ειμαι κοντα η αν λεω βλακειες;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: dinos on June 01, 2015, 15:27:26 pm
Οι συντελεστές γ που ζητάει ποιοι είναι και ποια είναι η σχέση τους με το wo; Στις σημειώσεις δεν βρίσκω κάτι...


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Eragon on June 01, 2015, 16:00:39 pm
Οι συντελεστές γ που ζητάει ποιοι είναι και ποια είναι η σχέση τους με το wo; Στις σημειώσεις δεν βρίσκω κάτι...
Κοίτα στις διαφάνειες για τα Lattice filters


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: spira mirabilis on June 02, 2015, 00:01:12 am
όλα καλά! όλα καλά! Γιατί όμως Δ = 10 και να μην δουλεύει για 5 ή 8 ( που δεν δουλεύει) που έχεις καλύψει την περιοδικότητα; Πως δικαιολογείτε αυτή η τιμή;

Εδώ ο τυπάς αναλύει πολύ ωραία το πρόβλημα. Αυτό που ρωτάς έχει να κάνει με το decorrelation time του σήματος

http://www.cs.cmu.edu/~aarti/pubs/ANC.pdf


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: jimPster on June 02, 2015, 01:06:01 am
με το φιλτρο Wiener το τραγουδι το ακουτε τζαμι η εχει λιγο θορυβο?


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: kostas4 on June 02, 2015, 14:21:49 pm
Να αναφερθουν τα σφάλματα των διανυσμάτων συντελεστών και η διαφορά των forward και back-
ward prediction power errors από αυτά που υπολογίζονται με τις συναρτήσεις του MATLAB. Ποιες συναρτήσεις εννοεί;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: Silvo the Beautiful on June 02, 2015, 16:47:36 pm
όλα καλά! όλα καλά! Γιατί όμως Δ = 10 και να μην δουλεύει για 5 ή 8 ( που δεν δουλεύει) που έχεις καλύψει την περιοδικότητα; Πως δικαιολογείτε αυτή η τιμή;

Εδώ ο τυπάς αναλύει πολύ ωραία το πρόβλημα. Αυτό που ρωτάς έχει να κάνει με το decorrelation time του σήματος

http://www.cs.cmu.edu/~aarti/pubs/ANC.pdf

thanks! όντως βοηθάει!


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: απλυτος on June 03, 2015, 23:44:22 pm
για ν' ακούσουμε το κομμάτι πρέπει να κάνουμε πάλι

k = reshape(e, length(e)/2, 2); % separate the two channels
sound(k, fs); % play

και

το κομμάτι κόβεται κάπως απότομα ή έχω λάθος;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: dinos on June 04, 2015, 03:19:26 am
Ρε παιδιά τις παραμέτρους γ πώς τις υπολογίζω;


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: et3rn1ty on June 04, 2015, 14:28:52 pm
Μία ερώτηση γιατί μάλλον κάτι χάνω και μπερδεύομαι:

Αφού υπολογίσω τον πίνακα L από τον αλγόριθμο Levinson - Durbin, θα έχω τα διανύσματα am για κάθε m από 1 ως Μ.

Σύμφωνα με την εξίσωση στην σελίδα 2 του linear_prediction.pdf, έχουμε ότι
am = [1 -w1 -w2 ... -wM]T.

Άρα δεν θα πρέπει να είναι

w_levinsondurbin = - L(end, 1:end-1)?

Σαν να λέμε, η τελευταία σειρά του πίνακα L, όλα τα στοιχεία εκτός από το τελευταίο (που είναι 1)

Δηλαδή, δεν είναι αυτοί οι συντελεστές Wiener που υπολογίζουμε από τον αλγόριθμο?


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: απλυτος on June 04, 2015, 19:28:00 pm
Να αναφερθουν τα σφάλματα των διανυσμάτων συντελεστών και η διαφορά των forward και back-
ward prediction power errors από αυτά που υπολογίζονται με τις συναρτήσεις του MATLAB. Ποιες συναρτήσεις εννοεί;

ας πει κάποιος που το χει καταλάβει


Title: Re: [Ψηφιακά Φίλτρα] 3η Εργασία 2015
Post by: sexycowboy on June 04, 2015, 19:32:58 pm
Να αναφερθουν τα σφάλματα των διανυσμάτων συντελεστών και η διαφορά των forward και back-
ward prediction power errors από αυτά που υπολογίζονται με τις συναρτήσεις του MATLAB. Ποιες συναρτήσεις εννοεί;

ας πει κάποιος που το χει καταλάβει

Αν χρησιμοποιήσεις τη συνάρτηση levinson του MATLAB σου επιστρέφει 3 τιμές. Η μια από αυτές είναι το prediction error e.
Να ρωτήσω και εγώ, στο τέλος, όταν ζητείται το μέσο τετραγωνικό σφάλμα της εξόδου του φίλτρου και του επιθυμητού σήματος, ποια σήματα εννοούμε βάσει του σχήματος;