Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα θέλω να ρωτήσω πως μπορώ να βρω τι μέγεθος θα έχει ένα αρχείο μουσικής το οποίο θα είναι 5 λεπτών θα έχει 65000 σταθμες(ναι δε ξέρω έτσι μου το δώσανε και εμένα και δε μπορώ να κτλβω τι εννοεί με το στάθμες) και 20000hz.

 

 

Ποια είναι η πράξη που πρέπει να γίνει και πως βρίσκω και τα bps?(bits per seconds)

Δημοσ.

Φαντάζομαι , χρειαζεσαι 16 bit για τις 65000 στάθμες (2^16=65536)

 

20000 hz = 20000 κυκλοι το δευτερολεπτο αρα * 16 bit = 320000 bit ανα δευτερολεπτο.

 

Και σε 5 λεπτα = 60 * 5 * 320000 = 96.000.000 bit = 12.000.000 byte (δια 8) = περιπου 11.4 Mbyte

 

Fixed :P

Δημοσ.

και τα 20000hz γιατί τα έδωσε?

Αν θυμάμαι καλά τις στάθμες με τα hz κάνεις την πράξη για να δεις το bps και μετά κάνεις bps με second για να βρεις το μέγεθος...

Δημοσ.

εε αυτό θέλω και εγώ να μάθω αλλά δεν κατάφερα... γιαυτό και πόσταρα εδώ μέσα μήπως κάποιος καταλάβει.

Το bps(ή kbps) με ποια πράξη βγαίνει?

Δημοσ.

Xvipes στο έκανα. κοιτα παραπάνω.

Στάθμες εννοεί τις διακριτές τιμές του σήματος που φέρει την πληροφορία. (όχι του φέροντος :P )

Δηλαδή απο το όλο φασμα των τιμών πόσες θέλουμε να αναπαρασταθούν σαν ξεχωριστές.

Δημοσ.

Ναι τώρα είδα την απάντηση σου!

Έχεις κάνει ένα λάθος ή εγώ δε κατάλαβα σωστά.

Όταν λες οτι κάνεις το 20000hz * 16 αυτό μας κάνει 320000 και όχι 32000 άρα λογικά το αρχείο βγαίνει 12mb.

 

Στα αγγλικά ποια είναι η ορολογία για την λέξη στάθμες?

 

Επίσης γιατί το έκανες επί 16bit και όχι επί 65000? όποτε μου δίνει στάθμες θα πρέπει να βρίσκω πόσα bit είναι?

Δημοσ.

Απαντω γρηγορα και μετα θα κανω εντιτ να προσθεσω

 

Ναι εχω κανει λαθος στην πραξη

 

ψαχνω την αγγλικη εκφραση

Μάλλον η φραση είναι finite output values.

 

επανερχομαι σε λιγο.

 

Τα αναλογικά σήματα που παράγονται από τη φωνή μας ή από τη λήψη μίας εικόνας πρέπει να αποσταλούν σαν ψηφιακό σήμα με τη χρήση Η/Μ κυμάτων.Τα σήματα αυτά δεν έχουν πεπερασμένο πλήθος τιμών σε αντίθεση με τα ψηφιακά.

Οι βασικές διαδικασίες για την ψηφιοποίηση των αναλογικών σημάτων είναι η δειγματοληψία και η κβάντιση.Το αναλογικό σήμα πρώτα δειγματοληπτείται και μετά κβαντίζεται

Η δειγματοληψία έχει ως αποτέλεσμα τη δημιουργία παλμών μεταβλητής έντασης (π.χ. σε V) που κυμαίνονται μεταξύ δύο ορίων (Vmin, Vmax). Οι τιμές του πλάτους είναι άπειρες μεταξύ των δύο ορίων.Για την τελική ψηφιοποίηση του σήματος θα πρέπει να αντιστοιχίσουμε τις άπειρες τιμές σε ένα πλήθος διακριτών εκ των προτέρων καθορισμένων τιμών(κβάντιση).Ο πιο απλός τρόπος είναι να διαιρέσουμε την απόσταση μεταξύ Vmin, Vmax σε Ν ζώνες έντασης Δ η κάθε μία.

∆ = (Vmax - Vmin)/Ν

To τελικό στάδιο είναι η ψηφιοποίηση. Κάθε ζώνη αποκτά μία δυαδική κωδικοποίηση. Ο αριθμός των bit για κάθε ζώνη δίνεται από τη σχέση n = log(2)Ν

Π.χ. αν Ν=8 (8 διακριτές στάθμες) τότε οι ζώνες αποκτούν δυαδική οντότητα όπως παρακάτω

000, 001, 010, 011, 100, 101, 110, 111

 

Εδω τα εξηγεί αναλυτικότατα.

Δημοσ.

Λοιπόν τα Hz (παλμοί ανά μονάδα χρόνου -εδώ το δευτερόλεπτο - ) τα αναφέρει για να σου δείξει ποσα δείγματα πήρε από το πηγαίο κομμάτι (ασυμπιεστο ήχο)

 

είναι ένας τρόπος συμπίεσης (πχ mp3) ουσιαστικά το αρχείο αυτό παίζει έναν διακεκομμένο ήχο απλά η απόσταση του ενός δείγματος από το άλλο είναι τόσο μικρή που το μυαλό μας δεν την αντιλαμβάνεται και έχουμε την ψευδαίσθηση πως ακούμε συνεχόμενο ήχο... έτσι γλιτώνουμε χώρο στον δίσκο ενώ παράλληλα έχουμε το ίδιο ηχητικό αποτέλεσμα (στα πλαίσια της ανθρώπινης αντίληψης)

 

(πχ είναι όπως τα frames που το μάτι μας δεν αντιλαμβάνεται πάνω από 25 κτλ )

 

Τώρα οι "στάθμες" είναι (αυτό κατάλαβα εγώ) το βάθος της εκάστοτε δειγματοληψίας, δηλαδή ok παίρνουμε 20.000 δείγματα κάθε δευτερόλεπτο... αλλα τι είναι αυτά τα 20.000 δείγματα? από τι αποτελούνται? (πια είναι η ανάλυση τους δηλαδή)

 

η ανάλυση του δείγματος μετριέται σε bit

 

εδώ προφανώς η ανάλυση του δείγματος είναι μια λέξη ανά hz (λέξη = word = 2x 8bit bytes)

 

αν η δειγματοληψία έχει βάθος ένα word τότε δεν μπορεί να έχει παραπάνω από 65535 στάθμες (1111 1111 1111 1111)

 

το δικό σου δείγμα συνεχίζει να είναι 16 bit αλλα είναι της μορφής: 1111 1101 1110 1000 (γιατί? γιατί 2^16 = 65536 και όχι 65000! οποτε πρέπει να <<μηδενίσεις>> μερικά ασήμαντα bit για να πάρεις την ανάλυση που ζητάει.

 

Δηλαδή τι έκανα? έβγαλα το bit της ενατης θέσης (2^9 = 512 ) της έκτης (2^6 = 16) της θέσης 0 (2^0=1) 1 (2^1= 2) 2 (2^2=4)

 

512 + 16 + 4 + 2 + 1 = 536 (1)

(1)-> 6536 - 536 = 65000 άρα επαληθεύσαμε την ανάλυση κάθε δείγματος η αλλιώς το βάθος δειγματοληψίας (μάλλον αυτό εννοεί με την λέξη στάθμες και αυτό γιατί όσο πιο σημαντικό είναι ένα bit σε ενα δειγμα (όσο μεγαλύτερη θέση έχει δηλαδή = όσο μεγαλύτερη δύναμη έχει) τόσο μεγαλώνει η στάθμη της έντασης του ήχου σε db στο δειγμα αυτο)

 

Το αρχείο λοιπόν που υπολογίζουμε τώρα μπορεί να αποδώσει έως 96db

 

αν είχε 65536 στάθμες τότε θα χρειαζόμασταν τουλάχιστον 17 θέσεις για να παραστήσουμε το βάθος των bit (0001 0000 0000 0000 0000) άρα το βάθος θα ήταν 24 ή 32 bit και θα μπορούσε να αποδώσει έως 145dB η άπειρα dB(θεωρητικά)αντίστοιχα.

 

Αυτά απλά αναφορικά για το για πιο λόγο μιλάμε για στάθμες (δηλαδή κάθε στάθμη αντιπροσωπεύει μια θέση bit μέσα σε ένα δείγμα με την χαμηλότερη στάθμη να βρίσκετε στο LSB -less significant bit- και την μεγαλύτερη να βρίσκετε στο MSB -most significant bit- του δείγματος)

 

βασικά κάπως έτσι... :P

 

κατά τα αλλα κανεις ότι έδειξε ο Pantelwolf

 

 

Epipleon omos prepei na gnorizeis kai ta kanalia (mono,stereo κτλ) πολλαπλασιάζεις το αποτέλεσμα με τα αντίστοιχα κανάλια. το αποτέλεσμα του Pantelwolf βασίζεται στην προϋπόθεση ότι μιλάμε για mono κομμάτι.

 

EDIT: @Pantelwolf Με προλάβανε τα γεγονότα... όσο για αυτό που είπες δεν έχεις λάθος στις πράξεις η λογική από πίσω έχει κάποιες ελλείψεις κατά τα αλλα έτσι θα υπολογίσει το μέγεθος του αρχείου.

Δημοσ.

I love insomnia.Ευχαριστώ πολύ παιδιά.πραγματικά και οι 2 βοήθειες ήταν ότι ακριβώς έψαχνα εδώ και ώρα στο google μάταια(γαμώ τα ελληνικά μου-"στάθμες").

 

Μια τελευταία ερώτηση.Ποια είναι η πράξη που θα μπορούσα να κάνω στο κομπιουτεράκι για να βρω τα bit πέρα από το να κάνω κάθε φορά 2^16 να βλέπω το αποτέλεσμα μετά να κάνω 2^17 κλπ κλπ κλπ?

Τι εννοώ?Αν μου δώσει κάποιος 12378734534212στάθμες ποια είναι η πράξη που θα πρέπει να κάνω με αυτό το νούμερο για να βρω πόσα bit είναι?

 

Λογικά το ανέφερες στο ποστ σου Pantelwolf αλλά δεν το κατάλαβα πλήρως εκεί που λέει για

 

To τελικό στάδιο είναι η ψηφιοποίηση. Κάθε ζώνη αποκτά μία δυαδική κωδικοποίηση. Ο αριθμός των bit για κάθε ζώνη δίνεται από τη σχέση n = log(2)Ν

Π.χ. αν Ν=8 (8 διακριτές στάθμες) τότε οι ζώνες αποκτούν δυαδική οντότητα όπως παρακάτω

000, 001, 010, 011, 100, 101, 110, 111

 

Στο κομπιουτεράκι(επιστημονικό) μπορώ να κάνω log(2)N? ή όπως εδώ στο παράδειγμά μου να κάνω log(2)65532 ?

 

Και πάλι ευχαριστώ για τον κόπο σας :)

Δημοσ.

Τι εννοώ?Αν μου δώσει κάποιος 12378734534212στάθμες ποια είναι η πράξη που θα πρέπει να κάνω με αυτό το νούμερο για να βρω πόσα bit είναι?

 

Συνεχόμενες ακέραιες διαιρέσεις δια του 2 μέχρις ότου ο διαρετέος γίνει 0, όπου αντί για το πηλίκο κρατάς το υπόλοιπο.

 

Π.χ. τον αριθμό των bits για το 18 θα τον βρίσκαμε έτσι: 18/2 = 9, υπόλοιπο 0. Μετά 9/2 = 4, υπόλοιπο 1. Μετά 4/2 = 2, υπόλοιπο 0. Μετά 2/2 = 1, υπόλοιπο 0. Μετά 1/2 = 0 (είπαμε ακέραια διαίρεση), υπόλοιπο 1. Μετράς πόσα υπόλοιπα έβγαλες (στην προκειμένη 5) και βρήκες των αριθμό των bits.

 

 

Πιο εύκολο δεν είναι με το κομπιουτεράκι; :devil:

 

Δημοσ.

υπάρχει και ένας άλλος τρόπος που είναι πιο κοντά στην λογική της μηχανής.

 

Δηλαδή να συγκρίνεις με true or false τις δυνάμεις του 2.

 

 

θα σου κάνω ένα παράδειγμα με ένα μικρό αριθμό (για να μην γράφω πολλά... και να καταλάβεις τι εννοώ.. αν καταλάβεις μετά δεν θα χρειαστεί να γράψεις και εσύ τόσα.. )

 

καταρχήν για την συγκεκριμένη μέθοδο πρέπει να είσαι εξοικειωμένος με τις δυνάμεις του 2 (πράγμα εύκολο γιατί αποτελούν και τις χωρητικότητες της RAM -όχι τυχαία- αλλα και κάθε επομενη δύναμη ουσιαστικά είναι ο διπλάσιος αριθμός της προηγουμενης.. οποτε αν ξέρεις έστω μια δύναμη ουσιαστικά τις ξέρεις όλες.)

 

οι πρώτες δυνάμεις είναι οι εξής (format 2^δύναμη=δεκαδικό αποτέλεσμα)

 

2^0=1, 2^1=2, 2^2=4, 2^3=8, 2^4=16, 2^5=32, 2^6=64, 2^7=128, 2^8=256 2^9=512, 2^10=1024, 2^11=2048 2^12=4096, 2^13=8192.

 

 

όπως βλέπεις κάθε δύναμη είναι το διπλάσιο τις προηγουμενης (πχ το 2^14 θα είναι 8192x2 ουσιαστικά δηλαδή 16384)

 

και επίσης είναι και οι χωρητικότητες των RAM από τα 90's μέχρι τις μέρες μας σε MB :P -ανά module-

 

τώρα το μονο που έχεις να κανεις είναι συγκρίσεις αν ο αριθμός είναι μικρότερος από την δύναμη του 2 βάζεις ένα 0 στην αντίστοιχη θέση αν είναι μεγαλύτερος η ίσος βάζεις 1 και μετά αφαιρείς το δεκαδικό αποτέλεσμα της συγκεκριμένης δύναμης με τον αριθμό που έκανες την σύγκριση.

 

δηλαδή έστω ο αριθμός:35210

 

3ekinao με μια δύναμη του 2 που να είναι η άμεσος μικρότερη από τον αριθμό που θέλω να μεταφράσω σε δυαδική μορφή.. αν δεν είμαι σίγουρος δεν πειράζει ξεκινώ από μια μεγάλη δύναμη και απλά θα βάζω 0 μέχρι να συναντήσω την άμεσος μικρότερη δύναμη από τον δεκαδικό που συγκρίνω.. (στον διάδικο κώδικα όσα 0 υπάρχουν στα αριστερά δεν αλλάζουν το αποτέλεσμα είτε πω 0000 111 είτε πω 0000 0000 0000 1111 είτε πω 1111 είναι το ίδιο πράγμα...)

 

Εδώ ας πούμε ξέρω ότι είναι το 2^15 αλλα δεν θα με χάλαγε να δοκιμάσω και με το 2^16 καλού κακού..

 

απλά αν το έκανα αυτό η σύγκριση θα έβγαζε FALSE και θα έμπαινε ένα 0 στα αριστερά του διαδικου που δεν θα άλλαζε κάτι...

 

τέλος για τους πολύ πολύ μεγάλους αριθμούς δεν χρειάζεται να κανεις 1000 μαντεψιές μιας και οι δυνάμεις του 2 γίνονται τεράστιες από ένα σημείο και μετά πχ το 2^20 = 1.048.576 (άρα χωρίς υπολογισμούς το 2^19 θα είναι το μισό δηλαδή 524288) και το 2^30 θα είναι χίλιες φορες μεγαλύτερος αριθμός δηλαδή 1.073.741.824 (κάθε δέκα δυνάμεις έχεις χίλιες φορες μεγαλύτερο αριθμό)

 

2^15 = 32768 <= 35210 : TRUE =1

35210 32768 = 2442

• 2^14 = 16384 <= 2442 : FALSE = 0

• 2^13 = 8192 <= 2442 : FALSE = 0

• 2^12 = 4096 <= 2442 : FALSE = 0

• 2^11 = 2048 <= 2442 : TRUE = 1

2442 2048 = 394

• 2^10 = 1024 <= 394 : FALSE = 0

• 2^9 = 512 <= 394 : FALSE = 0

• 2^8 = 256 < =394 : TRUE = 1

394 – 256 = 138

• 2^7 = 128 <= 138 : TRUE = 1

138 – 128 = 10

• 2^6 = 64 <= 10 : FALSE = 0

• 2^5 = 32 <= 10 : FALSE = 0

• 2^4 = 16 <= 10 : FALSE = 0

• 2^3 = 8 <=10 : TRUE = 1

10 – 8 = 2

• 2^2 = 4 <= 2 : FALSE = 0

• 2^1 = 2 <= 2 : TRUE = 1

2 – 2 = 0

• 2^0 = 1 <= 0 : FALSE = 0

 

 

 

Binary = 1000 1001 1000 1010

 

 

 

 

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

 

 

με το που βλέπεις τον διάδικο θα καταλαβαίνεις έστω και στο περίπου τι αριθμός είναι (όπως ο Neo στο matrix :P hahahaha)

 

 

πχ δεν χρειάζεται να υπολογίσω για να καταλάβω ότι αυτός ο διάδικος:

 

1111 1111

 

ειναι το 255 γιατί? γιατί 2^8 = 256 (δηλαδη εχει 8 θεσεις και βάζεις 1 στην ογδοη θέση και μηδέν στις άλλες) εδώ έχω 7 θέσεις όμως και όλες "ενεργοποιημένες" (όλες έχουν 1) άρα είναι το αμέσως προηγούμενο δεκαδικό στην σειρά (γιατί είναι πρόσθεση του 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255!)

 

ξερω ας πούμε ότι ο 1001 1001 0001 είναι ένας αριθμός μικρότερος από το 4096 (Γιατί 2^12 = 4096 και ο διάδικος έχει 11 θέσεις μονο --2^11=2048-- )

 

ξερω όμως ότι είναι λίγο μεγαλύτερος από το 2048 γιατί έχει την 11 θέση ενεργοποιημένη (με 1 δηλαδή) που από μονη της ισούται με το 2048 και μετά έχει και άλλες θέσεις ενεργοποιημένες.. όπως την θέση μηδέν(που ισούται με 1) την θέση 4 που ισούται με 16 κτλ κτλ.. -βασικά εγώ βλέπω εξαρχής ότι πρόκειται για το 2449 λόγο εμπειρίας :P- αλλα σίγουρα ακόμη και ένας άπειρος που κατέχει την λογική μπορεί να μαντέψει ότι ο αριθμός είναι περίπου δυόμισι χιλιάδες...

 

 

τέλος μπορώ να ξέρω αν είναι θετικός η αρνητικός χωρίς το υπολογισμούς.. αν το MSB (στην συγκεκριμένη περίπτωση ονομάζεται και Signing bit γιατί αποτελεί δείκτη του προσημου) του είναι 1 ΚΑΙ το MSn (most significant nibble = η σημαντικότερη τετράδα bit) αντιστοιχεί σε έναν δεκαεξαδικό => 8 τότε ο αριθμός έχει αρνητικό πρόσημο..

 

 

πχ 0000 1001= 9 1111 1001 = -9 γιατί: MSB =1, hex = F,άρα high order nibble =>8)

 

το να θυμάσαι ποιος δεκαδικός αντιστοιχεί σε ποιο nibble είναι πανεύκολο... το nibble έχει 16 συνδυασμούς (εξού και ο κώδικας που ονομάζουμε δεκαεξαδικό)

 

τον πινακα μπορείς να τον δεις και από εδώ: http://en.wikipedia.org/wiki/Hexadecimal

Δημοσ.

Xvipes ο λογάριθμος πάει έτσι:

 

log(x)a= b ==> b^x = a

 

Δηλαδή λογάριθμος με βαση Χ ενος αριθμού Α είναι ο αριθμός που πρέπει να υψωθεί στη βάση Χ για να μας δώσει τον Α.

 

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

 

 

Ρε παιδί μου χοντρικά αυτή η παράγραφος λέει:

 

Έχεις ενα σήμα,

 

οι καθετες εστω οτι ειναι παράλληλες και ισομοιρασμένες :P το πεηντ δε με βοηθά. Οι κάθετες δείχνουν καθε ποτε παίρνουμε δείγμα (κοκκινες βουλίτσες)

 

από την υψηλότερη V μέχρι τη χαμηλότερη το χωρίζουμε σε κομματάκια που τα ονομάζουμε σταθμες. Στην κάθε σταθμη για να την αναπαραστήσουμε θέλουμε κάποια bit. Πόσα? Τόσα ωστε κάθε σταθμη να μπορει να αναπαραστεί μοναδικά.

Δηλαδή στο παράδειγμα 11 στάθμες χρειάζονται 4 bit. Όπψς λέει και ο λογάριθμος φυσικά : λογ(2)11= 3.459 (δε μπορεις να εχεις 3.4 μπιτ αρα πας στα 4.)

 

Το αποτέλεσμα είναι μια σειρά από αριθμούς 4 bit.

πχ στο παράδειγμα 0111,0111,0110,...

 

Αυτή η διαδικασία γίνεται γιατι δε μπορεις να αναπαραστήσεις ψηφιακά αναλογικό σήμα χωρις να χασεις σε ακρίβεια, τώρα το πως το ξεπερνάμε είναι άλλου παπά.. Πρέπει να έχεις μεγάλη συχνότητα δειγματοληψίας, πρέπει να ορίσεις πολλές στάθμες κλπ κλπ .. Στο τέλος είναι συμβιβασμός: Πόσο με ενδιαφέρει να είναι ακριβές στο συγκεκριμένο μέγεθος που μπορώ να καταγράψω.

post-83511-0-81873100-1322645103_thumb.png

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...