THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Ψηφιακά Φίλτρα => Topic started by: leukosaraphs! on February 17, 2019, 23:39:03 pm



Title: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on February 17, 2019, 23:39:03 pm
Για οποιαδήποτε απορία πάνω στις ασκήσεις.
Για απορίες στα παλιά θέματα στο αντίστοιχο τόπικ (https://www.thmmy.gr/smf/index.php?topic=64135.0).  Stay on topic!


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dimvasdim on March 19, 2019, 20:16:07 pm
Κατάφερε κανείς να κάνει το δοκιμαστικό κουίζ και αν ναι στείλτε το να δούμε τι κάνουμε λάθος  8))


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Niri on March 20, 2019, 04:20:15 am
Κατάφερε κανείς να κάνει το δοκιμαστικό κουίζ και αν ναι στείλτε το να δούμε τι κάνουμε λάθος  8))

Τη λυση για το δοκιμαστικο κουιζ την εχει ανεβασει στο elearning.
Αλλα οριστε για να μην καθεσαι να ψαχνεις :P

Code:
function [R, p] = getCorr(x, y, m)
 
  n = length(x);
 
  x = x(:);
  y = y(:);
   
  U = toeplitz( [x; zeros(m-1,1)], [x(1) zeros(1,m-1)] );
 
  y = [y; zeros(m-1,1)];
 
 
  R = U'*U / n;
  p = U'*y / n;
 
end


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: allstarabey on March 24, 2019, 16:39:56 pm
έχω μπερδευτεί σχετικά με την πρώτη εργασία!Tι ειναι ακριβώς το M taps?
Περίμενα ότι αφού έχουμε n δείγματα θα είχα και M coefficients,έτσι ώστε καθε δείγμα να πολλαπλασιαστεί με το αντιστοιχο συντελεστή!
Eίναι πόσες χρονικες στιγμές πίσω χρησιμοποιούμε για να προβλέψουμε?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: A Caster on March 25, 2019, 00:58:50 am

Eίναι πόσες χρονικες στιγμές πίσω χρησιμοποιούμε για να προβλέψουμε?

ναι


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Mr Xaxas on March 25, 2019, 03:50:39 am
Απο το βιβλιο "adaptive filter theory " του haykin εχει πει τιποτα ο καθηγητης για  το ποια  κεφαλαια ειναι στην υλη ???


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: allstarabey on March 25, 2019, 19:12:30 pm
στο 2ο βημα της εργασιας ,ετρεξα το κωδικα μου και βρηκα ενα τραγουδι αντί για δύο τραγουδια που ζητάει.
Τι πάει λάθος ?
βρισκετε 2 τραγούδια?

Chopin - Nocturne op.9 No.2

αυτο δεν βρίσκετε?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: A Caster on March 25, 2019, 20:07:55 pm
στο 2ο βημα της εργασιας ,ετρεξα το κωδικα μου και βρηκα ενα τραγουδι αντί για δύο τραγουδια που ζητάει.
Τι πάει λάθος ?
βρισκετε 2 τραγούδια?

Chopin - Nocturne op.9 No.2

αυτο δεν βρίσκετε?


αυτό ειναι ο "θορυβος" v(n) που παιζει πανω από το αυτο που ψάχνουμε. Αυτο πρακτικα ειναι "δεδομενο". Κυριως ψαχνουμε το x(n) που ειναι το d(n)-u(n), αλλα στην τελικη απαντηση βαζουμε και τα 2. όντως σωστο ειναι ομως αυτο π βρηκες


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: allstarabey on March 25, 2019, 20:58:34 pm
αυτό ειναι ο "θορυβος" v(n) που παιζει πανω από το αυτο που ψάχνουμε. Αυτο πρακτικα ειναι "δεδομενο". Κυριως ψαχνουμε το x(n) που ειναι το d(n)-u(n), αλλα στην τελικη απαντηση βαζουμε και τα 2. όντως σωστο ειναι ομως αυτο π βρηκες

Πριν σταλθει στην συναρτηση,δινω αυτα τα ορίσματα σαν εισόδους.
Αν παιξει το desired songs.d ειναι και τα δυο τραγουδια.
το περιεργο ειναι αν ειναι μόνο το input u ειναι μονο το Nocturnes του Chopin.
θεωρησα οτι αν τα αφαιρεσω d- u  θα παρω το επιθυμητο αλλα δεν συνεβη.
Είναι η μόνη  μετατροπή που έκανα.
σορρυ αν ειναι τερμα ηλιθια απορια


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Ap.Mor. on March 27, 2019, 20:59:54 pm
Απο το βιβλιο "adaptive filter theory " του haykin εχει πει τιποτα ο καθηγητης για  το ποια  κεφαλαια ειναι στην υλη ???

Στην πρώτη διάλεξη στην 1η σελίδα έχει κάποια κεφάλαια από το βιβλίο του Haykin.
Υποθέτω πως αυτά θα έχουμε και στην ύλη.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Francis Coppola on March 27, 2019, 23:16:02 pm
Μεχρι ποια διάλεξη είναι για την άσκηση 1 ?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: MrRobot on March 27, 2019, 23:28:11 pm
Το lecture 3 αν δεν κάνω λάθος
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Francis Coppola on March 27, 2019, 23:33:02 pm
Το lecture 3 αν δεν κάνω λάθος
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 
Θενξ  ;D


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Mr Xaxas on April 01, 2019, 23:26:30 pm
Επειδη εχω μπερδευτει αρκετα...Μπορει να μου λυσει καποιος το  πως βρισκω την αυτοσυσχετιση ενος διανυσμα !!!Εστω πχ x=[1;2;3]


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dimvasdim on April 03, 2019, 11:36:01 am
Υπάρχει κάποιος που να έχει βγάλει άκρη με την δεύτερη άσκηση; Οι γραφικές μου βγαίνουν πάρα πολύ κοντά αλλά παρ'όλα αυτά δεν βγαίνει σωστή η λύση μου... Μήπως υπάρχει κανένα hint;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: A Caster on April 03, 2019, 12:35:41 pm
Υπάρχει κάποιος που να έχει βγάλει άκρη με την δεύτερη άσκηση; Οι γραφικές μου βγαίνουν πάρα πολύ κοντά αλλά παρ'όλα αυτά δεν βγαίνει σωστή η λύση μου... Μήπως υπάρχει κανένα hint;

Χρησιμοποιησε τον κωδικα που υπαρχει ηδη στο elearning στο δευτερο zipακι για το ένα βήμα. Απλα στον κωδικα του elearning χρησιμοποιει e (error) αντί για d (desired) νομίζω, οπότε αλλάζεις μόνο αυτό το κομμάτι. Ή απλά δες ποια είναι η λογική του και τι if/πράξεις κάνει


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: mano_lee on April 03, 2019, 16:00:51 pm
Μεχρι ποια διάλεξη πρέπει να έχω διαβάσει για την 2η Άσκηση;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: WashAndGo on April 03, 2019, 16:53:11 pm
έχει κάποιος άλλος error στην 44 του script

v1 = v1 - mean(v1,1);  (Matrix dimensions must agree.)


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Apostolof on April 03, 2019, 22:13:10 pm
Για το ερώτημα με το fastFIR, ποια είναι η διαδικασία που κάνουμε; Είναι κάποια από τις μεθόδους του lecture 6;
Υποθέτω πρέπει να κάνουμε 2 fft και ένα ifft, αλλά κάπου το χάνω.. Πρέπει να γίνει και zero-padding σε έναν/και τους δύο πίνακες;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on April 03, 2019, 23:42:54 pm
Για το ερώτημα με το fastFIR, ποια είναι η διαδικασία που κάνουμε; Είναι κάποια από τις μεθόδους του lecture 6;
Υποθέτω πρέπει να κάνουμε 2 fft και ένα ifft, αλλά κάπου το χάνω.. Πρέπει να γίνει και zero-padding σε έναν/και τους δύο πίνακες;

zero padding όντως θα έχεις... ουσιαστικά μόνο το ένα θέλει ... για να βγαίνει η πράξη.
αν βάλεις και άλλα μηδενικά στο u θα χάσεις τα μεγέθη.
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on April 08, 2019, 11:08:03 am
έχει κάποιος άλλος error στην 44 του script

v1 = v1 - mean(v1,1);  (Matrix dimensions must agree.)

Έχω ακριβώς το ίδιο πρόβλημα όταν τρέχω το σκριπτάκι στο matlab. Όταν το τρέχω σε Octave δεν εμφανίζει πρόβλημα αλλά πετάει error αργότερα όταν πάει να τρέξει την LeastMeanSquareGold.p γιατί απ'ότι κατάλαβα το Octave δεν μπορεί να  αναγνωρίσει protected function files του Matlab. Έχει κανείς καμιά ιδέα τι πρέπει να κάνω για να δουλέψει?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: KG8 on April 08, 2019, 11:22:42 am
Έχω ακριβώς το ίδιο πρόβλημα όταν τρέχω το σκριπτάκι στο matlab. Όταν το τρέχω σε Octave δεν εμφανίζει πρόβλημα αλλά πετάει error αργότερα όταν πάει να τρέξει την LeastMeanSquareGold.p γιατί απ'ότι κατάλαβα το Octave δεν μπορεί να  αναγνωρίσει protected function files του Matlab. Έχει κανείς καμιά ιδέα τι πρέπει να κάνω για να δουλέψει?

Νομίζω πρέπει να βάλεις πιο πρόσφατη έκδοση Matlab. Εμένα με R2018a έτρεξε η εντολή.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: menelaos619 on April 10, 2019, 14:31:50 pm
Προλαβαίνω χωρίς γνώσεις του μαθήματος να κάνω την 2η άσκηση μέχρι το βράδυ ή να μην μπω στον κόπο?

(έχω γνώσεις matlab)


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: MrRobot on April 10, 2019, 14:33:21 pm
Το πρωτο μερος σιγουρα. Το δευτερο πρεπει να εχεις δει καποια πραγματα απο το μαθημα για να το βγαλεις γρηγορα. Αλλα νομιζω ο Φλώρος είπε ότι θα πάρει παράταση μέχρι την Παρασκευη


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: menelaos619 on April 10, 2019, 14:41:12 pm
Σε ευχαριστώ πολύ φίλε.
Για να την κάνω τι πρέπει να διαβάσω;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: MrRobot on April 10, 2019, 15:48:57 pm
Τον αλγόριθμο LMS για το πρώτο. Είναι νομίζω στο lecture 4. Μια βασική υλοποίηση θέλει, δηλαδή μη μπεις σε πολλές λεπτομέρειες. Για το δεύτερο Google is your friend, και λέει κάποια πράγματα και στο ίδιο pdf που έχει τον LMS
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: menelaos619 on April 10, 2019, 16:28:09 pm
Έγινε ευχαριστώ  :D


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 13, 2019, 23:56:39 pm
Στην 3η άσκηση, 1η ερώτηση, λέει να συμπληρώσουμε τον κώδικα που υπάρχει στο fftproof.m, αλλά το αρχείο αυτό πού βρίσκεται ακριβώς? Δεν το βρίσκω στο φάκελο "Κώδικες MATLAB" του elearning. Ξέρει κανείς μήπως τι παίζει? Υποτίθεται πως είναι ο κώδικας που παρέχεται στο textbox? Περίεργο μου φαίνεται. Επίσης, στην ουσία πρέπει να γράψεις ένα τρόπο υπολογισμού του fft με κάποιο αλγόριθμο που χρησιμοποιεί τα steps που σου λέει να ορίσεις σαν συναρτήσεις στο textbox και μετά να συγκρίνεις το αποτέλεσμα χρησιμοποιώντας κατευθείαν την συνάρτηση fft του matlab?.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on May 14, 2019, 00:06:12 am
Στην 3η άσκηση, 1η ερώτηση, λέει να συμπληρώσουμε τον κώδικα που υπάρχει στο fftproof.m, αλλά το αρχείο αυτό πού βρίσκεται ακριβώς? Δεν το βρίσκω στο φάκελο "Κώδικες MATLAB" του elearning. Ξέρει κανείς μήπως τι παίζει? Υποτίθεται πως είναι ο κώδικας που παρέχεται στο textbox? Περίεργο μου φαίνεται. Επίσης, στην ουσία πρέπει να γράψεις ένα τρόπο υπολογισμού του fft με κάποιο αλγόριθμο που χρησιμοποιεί τα steps που σου λέει να ορίσεις σαν συναρτήσεις στο textbox και μετά να συγκρίνεις το αποτέλεσμα χρησιμοποιώντας κατευθείαν την συνάρτηση fft του matlab?.

γενικα το αρχειο δεν θα ανεβει, αλλα ειπε οτι απλα περιειχε χωρο για να γραψουμε τα step1, step2, step3.

Τωρα τα step δεν ειναι σειριακα βηματα για να βγαλεις εν τελει τον fft, σε καθε βημα θα βγαζεις τον fft και απλα θα σπας τα αθροισματα περαιτερω για να καταληξεις σε μια σχεση αναδρομης για να κανεις το 2ο. (απο οσο καταλαβα :Ρ ακομα βεβαια δεν καταφερα να την λυσω)


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 14, 2019, 00:13:27 am
γενικα το αρχειο δεν θα ανεβει, αλλα ειπε οτι απλα περιειχε χωρο για να γραψουμε τα step1, step2, step3.

Τωρα τα step δεν ειναι σειριακα βηματα για να βγαλεις εν τελει τον fft, σε καθε βημα θα βγαζεις τον fft και απλα θα σπας τα αθροισματα περαιτερω για να καταληξεις σε μια σχεση αναδρομης για να κανεις το 2ο. (απο οσο καταλαβα :Ρ ακομα βεβαια δεν καταφερα να την λυσω)

Τότε γιατί αναφέρει το αρχείο στην άσκηση? Σε μπερδεύει :Ρ Τι εννοείς σε κάθε βήμα θα βγάζες τον fft? Εγώ βρήκα αυτόν τον αλγόριθμο: https://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm
που μοιάζει στην δομή με τον τρόπο που έχουν οριστεί τα steps στην άσκηση, απλά δεν καταλαβαίνω γιατί το w στο δίνει σαν όρισμα σε κάθε βήμα. Μου φαίνεται στο 3ο πως χρειάζεται μόνο, το οποίο θα καλεί τα προηγούμενα. Άμα θες στείλε pm να το συζητήσουμε :Ρ


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on May 14, 2019, 00:32:10 am
Τότε γιατί αναφέρει το αρχείο στην άσκηση? Σε μπερδεύει :Ρ Τι εννοείς σε κάθε βήμα θα βγάζες τον fft? Εγώ βρήκα αυτόν τον αλγόριθμο: https://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm
που μοιάζει στην δομή με τον τρόπο που έχουν οριστεί τα steps στην άσκηση, απλά δεν καταλαβαίνω γιατί το w στο δίνει σαν όρισμα σε κάθε βήμα. Μου φαίνεται στο 3ο πως χρειάζεται μόνο, το οποίο θα καλεί τα προηγούμενα. Άμα θες στείλε pm να το συζητήσουμε :Ρ

γιατι το ειχε απο περυσι και ξεχασε να το βγαλει :Ρ.

η ασκηση θελει να μας βαλει να σκεφτουμε πως οταν γραφουμε μια αποδειξη εχουμε το matlab να μας προσεχει.

ξεκινας απο μια σχεση (αναλυτικη σχεση fft) και σε καθε step γραφεις μια ισοτητα που θα πρεπει να δινει το αρχικο αποτελεσμα (aka τον fft). Ο αλγοριθμος που βρηκες ειναι μια αρχη για να σκεφτεις πως θα σπασεις τα αθροισματα.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 14, 2019, 00:45:58 am
γιατι το ειχε απο περυσι και ξεχασε να το βγαλει :Ρ.

η ασκηση θελει να μας βαλει να σκεφτουμε πως οταν γραφουμε μια αποδειξη εχουμε το matlab να μας προσεχει.

ξεκινας απο μια σχεση (αναλυτικη σχεση fft) και σε καθε step γραφεις μια ισοτητα που θα πρεπει να δινει το αρχικο αποτελεσμα (aka τον fft). Ο αλγοριθμος που βρηκες ειναι μια αρχη για να σκεφτεις πως θα σπασεις τα αθροισματα.
Άνθρωπος κι αυτός, ξεχνάει :Ρ

Dear matlab watch over me please :P ;D

Μάλλον εννοείς ξεκινάς από μια αναλυτική σχέση για τον dft, τον οποίο σε κάθε step τον χωρίζεις σε αθροίσματα για να πετύχεις εν τέλει τον πιο γρήγορο υπολογισμό του (τον fft δηλαδή) από άποψη πολυπλοκότητας. Σε κάθε βήμα του αλγορίθμου θα συγκρίνεις τον fft που φτιάχνεις με αυτόν που προκύπτει από το matlab ώστε να δεις αν το κάνεις σωστά.Έτσι σε προσέχει το matlab :P και γι αυτό σου δίνεται το w σαν όρισμα σε κάθε step. Right?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on May 14, 2019, 09:21:17 am
Άνθρωπος κι αυτός, ξεχνάει :Ρ

Dear matlab watch over me please :P ;D

Μάλλον εννοείς ξεκινάς από μια αναλυτική σχέση για τον dft, τον οποίο σε κάθε step τον χωρίζεις σε αθροίσματα για να πετύχεις εν τέλει τον πιο γρήγορο υπολογισμό του (τον fft δηλαδή) από άποψη πολυπλοκότητας. Σε κάθε βήμα του αλγορίθμου θα συγκρίνεις τον fft που φτιάχνεις με αυτόν που προκύπτει από το matlab ώστε να δεις αν το κάνεις σωστά.Έτσι σε προσέχει το matlab :P και γι αυτό σου δίνεται το w σαν όρισμα σε κάθε step. Right?

ναι. Ουσιαστικα τα step συνδεονται μεταξυ τους (οχι σαν κλησεις συναρτησεων, αλλα σαν λογικη).


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 14, 2019, 16:41:21 pm
ναι. Ουσιαστικα τα step συνδεονται μεταξυ τους (οχι σαν κλησεις συναρτησεων, αλλα σαν λογικη).

Ωραίος μαν, θενκς. Ξέρεις μήπως μέχρι τι μέγεθος μπορεί να είναι το σφάλμα του norm(y - fft(x))? :Ρ


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on May 14, 2019, 17:34:34 pm
ο Φλώρος από ότι μίλησα ελέγχει έως 10^(-10)...
εγώ πετυχαίνω 10^(-14)
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 14, 2019, 17:36:39 pm
ο Φλώρος από ότι μίλησα ελέγχει έως 10^(-10)...
εγώ πετυχαίνω 10^(-14)
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 
Οκ, θενκς και παλι!  :) :)


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: feoudarxhs on May 15, 2019, 14:15:59 pm
Στη step2() τα επιστρεφόμενα vectors με τι πρόσημα τα θέλει; Δηλαδή να υπακούν σε yt = yte - yto ή για παράδειγμα το yto να έχει ήδη αλλαγμένα τα πρόσημα ώστε να ισχύει yt = yte + yto;

Επίσης, στη step3() με βάση το σχόλιο που έχει στον κώδικα φαίνεται πως το xk2 το θέλει αφού πολλαπλασιαστεί με το διάνυσμα με τα ω. Όμως, στο pdf με τις εκφωνήσεις των προηγούμενων χρόνων (τότε που δινόταν το fftproof.m) ουσιαστικά όριζε ως xk1 και xk2 μόνο τους DFT του κάτω και άνω τμήματος, κάτι που είναι επίσης λογικό από άποψη απόδειξης. Όντως το άλλαξε πλέον ή είναι λάθος το σχόλιο;

Τέλος, ως top vector να φανταστώ πως εννοεί από N/2 έως N-1 και ως bottom vector από 0 ως Ν/2-1;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: A Caster on May 15, 2019, 14:49:46 pm
Στη step2() τα επιστρεφόμενα vectors με τι πρόσημα τα θέλει; Δηλαδή να υπακούν σε yt = yte - yto ή για παράδειγμα το yto να έχει ήδη αλλαγμένα τα πρόσημα ώστε να ισχύει yt = yte + yto;

Επίσης, στη step3() με βάση το σχόλιο που έχει στον κώδικα φαίνεται πως το xk2 το θέλει αφού πολλαπλασιαστεί με το διάνυσμα με τα ω. Όμως, στο pdf με τις εκφωνήσεις των προηγούμενων χρόνων (τότε που δινόταν το fftproof.m) ουσιαστικά όριζε ως xk1 και xk2 μόνο τους DFT του κάτω και άνω τμήματος, κάτι που είναι επίσης λογικό από άποψη απόδειξης. Όντως το άλλαξε πλέον ή είναι λάθος το σχόλιο;

Τέλος, ως top vector να φανταστώ πως εννοεί από N/2 έως N-1 και ως bottom vector από 0 ως Ν/2-1;

1) Ως top vector θέλει από 0 έως Ν/2-1 και bot το υπόλοιπο. Δηλαδή fft = [yt;yb] στο ματλαμπ

2)  στο τρίτο θέλει το αποτέλεσμα να είναι: yt=   Xk1 + xk2 , yb = xk1 - xk2. Το xk1 είναι τα even και το xk2 είναι Wk*Xodd

3) στο δεύτερο θέλει: yt = yte + yto, yb= ybe + ybo


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: feoudarxhs on May 15, 2019, 15:36:16 pm
1) Ως top vector θέλει από 0 έως Ν/2-1 και bot το υπόλοιπο. Δηλαδή fft = [yt;yb] στο ματλαμπ

2)  στο τρίτο θέλει το αποτέλεσμα να είναι: yt=   Xk1 + xk2 , yb = xk1 - xk2. Το xk1 είναι τα even και το xk2 είναι Wk*Xodd

3) στο δεύτερο θέλει: yt = yte + yto, yb= ybe + ybo


Οκ ευχαριστώ πολύ! Είναι ακριβώς έτσι τα πρόσημα. Πάντως ξαναλέω πως δεν είναι για κανένα λόγο προφανής η μορφή που αναμένει ο tester και μπορούν να υπάρξουν πάρα πολλές διαφορετικές υλοποιήσεις ακριβώς του ίδιου πράγματος. Είχε αναφέρει στο μάθημα τι αναμένει η δική του υλοποίηση;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Ap.Mor. on May 15, 2019, 18:09:19 pm
3) στο δεύτερο θέλει: yt = yte + yto, yb= ybe + ybo

Το yte και το yto είναι n/2. Δε θα έπρεπε να είναι n/4 ώστε το άθροισμα να γίνει n/2 (όπως κάνει ο αλγόριθμος του Tukey )?
Υπάρχει κάπου η ακριβής απόδειξη που πρέπει να υλοποιήσουμε;
Πολύ μπέρδεμααααα!  :D


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 15, 2019, 19:51:30 pm
Το yte και το yto είναι n/2. Δε θα έπρεπε να είναι n/4 ώστε το άθροισμα να γίνει n/2 (όπως κάνει ο αλγόριθμος του Tukey )?
Υπάρχει κάπου η ακριβής απόδειξη που πρέπει να υλοποιήσουμε;
Πολύ μπέρδεμααααα!  :D

Σκέψου ότι για να γίνει σωστά ένας DFT (στην προκειμένη περίπτωση ο fft) χρειάζεσαι όλα τα στοιχεία του διακριτού σου σήματος x(δηλαδή n στοιχεία), οπότε τα yte, yto (αντίστοιχα και τα ybe,ybo) πρέπει να λαμβάνουν υπόψην όλα τα n στοιχεία του x όταν προκύψει το άθροισμα yte + yto, άρα θα έχει το καθένα n/2 στοιχεία x. Τα yte και yto ορίζονται με n/2 μέγεθος γιατί αντιστοιχούν στα πρώτα n/2 στοιχεία του FFT. Δεν σπας δηλαδή το άθροισμα των στοιχείων x με ζυγούς δείκτες σε 2 επιμέρους αθροίσματα με n/4 στοιχεία x το καθένα. Σε νοιάζει μόνο το πού ανήκει το συγκεκριμένο στοιχείο του fft(πάνω ή κατω), δεν σπας το άθροισμα περαιτέρω δηλαδή, σπάς τον πίνακα y απλά. Τα yte, yto και ybe,ybo διαφέρουν μόνο στο σε ποια στοιχεία του FFT αναφέρονται, όχι του x. Γενικά, ξεχώρισε τους δείκτες του x και του y στο άθροισμα για να καταλάβεις, είναι λίγο μπέρδεμα η αλήθεια είναι δεδομένου κι ότι η εκφώνηση δεν είναι πολύ κατατοπιστική. Ελπίζω να βοήθησα :P

Ακολούθα τον Tukey :P


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on May 15, 2019, 21:33:50 pm
Εχει ασχοληθει κανεις με το δευτερο ερωτημα; πως γινεται να επαληθευσουμε την τιμη των flops?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on May 15, 2019, 21:57:27 pm
Εχει ασχοληθει κανεις με το δευτερο ερωτημα; πως γινεται να επαληθευσουμε την τιμη των flops?

για μεγεθος σηματος x , n=8, πρεπει να βγαλεις 120.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Ap.Mor. on May 15, 2019, 23:48:55 pm
...
Ακολούθα τον Tukey :P

Για ποιον αλγόριθμο του tukey λες;
Για τον αλγόριθμο decimation in frequency όταν κάνει το διαχωρισμό στο τελικό σήμα το κάνει σε ολόκληρο το αποτέλεσμα σε odd και even.
Εμάς εδώ μας λέει ότι βγάζουμε από τον dft του top και του bottom odd και even. (κάπως κουλό μου φαίνεται δηλαδή αυτό που ζητάει σε σχέση με τον dif fft.)
τα steps στην απόδειξη είναι βήματα κάποιας αναδρομικής διαδικασίας;
Πραγματικά έχω μπερδευτεί. Δε μπορώ να καταλάβω τι θέλει!



Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 16, 2019, 00:05:37 am
Για ποιον αλγόριθμο του tukey λες;
Για τον αλγόριθμο decimation in frequency όταν κάνει το διαχωρισμό στο τελικό σήμα το κάνει σε ολόκληρο το αποτέλεσμα σε odd και even.
Εμάς εδώ μας λέει ότι βγάζουμε από τον dft του top και του bottom odd και even. (κάπως κουλό μου φαίνεται δηλαδή αυτό που ζητάει σε σχέση με τον dif fft.)
τα steps στην απόδειξη είναι βήματα κάποιας αναδρομικής διαδικασίας;
Πραγματικά έχω μπερδευτεί. Δε μπορώ να καταλάβω τι θέλει!


Για τον radix-2 dit (decimation in time) λέω. Αυτό πρέπει να κάνεις εν τέλει.
Στο 1ο κομμάτι τα βήματα είναι απλά για να σε βοηθήσουν να σκεφτείς πώς θα το κάνεις. Δεν καλείς προηγούμενα βήματα σε επόμενα, δηλαδή είναι ανεξάρτητα. Τώρα στο 2ο κομμάτι δεν ξέρω ακόμα τι παίζει, δεν έχω ασχοληθεί. Εκεί χρειάζεται αναδρομή αλλά δεν ξέρω τι αναδρομή ακριβώς.
Ουσιαστικά σου ζητάει:
1ο βήμα: Βρες τον dft αφού πρώτα τον σπάσεις σε πάνω και κάτω τμήματα (αυτό το κάνει για να καταλάβεις στο βήμα 3 ότι μπορείς να βρεις τα y(j+n/2) με χρήση των y(j)).
2ο βήμα: Βρες τον dft αφού πρώτα τον σπάσεις σε αθροίσματα με δείκτες για το x ζυγούς και μονούς αντίστοιχα, ενώ παράλληλα να σπάσεις τον dft σε πάνω και κάτω. Θα μπορούσε εδώ να σου πει σπάσε απλά τον dft σε μονά ζυγά, απλά για να βάλει και τη λογική του πάνω - κάτω σου λέει γράψε ξεχωριστά τις ίδιες στην ουσία σχέσεις(αλλάζεις μόνο τα j στα w) για τα y(j) και για τα y(j+n/2) όπου j = 0,...,n/2-1, με τα κατάλληλα j (τα j αναφέρονται στο y, όχι στο x). Μπερδεύει αρκετά η εκφώνηση, ισχύει.
3ο βήμα: Βρες επιτέλους τον fft χρησιμοποιώντας μόνο τις πρώτες n/2 τιμές του fft (εδώ κάνεις χρήση των μονών-ζυγών ουσιαστικά και της λογικής πάνω-κάτω "σωστά"). Το βήμα 3 είναι το βελτιωμένο βήμα 2 ας το πούμε :P.



Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Ap.Mor. on May 16, 2019, 00:10:13 am
...
πφφ, γιατί μας δίνουν έτσι τις εκφωνήσεις ρε γαμώτο!
Ευχαριστώ, θα προσπαθήσω με αυτά που μου είπες!


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 16, 2019, 00:11:54 am
πφφ, γιατί μας δίνουν έτσι τις εκφωνήσεις ρε γαμώτο!
Ευχαριστώ, θα προσπαθήσω με αυτά που μου είπες!
Πέρα από matlab μαθαίνεις να λύνεις και γρίφους γι'αυτό :Ρ Good luck! Θα ξεκινήσω κι εγώ το 2ο κομμάτι σιγά σιγά...


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on May 16, 2019, 09:33:42 am
πφφ, γιατί μας δίνουν έτσι τις εκφωνήσεις ρε γαμώτο!
Ευχαριστώ, θα προσπαθήσω με αυτά που μου είπες!

Λογικά επειδή πέρσυ αργούσαν (ή απλά βαριόντουσαν) να διορθώσουν τις εργασίες και τα αποτελέσματα του Ιουνίου είχαν βγεί λίγες μέρες πριν την εξέταση του μαθήματος τον Σεπτέμβρη


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: thankara on May 16, 2019, 14:33:39 pm
για μεγεθος σηματος x , n=8, πρεπει να βγαλεις 120.

Αυτό το είπε στο μάθημα? Γιατί από ότι βρήκα στο ίντερνετ αυτό βγαίνει 5Nlog(N). Αλλά το έτρεξα και δεν μου το παίρνει σωστό. Λέει "time limit exceeded".

EDIT:
Δούλεψε τελικά. Μπορεί να έφταιγε που το αποτέλεσμα το έβγαζα σε γραμμή αντί για στήλη. Το άλλαξα και δούλεψε.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: windwaker on May 16, 2019, 19:21:33 pm
Ρε παιδιά τι σπάσιμο θέλει στο step2; Δε βγάζω άκρη. Βρίσκω το top και το bottom (σωστά ελπίζω) και μετά τα χωρίζω ανάλογα με τα indices. Δηλαδή τα yte είναι τα top με άρτιο index, τα yto είναι top με odd index κ.ο.κ. Επίσης το w που χρειάζεται;

Code:
function [ybe, ybo, yte, yto] = step2( x, w )
% split each output to even and odd
 
  n = length(x);
 
  k = (0:n/2-1)';
 
  ybe = zeros(n/2,1);
  ybo = zeros(n/2,1);
  yte = zeros(n/2,1);
  yto = zeros(n/2,1);
 
  for m = 0:(n/2-1)
      yt(m+1) = x(m+1)*exp(-(2*pi*1i*m*k(m+1))/n);
  end
 
  for m = (n/2):(n-1)
      yb(m+1-n/2) = x(m+1)*exp(-(2*pi*1i*m*k(m+1-n/2))/n);
  end
 
  ybo = yb(:, 1:2:end);
  ybe = yb(:, 2:2:end);
  yto = yt(:, 1:2:end);
  yte = yt(:, 2:2:end);
 
end


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: allstarabey on May 16, 2019, 19:34:09 pm
παιδια το w τι ειναι πως μπορουμε να το χρησιμοποιησουμε?
τι εννοει οτι επιστρεφει τις ριζες της μοναδας?
επίσης στο 1ο βημα για παραδειγμα η εξοδος θα ειναι ο συνολικος fft ή οι επιμερους fft ?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Mr Xaxas on May 18, 2019, 02:22:57 am
Στο elearning οταν πατάω στην εργασία 3 μου βγάζει error και δεν μου εμφανίζει  την εκφώνηση. Δεν νομιζω να συμβαίνει μονο σε μένα ???Ακόμα  υπάρχει κάποιο screenshot της εκφώνηση ώστε να την δουλέψω μεσα στο Σκ ??


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 18, 2019, 02:26:08 am
Στο elearning οταν πατάω στην εργασία 3 μου βγάζει error και δεν μου εμφανίζει  την εκφώνηση. Δεν νομιζω να συμβαίνει μονο σε μένα ???Ακόμα  υπάρχει κάποιο screenshot της εκφώνηση ώστε να την δουλέψω μεσα στο Σκ ??
Δες και τα παραπάνω σχόλια, θα σε βοηθήσουν.
Btw, ούτε εμένα με αφήνει να μπω αυτή τη στιγμή.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dinis on May 19, 2019, 14:19:28 pm
Στο elearning οταν πατάω στην εργασία 3 μου βγάζει error και δεν μου εμφανίζει  την εκφώνηση. Δεν νομιζω να συμβαίνει μονο σε μένα ???Ακόμα  υπάρχει κάποιο screenshot της εκφώνηση ώστε να την δουλέψω μεσα στο Σκ ??

Και εγώ το ίδιο πρόβλημα έχω


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 19, 2019, 14:23:08 pm
Και εγώ το ίδιο πρόβλημα έχω
Πιθανόν να είναι γενικό θέμα του e-learning γιατί και σε άλλο μάθημα έμαθα ότι συμβαίνει κάτι αντίστοιχο.
Λογικά, θα προσαρμοστεί η προθεσμία αναλόγως.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koniotis on May 19, 2019, 14:50:11 pm
Ρε παιδιά τι σπάσιμο θέλει στο step2; Δε βγάζω άκρη. Βρίσκω το top και το bottom (σωστά ελπίζω) και μετά τα χωρίζω ανάλογα με τα indices. Δηλαδή τα yte είναι τα top με άρτιο index, τα yto είναι top με odd index κ.ο.κ. Επίσης το w που χρειάζεται;

Code:
function [ybe, ybo, yte, yto] = step2( x, w )
% split each output to even and odd
 
  n = length(x);
 
  k = (0:n/2-1)';
 
  ybe = zeros(n/2,1);
  ybo = zeros(n/2,1);
  yte = zeros(n/2,1);
  yto = zeros(n/2,1);
 
  for m = 0:(n/2-1)
      yt(m+1) = x(m+1)*exp(-(2*pi*1i*m*k(m+1))/n);
  end
 
  for m = (n/2):(n-1)
      yb(m+1-n/2) = x(m+1)*exp(-(2*pi*1i*m*k(m+1-n/2))/n);
  end
 
  ybo = yb(:, 1:2:end);
  ybe = yb(:, 2:2:end);
  yto = yt(:, 1:2:end);
  yte = yt(:, 2:2:end);
 
end
Αρχικά έχεις βρει λάθος τα yt,yb γιατί λαμβάνεις υπόψη σου ένα στοιχείο του x για κάθε y(j), ενώ πρέπει να τα λάβεις όλα, δηλαδή θα έχεις άθροισμα των x στην ισότητα του y(j).
Επίσης, θα βρεις τα yte,yto,ybe,ybo κατευθείαν. Δεν θα βρεις δηλαδή πρώτα τα yt και yb και μετά θα τα σπάσεις στα ζητούμενα. Δες τα προηγούμενα σχόλια για να καταλάβεις τι είναι το κάθε τι. Το w είναι το root of unity(google it) και αντί να κάθεσαι να γράφεις κάθε φορά exp(μπλα μπλα) ορίζεις σαν function handle(δες matlab documentation) ένα w = exp(μπλα μπλα) με παραμέτρους n,k. Το w θα πρέπει να το ορίσεις για να τρέξεις τον κώδικά σου δοκιμαστικά στο matlab. Όταν πας να υποβάλλεις, θα σου το δίνει αυτός σαν όρισμα οπότε μην το συμπεριλλάβεις στον κώδικά σου.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on May 21, 2019, 13:26:35 pm
Παιδιά έχει καταλάβει κανεις να μου πει τι ακριβώς ζητάει στο πρώτο ερώτημα της τρίτης εργασίας;
Θέλει να κανουμε αποδεκατισμό στη συχνότητα; στο χρόνο; τα y είναι τα δείγματα ή τα αθροίσματα των δειγμάτων;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dinis on May 21, 2019, 13:55:31 pm
Παιδιά έχει καταλάβει κανεις να μου πει τι ακριβώς ζητάει στο πρώτο ερώτημα της τρίτης εργασίας;
Θέλει να κανουμε αποδεκατισμό στη συχνότητα; στο χρόνο; τα y είναι τα δείγματα ή τα αθροίσματα των δειγμάτων;

Μπες στο τόπικ με τις Γενικές Απορίες/ Ανακοινώσεις. Υπάρχει πολύ βοήθεια στο να καταλάβεις τι ζητάει και πως να την υλοποιήσεις τελικά την άσκηση. ;)

edit by λευκος: μεταφορα στο παρον τοπικ.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: nFin1ty on May 21, 2019, 18:47:40 pm
Αυτό το είπε στο μάθημα? Γιατί από ότι βρήκα στο ίντερνετ αυτό βγαίνει 5Nlog(N). Αλλά το έτρεξα και δεν μου το παίρνει σωστό. Λέει "time limit exceeded".

EDIT:
Δούλεψε τελικά. Μπορεί να έφταιγε που το αποτέλεσμα το έβγαζα σε γραμμή αντί για στήλη. Το άλλαξα και δούλεψε.

Μόνο αυτό άλλαξες; Μου βγάζει το ίδιο error με ό,τι κι αν δοκιμάσω. Έχει κανείς άλλος το ίδιο πρόβλημα;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: allstarabey on May 22, 2019, 21:19:51 pm
εχω κολλήσει .
καμια βοηθεια? αυτο ειναι για το πρωτο βημα .Θεωρησα ενα τυχαιο διανυσμα 16 χ 1 για δοκιμη.

Code:
function [yt, yb] = test( x )
% split output to top and bottom
 x=rand(16,1);
 %% all the initializations
  n = length(x);
  yt = zeros(n/2,1);
  yb = zeros(n/2,1);
  k = (0:n-1)';

  yt_after = zeros(n/2,1);
  yb_after = zeros(n/2,1);
  
 %% split in bottom and top
  yt = x((n/2):n); % y top
  yb = x(1:(n/2)); % y bottom
 
 %% do the dft for each part
  for ( k =1:1:n/2)
    s = 0;
    
    for (index=1:1:n/2)

        s = yb(index)*w(index,k) + s ;
    end
    
    yb_after(k) = s;
  end


  for ( k =1:1:n/2)
    s = 0;
    for ( index=1:1:n/2)
      s = yt(index)*w(index,k) + s ;
    end  
    yt_after(k) = s;
  end

  % save the values as outputs
    yb = yb_after;
    yt = yt_after;
  
    y =[ yb;yt];

    e=norm( y - fft(x));

   end

και η συναρτηση w .
το e ειναι ακομα 4.2
Code:
function [w]=w(n,k)

% this is my function handle w
% this is about the exp
% inputs : length of the time_samples n
% : length of the frequency_samples k

% what to do : only the exponential part
a = -i*2*pi*k*n;
b = 16; % should be 16 also the length of the given x
w = exp(a/16);
end



Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on May 23, 2019, 17:34:44 pm
Παιδιά έχει ακουστεί τίποτα περι 4ης, 5ης εργασίας; Θα αναρτηθούν; Αν ναι, πότε;
Σας ευχαριστώ


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: WashAndGo on May 23, 2019, 17:44:48 pm
4η απο δευτέρα και για 5η είπε θα δείξει αλλα μπορεί κ οχι


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: BIC on May 26, 2019, 17:09:43 pm
Στην Άσκηση 3, στο ερώτημα 2, βγάζει σε κανέναν άλλον όταν το τρέχει στο elearning σφάλμα τύπου ***Time limit exceeded***. Γιατί τοπικά που το τρέχω μου επιστρέφει αμέσως αποτέλεσμα πχ για x = [ 1 2 3 4 5 6 7 8], 120 flops.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Ap.Mor. on May 26, 2019, 17:58:02 pm

Πρεπει να επιστρέψεις το αποτέλεσμα σου σε στήλη!


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: BIC on May 26, 2019, 21:27:43 pm
Πρεπει να επιστρέψεις το αποτέλεσμα σου σε στήλη!

Ευχαριστώ, πράγματι για το error αυτό έφταιγε που δεν επέστρεφα στήλη. Βέβαια ακόμα λάθος το παίρνει, απλά τώρα με error 'Basic test';
Wrong.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: BIC on May 27, 2019, 10:33:00 am
Το error μου βγαίνει της τάξης 1.0e-14 και συνεπώς μου το παίρνει λάθος στο elearning. :( Το έφτασε κανείς χαμηλότερα και πως?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: thankara on May 27, 2019, 13:33:52 pm
Παιδιά ένα λάθος που έκανα εγώ είναι ότι για transpose έβαζα σκέτο ' το οποίο κάνει και συζυγή. Το σωστό είναι με τελεία (  .'  ). Δείτε μήπως κάνατε τπτ τέτοιο.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Apostolof on May 27, 2019, 14:22:38 pm
Παιδιά ένα λάθος που έκανα εγώ είναι ότι για transpose έβαζα σκέτο ' το οποίο κάνει και συζυγή. Το σωστό είναι με τελεία (  .'  ). Δείτε μήπως κάνατε τπτ τέτοιο.

Πωπω ρε φιλ@ και εγώ το έκανα αυτό και έχασα πολύ χρόνο :(
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: windwaker on June 05, 2019, 00:26:26 am
Έχει ασχοληθεί κανείς με την 4η; Στο wiener πως φτιάχνουμε το u(n) και τα υπόλοιπα; Θεωρώ πως μας δίνει πίνακες με τα a, b, c, v1, v2 σαν input αλλά τι παίζει με τα u(n-1) κλπ; Επίσης λέει πως οι διάστάσεις των R, p και wo είναι 4x4, 4x1 και 4x1 αντίστοιχα. Από αυτό δε συμπεραίνω ότι και το u(n) έχει 4 όρους;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on June 05, 2019, 11:22:29 am
Έχει ασχοληθεί κανείς με την 4η; Στο wiener πως φτιάχνουμε το u(n) και τα υπόλοιπα; Θεωρώ πως μας δίνει πίνακες με τα a, b, c, v1, v2 σαν input αλλά τι παίζει με τα u(n-1) κλπ; Επίσης λέει πως οι διάστάσεις των R, p και wo είναι 4x4, 4x1 και 4x1 αντίστοιχα. Από αυτό δε συμπεραίνω ότι και το u(n) έχει 4 όρους;

Απ' οτι καταλαβα για το πρωτο ερωτημα πρεπει να τα υπολογισεις ολα με το χερι και απλα μεσα στο body της  συναρτησης να δωσεις ετοιμους τους πινακες R και p ωστε να υπολογισεις τους συντελεστες wiener απο την εξισωση wiener-hopf. Επισης εφοσον σου δινει τρεις αναδρομες για το u(n), θα πρεπει να υπολογισεις τα r(0), r(1), r(2), r(3) αρα ο πινακας R θα ειναι 4×4


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 05, 2019, 14:34:47 pm
Παιδιά στην εργασία 4, στο πρώτο ερώτημα, τα x(n) και u(n) είναι ασυσχέτιστα, ετσι; οπότε θα ισχύει x(n-t)*u(n-k) = 0;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: windwaker on June 05, 2019, 17:59:27 pm
Απ' οτι καταλαβα για το πρωτο ερωτημα πρεπει να τα υπολογισεις ολα με το χερι και απλα μεσα στο body της  συναρτησης να δωσεις ετοιμους τους πινακες R και p ωστε να υπολογισεις τους συντελεστες wiener απο την εξισωση wiener-hopf. Επισης εφοσον σου δινει τρεις αναδρομες για το u(n), θα πρεπει να υπολογισεις τα r(0), r(1), r(2), r(3) αρα ο πινακας R θα ειναι 4×4
Μα δίνει σαν input τα a, b, c, v1, v2. Λογικά στον έλεγχο θα δίνονται σαν πίνακες στη συνάρτηση. Επίσης και με το χέρι πως; Αφού δε σου δίνει τη u(n) άρα ούτε τα u(n-1) κλπ. Ούτε την περνάει σαν όρισμα να πεις οκ. 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 05, 2019, 18:05:28 pm
Μα δίνει σαν input τα a, b, c, v1, v2. Λογικά στον έλεγχο θα δίνονται σαν πίνακες στη συνάρτηση. Επίσης και με το χέρι πως; Αφού δε σου δίνει τη u(n) άρα ούτε τα u(n-1) κλπ. Ούτε την περνάει σαν όρισμα να πεις οκ. 

Ναι θα βγαλεις τις σχεσεις στο χαρτι για την αυτοσυσχέτιση r(k). Μετα θα θεσεις κ=0,1,2,3 και θα βγαλεις ενα συστημα 4 ξισωσεων με 4 αγνωστους r(0), r(1), r(2), r(3). αυτο θα βαλεις στο matlab για να βρεις το r, άρα και το R


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: windwaker on June 05, 2019, 19:45:51 pm
Ναι θα βγαλεις τις σχεσεις στο χαρτι για την αυτοσυσχέτιση r(k). Μετα θα θεσεις κ=0,1,2,3 και θα βγαλεις ενα συστημα 4 ξισωσεων με 4 αγνωστους r(0), r(1), r(2), r(3). αυτο θα βαλεις στο matlab για να βρεις το r, άρα και το R
Οκ νομίζω καταλάβα, ευχαριστώ παιδιά  :)


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: thankara on June 07, 2019, 12:01:49 pm
Παιδιά στην εργασία 4, στο πρώτο ερώτημα, τα x(n) και u(n) είναι ασυσχέτιστα, ετσι; οπότε θα ισχύει x(n-t)*u(n-k) = 0;

Συμφωνώ μαζί σου απλά νομίζω τότε το c που δίνεται σαν όρισμα στη συνάρτηση δεν θα χρησιμοποιηθεί πουθενά.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 07, 2019, 12:40:46 pm
Κ εγώ έτσι νμζ, όπως και το sigma_v2. Αλλά τότε τι τα δίνει, για τρολλιά; Επίσης στις συναρτήσεις lms, nlms, rls τα y, u, d είναι scalar, ετσι; και το w_out mx1? Ρωτάω γιατι για ακόμη μια φορά ο κ. Φλώρος δε μας λεει το παραμικρό σχετικά με τη μορφή που τα θέλει ή κάποια πληροφορία ωστε να ξέρουμε πώς θα ελέγξουμε την ορθότητα των αποτελεσμάτων


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on June 07, 2019, 12:59:43 pm
Ούτε εγώ χρησιμοποιήσα τα c και sigma_v2 και ο grader μου παίρνει την απάντηση μερικώς σωστή απ'ότι κατάλαβα. Επίσης για το function του LMS που ουσιαστικά ζητάει το ίδιο πράγμα με την 2η εργασία κάνω copy-paste την απάντηση μου και μου το παίρνει λάθος


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 07, 2019, 13:24:05 pm
Ούτε εγώ χρησιμοποιήσα τα c και sigma_v2 και ο grader μου παίρνει την απάντηση μερικώς σωστή απ'ότι κατάλαβα. Επίσης για το function του LMS που ουσιαστικά ζητάει το ίδιο πράγμα με την 2η εργασία κάνω copy-paste την απάντηση μου και μου το παίρνει λάθος

Same here


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: A Caster on June 07, 2019, 15:06:59 pm
Επίσης για το function του LMS που ουσιαστικά ζητάει το ίδιο πράγμα με την 2η εργασία κάνω copy-paste την απάντηση μου και μου το παίρνει λάθος

Αν και δεν έχω ασχοληθεί με αυτό το κομμάτι πολυ ακόμα, είχα την εντύπωση ότι η διαφορά με την εργασία 2 είναι ότι εκείνη ήταν system recognition (δηλαδή κάντε το e->0) ενώ τώρα θέλει noise cancelling (κάντε e->u)

Το πάω λάθος ;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 07, 2019, 18:14:14 pm
βρήκα αυτό:

https://www.arpapress.com/Volumes/Vol7Issue1/IJRRAS_7_1_05.pdf (https://www.arpapress.com/Volumes/Vol7Issue1/IJRRAS_7_1_05.pdf)

φαίνεται πολύ παρόμοιο, οπότε ελπίζω να βοηθήσει στην κατανόηση της άσκησης


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: windwaker on June 07, 2019, 22:58:09 pm
Ούτε εγώ χρησιμοποιήσα τα c και sigma_v2 και ο grader μου παίρνει την απάντηση μερικώς σωστή απ'ότι κατάλαβα. Επίσης για το function του LMS που ουσιαστικά ζητάει το ίδιο πράγμα με την 2η εργασία κάνω copy-paste την απάντηση μου και μου το παίρνει λάθος
Τελικά το έλυσες το πρόβλημα με το wiener;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dinis on June 08, 2019, 21:55:10 pm
Παιδιά έχει κάνει κανείς πρόοδο τελικά με την άσκηση 4 ? Έχω και εγώ τα ίδια προβλήματα δεν χρησιμοποιώ πουθενά το c και στο v2, το lms το πήρα έτοιμο και έκανα μια προσπάθεια στο nlms και rls.

Αρχικά έτρεξα μόνο wiener και μ έβγαλε μερικώς σωστή με 0.08 μονάδες στις 1.00. Αυτό σημαίνει ότι το wienner είναι σωστό ή μερικώς σωστό ?
Κατόπιν έτρεξα ξεχωριστά το Lms και μου το έβγαλε τελείως λάθος.
Και τέλος τα έτρεξα όλα και μου έβγαλε μερικώς σωστή απάντηση με 0.08 που φαντάζομαι αντιστοιχεί στο πρώτο κομμάτι.

Καμία ιδέα κανείς ή τουλάχιστον έναν τρόπο να μπορέσω να κάνω επαλήθευση.   :-\ :-\


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on June 08, 2019, 22:28:49 pm
Τελικά το έλυσες το πρόβλημα με το wiener;
Παιδιά έχει κάνει κανείς πρόοδο τελικά με την άσκηση 4 ? Έχω και εγώ τα ίδια προβλήματα δεν χρησιμοποιώ πουθενά το c και στο v2, το lms το πήρα έτοιμο και έκανα μια προσπάθεια στο nlms και rls.

Αρχικά έτρεξα μόνο wiener και μ έβγαλε μερικώς σωστή με 0.08 μονάδες στις 1.00. Αυτό σημαίνει ότι το wienner είναι σωστό ή μερικώς σωστό ?
Κατόπιν έτρεξα ξεχωριστά το Lms και μου το έβγαλε τελείως λάθος.
Και τέλος τα έτρεξα όλα και μου έβγαλε μερικώς σωστή απάντηση με 0.08 που φαντάζομαι αντιστοιχεί στο πρώτο κομμάτι.

Καμία ιδέα κανείς ή τουλάχιστον έναν τρόπο να μπορέσω να κάνω επαλήθευση.   :-\ :-\

Και γω παίρνω 0.08/1 απ'το 1ο ερωτημα αρα φαντάζομαι αυτο ειναι το μαξ που μπορεις να πάρεις εκτός αν μας διαφεύγει ολων μας κάτι.

Όσον αφορά το LMS, δεν νομιζω το γεγονος οτι εχουμε συστημα για echo cancellation να επηρεάζει τη μορφή του αλγοριθμου, αρα η λυση της 2ης ασκησης θα πρεπε να ειναι σωστη. Δεν υποτιθεται οτο η συγκλιση του σφαλματος εξαρταται απο τα u,d που δινουμε εμεις?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dinis on June 09, 2019, 00:40:55 am
Και γω παίρνω 0.08/1 απ'το 1ο ερωτημα αρα φαντάζομαι αυτο ειναι το μαξ που μπορεις να πάρεις εκτός αν μας διαφεύγει ολων μας κάτι.

Όσον αφορά το LMS, δεν νομιζω το γεγονος οτι εχουμε συστημα για echo cancellation να επηρεάζει τη μορφή του αλγοριθμου, αρα η λυση της 2ης ασκησης θα πρεπε να ειναι σωστη. Δεν υποτιθεται οτο η συγκλιση του σφαλματος εξαρταται απο τα u,d που δινουμε εμεις?

Και εγώ δεν πιστεύω να έχει να κάνει με τo e. Το e λέει ότι είναι σφάλμα του desired με το output που πρέπει να τείνει στο μηδέν. Δεν έχω κάποια ιδέα όμως στο πως να συνεχίσω. ?

Έχει στείλει κανείς στο e-mail του να τον ρωτήσει για την άσκηση ? Εγώ του είχα στείλει για την ασκ3 και δεν μ είχε απαντήσει.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on June 09, 2019, 14:21:42 pm
καταφερε κανεις να παρεις 1/1 στην εργασια? εχω αρχισει να πιστευω οτι δεν ειναι δικο μου λαθος :P να ξερω να το ψαξω κι αλλο, η να κλαψω την μοιρα μου σε μια γωνια?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: JasonV97 on June 09, 2019, 18:53:30 pm
Απο μένα κλάψε ελεύθερα ^hello^ #0.33


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dinis on June 09, 2019, 18:55:37 pm
Λέγε μάστορα τι έκανες και πως ? Δώσε μας τα φώτα σου.  :o


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on June 09, 2019, 20:05:27 pm
Εγώ παίρνω 0,46 με συμπληρωμένα και τα 4 ερωτήματα.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on June 09, 2019, 21:57:35 pm
δεν παιρνω 1, αλλα 0.63.

Η λυση της 2ης εργασιας δεν δουλευει για το lms τωρα, καθως η εκφωνηση λεει να κανουμε προσαρμογη απο την πρωτη χρονικη στιγμη (και οχι μετα την m, οπως καναμε στην ασκηση 2).


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dimvasdim on June 10, 2019, 00:01:05 am
Εγώ παίρνω 0,63 αλλά δεν έχω σωστό το wiener. Καμιά βοήθεια μήπως για το wiener;  :D


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: fibonacci on June 10, 2019, 11:34:38 am
Εγώ παίρνω 0,63 αλλά δεν έχω σωστό το wiener. Καμιά βοήθεια μήπως για το wiener;  :D

Πως το έκανες ;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: kalopana on June 10, 2019, 12:13:55 pm
Ούτε εγώ χρησιμοποιήσα τα c και sigma_v2 και ο grader μου παίρνει την απάντηση μερικώς σωστή απ'ότι κατάλαβα. Επίσης για το function του LMS που ουσιαστικά ζητάει το ίδιο πράγμα με την 2η εργασία κάνω copy-paste την απάντηση μου και μου το παίρνει λάθος
Η διαφορά με τη 2η εργασία είναι ότι ενώ στη 2η όσο δεν είχες αρκετά δείγματα εισόδου (length(u_stream)<M) δεν υπολόγιζες φίλτρο και έδεινες έξοδο y=u, τώρα λέει από την αρχή να κάνεις την κανονική διαδικασία.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dimvasdim on June 10, 2019, 12:24:35 pm
Πως το έκανες ;


Έχω πάρει ακριβώς όλους τους αλγορίθμους όπως τους δίνει στις σημειώσεις. Μερικά σημεία που θέλουν προσοχή είναι πχ στον rls όταν αρχικοποιείς το P δεν πολλαπλασιάζεις τον μοναδιαίο με delta αλλά με 1/delta, όπως το έχει και το σκριπτάκι adaptRLS. Τώρα για τα υπόλοιπα όπως ειπώθηκε η λύση του lms για την 2η άσκηση δεν δουλεύει γιατί τώρα αρχίζουμε την προσαρμογή από την πρώτη χρονική στιγμή και όχι από την στιγμή που πάρουμε m τιμές.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 10, 2019, 12:28:00 pm
Ρε σεις, υποτειθεται οταν βαζουμε στους lms, rls, nlms ενα σημα που δημιουργήθηκε βασει των u, x, s AR διαδικασιών που δίνονται απο πάνω, οι αλγόριθμοι θα έπρεπε να συγκλίνουν προς τους w_o. ΆΡΑ αν βάλουμε m=4, τότε ο w_out θα πρέπει να συγκλίνει στα w_o που βρήκαμε στο πρώτο ερώτημα. Εγω όταν το κάνω αυτό, οι πρώτοι 3 συντελεστές συγκλίνουν, ενώ ο 4ος συγκλίνει στο μέτρο, αλλα έχει αντίθετο πρόσημο. έχει συμβει σε κανέναν αυτό; πως το αντιμετωπίσατε;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: thankara on June 10, 2019, 14:06:38 pm
Εγώ έχω τσεκάρει όλους τους αλγορίθμους τοπικά και τρέχουν αλλά όταν τα βάζω στο elearning μου πετάει "Test was aborted due to error". Καμία ιδέα?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dimvasdim on June 10, 2019, 14:19:19 pm
Έχει καταφέρει κανείς την άσκηση 2 από το πρότυπο εξετάσεων;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: 00128419 on June 10, 2019, 14:33:22 pm
Έχει καταφέρει κανείς την άσκηση 2 από το πρότυπο εξετάσεων;

Εγω πήρα σωστό αποτέλεσμα βρίσκοντας τα r(0) r(1) r(2) r(3) όπως στο ερωτημα α της τελευταιας εργασίας, μετα συμπληρωσα το διανυσμα r με 96 μηδενικα και τελος εκανα R=toeplitz(r)


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dimvasdim on June 10, 2019, 14:40:18 pm
Μα τα r(4), r(5) κτλπ δεν ειναι μηδεν εφοσον μπορουν να προκυψουν απο τις τιμες των προηγουμενων r. πχ r(4) = -a1 * r(3) - a2 * r(2) - a(3) * r(1) και αντιστοιχα βγαινουν και τα υπολοιπα r


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: delta on June 10, 2019, 14:54:03 pm
Μα τα r(4), r(5) κτλπ δεν ειναι μηδεν εφοσον μπορουν να προκυψουν απο τις τιμες των προηγουμενων r. πχ r(4) = -a1 * r(3) - a2 * r(2) - a(3) * r(1) και αντιστοιχα βγαινουν και τα υπολοιπα r

σωστο..για να υπολογισεις το R = 100x100 δεν χρειαζεσαι ενα σημα u = 100x1 το οποίο θα δημιουργηθεί απο μια AR διαδικασια?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Ap.Mor. on June 10, 2019, 15:21:40 pm
Έχει καταφέρει κανείς την άσκηση 2 από το πρότυπο εξετάσεων;

Σκέφτηκα την παρακάτω λύση, μου τη βγάζει λάθος προφανώς.
Σαν προσέγγιση μου φαίνεται σωστή όμως.

Code:
function [R] = solve( a, b, c, sigma_v1_sq, sigma_v2_sq )
  R = zeros(100,100);
  N=100;
  %Construct v1
  v1 = sqrt(sigma_v1_sq) * ones(N, 1);
  u = v1;
  %% Generating input signal
    u(2) =u(2) -a(1)*u(1);
    u(3) =u(3) -a(1)*u(2)-a(2)*u(1);
    for n = 4:N
        u(n)=u(n) -a(1)*u(n-1)-a(2)*u(n-2)-a(3)*u(n-3)+v1(n);
    end
  % Calculate autocorrelation (synarthsh apo dokimastiko quiz 2019)
  R = getCorr(u,N)
end  

function [R] = getCorr(x,m)  
n = length(x);
x = x(:);
U = toeplitz( [x; zeros(m-1,1)], [x(1) zeros(1,m-1)] );
R = U'*U/n;
end




Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: MrRobot on June 10, 2019, 15:41:12 pm
Επειδη θα σκάσω. Μπορεί κάποιος να μου πει τι κάνω λάθος στον LMS?? (για την πρωτη ασκηση του πρότυπου)

Code:
function y_n = myLMS(u_n, d_n, m, mu)

  persistent w u
 
  if isempty(w)
    w = zeros(m,1);
    u = zeros(m,1);
  end
 
  % your code here
  % refresh vector u
 
  u = [u_n; u(1:m-1)]
 
  % apply w to u
  y_n = w'*u;
 
  % your code here
  % update w for next iteration
  e = d_n - y_n;
  w = w + mu * u * e;
 
  end
 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: delta on June 10, 2019, 15:43:42 pm
y_n = w' *u
το λαθος ειναι εδω

θελεις μονο τα m προσφατα και ΟΧΙ ολο το u
Επειδη θα σκάσω. Μπορεί κάποιος να μου πει τι κάνω λάθος στον LMS?? (για την πρωτη ασκηση του πρότυπου)

Code:
function y_n = myLMS(u_n, d_n, m, mu)

  persistent w u
 
  if isempty(w)
    w = zeros(m,1);
    u = zeros(m,1);
  end
 
  % your code here
  % refresh vector u
 
  u = [u_n; u(1:m-1)]
 
  % apply w to u
  y_n = w'*u;
 
  % your code here
  % update w for next iteration
  e = d_n - y_n;
  w = w + mu * u * e;
 
  end
 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: Ap.Mor. on June 10, 2019, 15:53:37 pm
...
Εμένα μου φαίνεται ολόσωστο.
Έχω ακριβώς τον ίδιο κώδικα με τη διαφορά ότι κρατάω όλα τα στοιχεία στο u. Στις πράξεις αντί για u βάζω u(1:m) που είναι το ίδιο πράγμα με αυτό που κάνεις εσύ, αλλά ποτέ δεν ξέρεις με τον grader που μπλέξαμε :D


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dimvasdim on June 10, 2019, 15:54:11 pm
 σου λειπει ενα ερωτηματικο εκει που θετεις το u

Επειδη θα σκάσω. Μπορεί κάποιος να μου πει τι κάνω λάθος στον LMS?? (για την πρωτη ασκηση του πρότυπου)

Code:
function y_n = myLMS(u_n, d_n, m, mu)

  persistent w u
 
  if isempty(w)
    w = zeros(m,1);
    u = zeros(m,1);
  end
 
  % your code here
  % refresh vector u
 
  u = [u_n; u(1:m-1)]
 
  % apply w to u
  y_n = w'*u;
 
  % your code here
  % update w for next iteration
  e = d_n - y_n;
  w = w + mu * u * e;
 
  end
 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: MrRobot on June 10, 2019, 15:55:24 pm
σου λειπει ενα ερωτηματικο εκει που θετεις το u


Ναι, αυτο θα έγραφα τώρα


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 10, 2019, 16:39:17 pm
σωστο..για να υπολογισεις το R = 100x100 δεν χρειαζεσαι ενα σημα u = 100x1 το οποίο θα δημιουργηθεί απο μια AR διαδικασια?

ΑΝ τα θυμάμαι σωστα, με μαθηματικά καφενείου ισχύει το εξής: Το σήμα u είναι μια AR διαδικασία. Συνεπώς το u(n) θα συσχετίζεται με τον εαυτό του (δηλαδη θα αυτοσυσχετίζεται) με το u(παρελθοντικής στιγμής). Εφόσον απο τον τύπο της εκφώνησης βλέπουμε οτι υπάρχει συσχέτιση μέχρι και 3 χρονικές στιγμές πρίν, θα ορίζεται αυτοσυσχέτιση μέχρι 3 χρονικές στιγμές πρίν. Από 4 χρονικές στιγμές και πίσω το u(n) δεν επηρεάζει την τιμή του, άρα και η αυτοσυσχέτιση είναι 0


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: delta on June 10, 2019, 16:49:55 pm
ΑΝ τα θυμάμαι σωστα, με μαθηματικά καφενείου ισχύει το εξής: Το σήμα u είναι μια AR διαδικασία. Συνεπώς το u(n) θα συσχετίζεται με τον εαυτό του (δηλαδη θα αυτοσυσχετίζεται) με το u(παρελθοντικής στιγμής). Εφόσον απο τον τύπο της εκφώνησης βλέπουμε οτι υπάρχει συσχέτιση μέχρι και 3 χρονικές στιγμές πρίν, θα ορίζεται αυτοσυσχέτιση μέχρι 3 χρονικές στιγμές πρίν. Από 4 χρονικές στιγμές και πίσω το u(n) δεν επηρεάζει την τιμή του, άρα και η αυτοσυσχέτιση είναι 0

δεν τα θυμασαι καλα...οποιαδηποτε αυτοσυσχετιση επηρεαζεται απο τις 3 προηγουμενες της απο 4 και πανω


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: A Caster on June 10, 2019, 17:45:12 pm
ΑΝ τα θυμάμαι σωστα, με μαθηματικά καφενείου ισχύει το εξής: Το σήμα u είναι μια AR διαδικασία. Συνεπώς το u(n) θα συσχετίζεται με τον εαυτό του (δηλαδη θα αυτοσυσχετίζεται) με το u(παρελθοντικής στιγμής). Εφόσον απο τον τύπο της εκφώνησης βλέπουμε οτι υπάρχει συσχέτιση μέχρι και 3 χρονικές στιγμές πρίν, θα ορίζεται αυτοσυσχέτιση μέχρι 3 χρονικές στιγμές πρίν. Από 4 χρονικές στιγμές και πίσω το u(n) δεν επηρεάζει την τιμή του, άρα και η αυτοσυσχέτιση είναι 0

αυτο που λες ειναι μερική αυτοσυσχέτιση. Μπορείς να δεις κάποια αναλυτικότερα πράγματα εδώ :
http://users.auth.gr/dkugiu/Teach/TimeSeriesTHMMY/TimeSeriesNotes.pdf (http://users.auth.gr/dkugiu/Teach/TimeSeriesTHMMY/TimeSeriesNotes.pdf)
Στα κεφάλαια 3.2 και 3.3 (τα σχηματάκια φτάνουν).

Τωρα στο προτυπο οντως τα εχει βαλει μαλλον με το χερι 0. Εγω για να τα υπολογίσω έφτιαξα σε 2 λουπες τον πίνακα με τα στοιχεία του a ο οποιος πολλαπλασιάζεται με το διάνυσμα των αυτοσυσχετισεων για να βγαλει το δεξι κομματι (που ειναι: το πρωτο στοιχειο το s_v1^2 kαι τα υπολοιπα μηδενικα)

Δηλαδή έκανα το A*r = [S^2; zeros(99,1)]  ( Yule - Walker Equations)

και βρήκα το r = A \ [S^2; zeros(99,1)] , R = toeplitz(r).

Προφανως το πηρε λαθος αλλα αυτός ειναι ο σωστός (μόνος?) τρόπος να υπολογίζεις αυτοσυσχετίσεις εως αυθαίρετα μεγάλο αριθμό νομίζω.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: JohnFli on June 10, 2019, 18:05:57 pm
Παιδιά είναι η  άσκηση 1.1 από το φυλλάδιο των ασκήσεων.

Αρκεί απλά να κάνετε r = [r ; zeros(96,1)]; με r = [ r(1); r(2); r(3); r(4) ] όπως τα υπολογίσατε από τις Yule-Walker και φυσικά R = toeplitz(r);


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: thankara on June 10, 2019, 18:49:51 pm
Τελικά έχουμε κολλήσει στο 0.63/1.00 έτσι? Υπάρχει κάποιος που πήρε παραπάνω? Έχω συγκρίνει όλους του αλγορίθμους με την leastMeanSquareGold και παίρνω τα ίδια αποτελέσματα (με ένα σφάλμα 10^-4 που λογικά εξαρτάται από τις παραμέτρους εισόδου (alpha delta mu κλπ) που δίνω εγώ).


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: leukosaraphs! on June 10, 2019, 19:03:44 pm
Τελικά έχουμε κολλήσει στο 0.63/1.00 έτσι? Υπάρχει κάποιος που πήρε παραπάνω? Έχω συγκρίνει όλους του αλγορίθμους με την leastMeanSquareGold και παίρνω τα ίδια αποτελέσματα (με ένα σφάλμα 10^-4 που λογικά εξαρτάται από τις παραμέτρους εισόδου (alpha delta mu κλπ) που δίνω εγώ).

εδω και 3 μερες  :D
και ο φλωρος δεν απανταει στα μαιλ μου :P


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: achariso on June 10, 2019, 23:46:25 pm
Παιδιά, επειδή δεν έκανα το 2η εργασία ( τις έπιασα από την 3η και τώρα την τέταρτη ), τί είναι τα u_stream; Δηλ. τι θά έχουν τα args της συνάρτησης;

π.χ. για τον RLS, εάν τα u και τα d ήταν ολόκληρα τα σήματα ( όχι ως streams ), ο παρακάτω κώδικας έχω τεστάρει ότι δουλεύει και προσεγγίζει καλά τους συντ/τές Wiener:
Code:
function [y,w_out] = rls(u, d, m, lambda, delta)
% RLS adaptation
%   
 
  %persistent w
  %persistent u_stream
  %persistent P
 
    u = u(:);
    d = d(:);
    n = length(u);

    P = delta * eye(m);
    w_out = zeros(m, 1);
    y = zeros(size(u));
    e = zeros(size(u));

    for i = (m + 1):n
        ubar = u(i:-1:i - m + 1);
        y(i) = w_out.' * ubar;
        k = 1 / lambda * P * ubar / (1 + 1 / lambda * ubar' * P * ubar);
        e(i) = d(i) - y(i);
        w_out = w_out + k * e(i);
        P = 1 / lambda * P - 1 / lambda * k * ubar.' * P;
    end
 
end

Ωστόσο, τώρα μου το απορρίπτει, ( ενώ δέχεται την συνάρτηση wiener(), δηλ. μου δίνει 0.25/1.00 ).
Btw, ούτε εγώ χρησιμοποιώ το c και sigma_v2 στην wiener():
Code:
function [R, p, w_o] = wiener( a, b, ~, sigma_v1, ~ )

    %% Reformat args
    a = [1; a(:)];


    %% Υπολογισμός πίνακα αυτοσυσχέτισης
    A = [...
        a(1) a(2) a(3) a(4);...
        a(2) a(1)+a(3) a(4) 0;...
        a(3) a(2)+a(4) a(1) 0;...
        a(4) a(3) a(2) a(1);...
    ];
   
    B = [sigma_v1; 0; 0; 0];
   
    r = A \ B;
    R = toeplitz(r);    % πίνακας αυτοσυσχέτισης
   
    %% Υπολογισμός διανύσματος ετεροσυσχέτισης
    p = R * (-b');
   
    %% Υπολογισμός Wiener Coefficients
    w_o = R \ p;
 
end


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: MrRobot on June 10, 2019, 23:49:48 pm
Σου δίνει σαν όρισμα το u(n), δηλαδή το u σε κάθε στιγμή. Αυτό το περνάς στο u_stream. Στη προηγούμενη σελίδα έχω ανεβάσει ένα κομμάτι κώδικα για την LMS. Θα καταλάβεις τι πρέπει να κάνεις.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dinis on June 11, 2019, 00:15:41 am
Παιδιά υπάρχει περίπτωση να έχει κάνει κάποιο λάθος με τον έλεγχο στο e-learning. Δεν γίνεται να έχουμε κολλήσει όλοι στο 0.63.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: A Caster on June 11, 2019, 02:36:00 am
Παιδιά υπάρχει περίπτωση να έχει κάνει κάποιο λάθος με τον έλεγχο στο e-learning. Δεν γίνεται να έχουμε κολλήσει όλοι στο 0.63.

ε εκει εχουμε καταλήξει όλοι, ότι μάλλον υπάρχει κάποιο πρόβλημα στον έλεγχο. Από ότι φαίνεται γίνονται 2 δοκιμές σε κάθε ενα από τα rls / lms / nlms και περνάει μόνο τον πρώτο, αρα παίρνουμε όλοι 0.13 από κάθε ένα, συν 0.25 από το wiener. 


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: chamezos on June 11, 2019, 11:17:38 am
Παιδιά, επειδή δεν έκανα το 2η εργασία ( τις έπιασα από την 3η και τώρα την τέταρτη ), τί είναι τα u_stream; Δηλ. τι θά έχουν τα args της συνάρτησης;

π.χ. για τον RLS, εάν τα u και τα d ήταν ολόκληρα τα σήματα ( όχι ως streams ), ο παρακάτω κώδικας έχω τεστάρει ότι δουλεύει και προσεγγίζει καλά τους συντ/τές Wiener:
Code:
function [y,w_out] = rls(u, d, m, lambda, delta)
% RLS adaptation
%   
 
  %persistent w
  %persistent u_stream
  %persistent P
 
    u = u(:);
    d = d(:);
    n = length(u);

    P = delta * eye(m);
    w_out = zeros(m, 1);
    y = zeros(size(u));
    e = zeros(size(u));

    for i = (m + 1):n
        ubar = u(i:-1:i - m + 1);
        y(i) = w_out.' * ubar;
        k = 1 / lambda * P * ubar / (1 + 1 / lambda * ubar' * P * ubar);
        e(i) = d(i) - y(i);
        w_out = w_out + k * e(i);
        P = 1 / lambda * P - 1 / lambda * k * ubar.' * P;
    end
 
end

Ωστόσο, τώρα μου το απορρίπτει, ( ενώ δέχεται την συνάρτηση wiener(), δηλ. μου δίνει 0.25/1.00 ).
Btw, ούτε εγώ χρησιμοποιώ το c και sigma_v2 στην wiener():
Code:
function [R, p, w_o] = wiener( a, b, ~, sigma_v1, ~ )

    %% Reformat args
    a = [1; a(:)];


    %% Υπολογισμός πίνακα αυτοσυσχέτισης
    A = [...
        a(1) a(2) a(3) a(4);...
        a(2) a(1)+a(3) a(4) 0;...
        a(3) a(2)+a(4) a(1) 0;...
        a(4) a(3) a(2) a(1);...
    ];
   
    B = [sigma_v1; 0; 0; 0];
   
    r = A \ B;
    R = toeplitz(r);    % πίνακας αυτοσυσχέτισης
   
    %% Υπολογισμός διανύσματος ετεροσυσχέτισης
    p = R * (-b');
   
    %% Υπολογισμός Wiener Coefficients
    w_o = R \ p;
 
end

Τα ορίσματα των συναρτήσεων lms, rls, nlms είναι όλα scalar. Βασισμένος στη λύση της δεύτερης εργασίας, το u_stream είναι ένας vector κοινός για τις συναρτήσεις όπου στην αρχή κάθε συνάρτησης μπορείς να βάλεις το u(n) που έρχεται σαν όρισμα κάπως έτσι: u_stream = [u ; u_stream] και να έχεις ουσιαστικά το σήμα u = [ u(n) ; u(n-1) ;.... u(0)]. Δες τον κώδικα που δίνει αυτός σα λύση για την δεύτερη εργασία


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: annaTZ on June 11, 2019, 14:06:42 pm
Μπορει κανεις να μου εξηγησει τι κανω λαθος στην 4η ασκηση? Παιρνω 0.25, δηλαδη ο wiener βγαινει σωστος αλλα τα υπολοιπα οχι...
Δεν μπορω να καταλαβω γιατι, τα κανω οπως ο φλωρος στην απαντηση που ειχε δωσει σε προηγουμενη ασκηση

Code:
function [y,w_out] = lms(u, d, m, mu)
% LMS - Least Mean Square adaptation
%  
 
  persistent w
  persistent u_stream
  
  % initialize w
  if isempty(w)
    w = zeros( m, 1 );
  end
  
  u_stream(end+1, 1) = u;
 
  if length( u_stream ) < m                
    y = 0;  
  else                                  
    % compute output
    y = w' * u_stream(end:-1:end-m+1);  
    % get error
    e = d - y;
    
    if length( u_stream ) > m    
      % update weights
      w = w + mu * e * u_stream( end:-1:end-m+1 );      
    end    
  end
  
  if nargout > 1
    w_out = w;
  end

end



Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: BIC on June 12, 2019, 23:42:51 pm
Code:
[quote author=annaTZ link=topic=74039.msg1297525#msg1297525 date=1560251202]
Μπορει κανεις να μου εξηγησει τι κανω λαθος στην 4η ασκηση? Παιρνω 0.25, δηλαδη ο wiener βγαινει σωστος αλλα τα υπολοιπα οχι...
Δεν μπορω να καταλαβω γιατι, τα κανω οπως ο φλωρος στην απαντηση που ειχε δωσει σε προηγουμενη ασκηση

[/quote]

Και εγώ ακριβώς το ίδιο θέμα έχω, ξέρει κανείς τι παίζει??   :-\


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: BIC on June 12, 2019, 23:54:18 pm
Η διαφορά με τη 2η εργασία είναι ότι ενώ στη 2η όσο δεν είχες αρκετά δείγματα εισόδου (length(u_stream)<M) δεν υπολόγιζες φίλτρο και έδεινες έξοδο y=u, τώρα λέει από την αρχή να κάνεις την κανονική διαδικασία.

Δηλαδή αν βγάλουμε το if και αφήσουμε μόνο τον κώδικα που ήταν μέσα στο else θα τρέξει? (ρωτάω γιατί δεν έχω άλλες προσπάθειες να δοκιμάσω)


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: annaTZ on June 12, 2019, 23:57:04 pm
Δηλαδή αν βγάλουμε το if και αφήσουμε μόνο τον κώδικα που ήταν μέσα στο else θα τρέξει? (ρωτάω γιατί δεν έχω άλλες προσπάθειες να δοκιμάσω)

Εγω μια φορά το δοκίμασα βγάζοντας τα if αλλά δε μου το πήρε σωστό... Βέβαια ποιος ξέρει, ίσως έκανα κάποια άλλη βλακεια και δεν το κατάλαβα... Παίζει να μου έχει μείνει μόνο μια προσπάθεια και φοβάμαι να το επιχειρισω πάλι


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: dinis on June 13, 2019, 00:43:00 am
Εγω μια φορά το δοκίμασα βγάζοντας τα if αλλά δε μου το πήρε σωστό... Βέβαια ποιος ξέρει, ίσως έκανα κάποια άλλη βλακεια και δεν το κατάλαβα... Παίζει να μου έχει μείνει μόνο μια προσπάθεια και φοβάμαι να το επιχειρισω πάλι

Δηλαδή αν βγάλουμε το if και αφήσουμε μόνο τον κώδικα που ήταν μέσα στο else θα τρέξει? (ρωτάω γιατί δεν έχω άλλες προσπάθειες να δοκιμάσω)

Στην ουσία αυτό που ζητάει η εκφώνηση και εκεί την πατήσαμε πολλοί είναι ότι θέλει να κάνεις προσαρμογή από την πρώτη χρονική στιγμή υποθέτοντας όλες τις υπόλοιπες ότι είναι ίσες με μηδέν. Στην άσκηση δύο μας έλεγε συγκεκριμένα ότι μέχρι να έχουμε αρκετές χρονικές στιγμές (δηλαδή m σε πλήθος) να θέτουμε την έξοδο ίση με το u και για αυτό παίρναμε τις περιπτώσεις if length(u)<m. Τώρα δεν χρειάζονται οι If γιατί αρχικοποιείς τον u_steam με m μηδενικά όπως το ζητάει στην εκφώνηση.  Άρα εκεί που κάνεις Initialize τον w πρέπει να κάνεις και τον u_stream με τον ίδιο τρόπο. Με τον ίδιο τρόπο σου ζητάει να ξεκινάς και στα υπόλοιπα (nlms, rls). Αλλά και πάλι θα στην παίρνει μερικώς σωστή την άσκηση και δεν ξέρω γιατί. Εκεί έχουμε κολλήσει όλοι.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: achariso on June 13, 2019, 06:55:47 am
Παιδιά, εμένα μου παίρνει σωστή την wiener(), 0.13 στην lms() και στην nlms() ωστόσο δεν μου δίνει τίποτα στην rls().
O κώδικας είναι αυτός και όταν τον τρέχω στο Matlab μου δίνει κοντινά μεν με μεγάλη διακύμανση δε αποτελέσματα με την wiener():
Code:
function [y,w_out] = rls(u, d, m, lambda, delta)
% LMS - RLS adaptation
%   
 
    persistent w u_stream P
    if isempty( u_stream )
       
        P = delta * eye( m );
        w = zeros( m, 1 );
        u_stream = [ u; zeros( (m - 1),1 ) ];
       
    else
       
        u_stream = [ u; u_stream( 1 : ( m - 1 ) ) ];
       
    end   
   
    %% LMS Part
    y = w' * u_stream;      % filter input
    e = d - y;            % compute error
   
    %% RLS Part
    k = 1 / lambda * P * u_stream / (1 + 1 / lambda * u_stream' * P * u_stream);
    P = 1 / lambda * P - ( 1 / lambda ) * k * u_stream.' * P;
    w = w + k * e;          % get next Wiener approximation
   
    w_out = w;
 
end

Παίζει να βλέπει κανείς που μπορεί να είναι το λάθος;


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: apooreapo on June 13, 2019, 14:02:19 pm
Θέλει 1/delta * eye, οχι delta*eye


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: annaTZ on June 13, 2019, 16:07:47 pm
Στην ουσία αυτό που ζητάει η εκφώνηση και εκεί την πατήσαμε πολλοί είναι ότι θέλει να κάνεις προσαρμογή από την πρώτη χρονική στιγμή υποθέτοντας όλες τις υπόλοιπες ότι είναι ίσες με μηδέν. Στην άσκηση δύο μας έλεγε συγκεκριμένα ότι μέχρι να έχουμε αρκετές χρονικές στιγμές (δηλαδή m σε πλήθος) να θέτουμε την έξοδο ίση με το u και για αυτό παίρναμε τις περιπτώσεις if length(u)<m. Τώρα δεν χρειάζονται οι If γιατί αρχικοποιείς τον u_steam με m μηδενικά όπως το ζητάει στην εκφώνηση.  Άρα εκεί που κάνεις Initialize τον w πρέπει να κάνεις και τον u_stream με τον ίδιο τρόπο. Με τον ίδιο τρόπο σου ζητάει να ξεκινάς και στα υπόλοιπα (nlms, rls). Αλλά και πάλι θα στην παίρνει μερικώς σωστή την άσκηση και δεν ξέρω γιατί. Εκεί έχουμε κολλήσει όλοι.

Ευχαριστούμε! Στο 0.63 έχουν κολλήσει όλοι?


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: annaTZ on June 13, 2019, 16:11:41 pm
Εδώ είναι η λύση που έβαλα τελικά εγω.
Code:
function [R,p,w_o] = wiener( a, b, c, sigma_v1, sigma_v2 )
 
    a = [1; a(:)];

    A = [a(1) a(2) a(3) a(4); a(2) a(1)+a(3) a(4) 0; a(3) a(2)+a(4) a(1) 0; a(4) a(3) a(2) a(1)];
   
    B = [sigma_v1; 0; 0; 0];
   
    r = A \ B;
    R = toeplitz(r);
   
    p = R * (-b');
   
    w_o = R \ p;
 
end


function [y,w_out] = lms(u, d, m, mu)
% LMS - Least Mean Square adaptation
%   
 
  persistent w
  persistent u_stream
 
 
  % initialize
  if isempty(w)
    w = zeros( m, 1 );
    u_stream = zeros(m,1);
  end
 
  u_stream(end+1, 1) = u;
                           
   
    % compute output
    y = w' * u_stream(end:-1:end-m+1);
   
    % get error
    e = d - y;
   
                     
   
      % update weights
      w = w + mu * e * u_stream( end:-1:end-m+1 );

 

  if nargout > 1
    w_out = w;
  end
 
 
end


function [y,w_out] = nlms(u, d, m, mu, alpha)
% LMS - Least Mean Square adaptation
%   
 
  persistent w
  persistent u_stream
 
 
  % initialize
  if isempty(w)
    w = zeros( m, 1 );
    u_stream = zeros(m,1);
  end
 
  u_stream(end+1, 1) = u;

 
                       
   
    % compute output
    y = w' * u_stream(end:-1:end-m+1);
   
    % get error
    e = d - y;

      % update weights
      w = w + mu * e * u_stream( end:-1:end-m+1 )/ (alpha + u_stream( end:-1:end-m+1 )' * u_stream( end:-1:end-m+1 ));
     

   


  if nargout > 1
    w_out = w;
  end
 
 
end



function [y,w_out] = rls(u, d, m, lambda, delta)
% LMS - RLS adaptation
%   
   
  persistent w
  persistent u_stream
  persistent P
 
 
  % initialize
  if isempty(w)
    w = zeros( m, 1 );
    u_stream = zeros(m,1);
  P = (1 / delta) * eye(m, m);
     
  end
 
  u_stream(end+1, 1) = u;

                         
   
    % compute output
    y = w' * u_stream(end:-1:end-m+1);
   
    % get error
    e = d - y;
   
 
      %compute k
      k = ((lambda^-1) * P * u_stream( end:-1:end-m+1 ) / (1 + (lambda^-1) * u_stream( end:-1:end-m+1 )'* P * u_stream( end:-1:end-m+1 )));

                               
                                 
      % update weights
      w = w + k * e;
     
      %compute P
      P = (lambda^-1) * P - (lambda^-1) * k * u_stream( end:-1:end-m+1 )' * P;
     


  if nargout > 1
    w_out = w;
  end
 
 
end
Όποιος θέλει το παίρνει. Ο βαθμός του είναι 0.63.


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: menelaos619 on September 03, 2019, 19:23:53 pm
Καλησπέρα,

επειδή δεν είχα κάνει την 1η άσκηση, μπορεί κάποιος να στείλει την εκφώνηση της (ίσως και την λύση της) μια screenshot;

Ευχαριστώ


Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: koukoutek on September 04, 2019, 19:56:58 pm
Καλησπέρα,

επειδή δεν είχα κάνει την 1η άσκηση, μπορεί κάποιος να στείλει την εκφώνηση της (ίσως και την λύση της) μια screenshot;

Ευχαριστώ



Title: Re: [Ψηφιακά Φίλτρα] Απορίες σε ασκήσεις 2019
Post by: menelaos619 on September 07, 2019, 15:15:43 pm
Σε ευχαριστώ συνάδελφε  :)