Nerio Triger Δημοσ. 8 Δεκεμβρίου 2006 Δημοσ. 8 Δεκεμβρίου 2006 Γεια σε όλους παιδιά.Σπουδάζω Λαμία κ έχω μια άσκηση στη matlab που πιάνει 30% του βαθμού.Δεν τη παλεύω όμως καθόλου με το μάθημα κ επίσης δεν ξέρω μία από matlab.Αν κάποιος καλός χριστιανός προσπαθήσει να μου τη λύσει,τον ευχαριστώ εκ των προτέρων.Ένας απελπισμένος φοιτητής... ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ΔΕΔΟΜΕΝΑ looney.wav Huffman_code.m ΖΗΤΟΥΜΕΝΑ 1. Υλοποιήστε ομοιόμορφο κβαντιστή, ο οποίος θα παίρνει σαν παράμετρο τον αριθμό των bits. Για το δεδομένο σήμα (looney.wav) να γίνει κβαντισμός με 8 και 4 bits. Σε κάθε περίπτωση, στην έξοδο του κβαντιστή υπολογίστε: • το μέσο τετραγωνικό σφάλμα ανάμεσα στο αρχικό και το κβαντισμένο σήμα • το SQNR (Signal to Quantization Noise Ratio) • την εντροπία • το μέσο ρυθμό πληροφορίας Σχολιάστε τα αποτελέσματα. 2. Χρησιμοποιήστε τη συνάρτηση Huffman_code που σας δίνεται, προκειμένου να κωδικοποιήσετε την έξοδο του κβαντιστή. Υπολογίστε • το μέσο μήκος κώδικα • την αποδοτικότητα του κώδικα Σχολιάστε τα αποτελέσματα. 3. Έστω το διάνυσμα πιθανοτήτων • Υπολογίστε την εντροπία. • Βρείτε τις κωδικές λέξεις που προκύπτουν από τον κώδικα Huffman. • Υπολογίστε το μέσο μήκος και την αποδοτικότητα του κώδικα. Τι παρατηρείτε; Εξηγήστε τα αποτελέσματα που προκύπτουν. Παραδοτέα Τεχνική αναφορά με συνοπτική παρουσίαση της εκάστοτε μεθοδολογίας και των αποτελεσμάτων, καθώς και σχετικές παρατηρήσεις ή εξηγήσεις. Η αναφορά πρέπει να έχει παράρτημα με τον κώδικα. Συναρτήσεις και αποτελέσματα (ενδιάμεσα και τελικά) σε ηλεκτρονική μορφή. Πρακτικά Ζητήματα Περιβάλλον υλοποίησης: MATLAB. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση wavread για να διαβάσετε το αρχείο looney.wav και τη συνάρτηση sound για να ακούσετε το σήμα. Έχει δώσει αυτό το κώδικα Huffman_code function codewords=Huffman_code(p) %p: probability vector n=length(p); q=p; m=zeros(n-1,n); for i=1:n-1 [q,l]=sort(q); m(i,=[l(1:n-i+1), zeros(1,i-1)]; q=[q(1)+q(2), q(3:n), 1]; end for i=1:n-1 c(i,=blanks(n*n); end c(n-1,n)='0'; c(n-1,2*n)='1'; for i=2:n-1 c(n-i,1:n-1)=c(n-i+1,n*find(m(n-i+1,==1)-(n-2):n*find(m(n-i+1,==1)); c(n-i,n)='0'; c(n-i,n+1:2*n-1)=c(n-i,1:n-1); c(n-i,2*n)='1'; for j=1:i-1 c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(m(n-i+1,==j+1)-1)+1:n*find(m(n-i+1,==j+1)); end end for i=1:n codewords(i,1:n)=c(1,n*(find(m(1,==i)-1)+1:find(m(1,==i)*n); end
bandito Δημοσ. 8 Δεκεμβρίου 2006 Δημοσ. 8 Δεκεμβρίου 2006 Γεια σε όλους παιδιά.Σπουδάζω Λαμία κ έχω μια άσκηση στη matlab που πιάνει 30% του βαθμού.Δεν τη παλεύω όμως καθόλου με το μάθημα κ επίσης δεν ξέρω μία από matlab.Αν κάποιος καλός χριστιανός προσπαθήσει να μου τη λύσει,τον ευχαριστώ εκ των προτέρων.Ένας απελπισμένος φοιτητής... We will not do your homework!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.