Εξηγήστε αυτό το DSP συμβολισμό

ψήφοι
3

Είμαι προσπαθεί να εφαρμόσει αυτό το extenstion του Karplus-Ισχυρή μαδημένες αλγόριθμο χορδή, αλλά δεν καταλαβαίνω το συμβολισμό που χρησιμοποιείται εκεί. Ίσως θα χρειαστούν χρόνια μελέτης, αλλά ίσως δεν θα - ίσως μπορείτε να μου πείτε.

Νομίζω ότι οι εξισώσεις παρακάτω είναι στο πεδίο της συχνότητας ή κάτι τέτοιο. Ακριβώς αρχίζοντας με την πρώτη εξίσωση, Η ρ (z), το φίλτρο χαμηλής διέλευσης κατεύθυνση επιλογή. Για μία κατεύθυνση που χρησιμοποιείτε ρ = 0, για την άλλη, ίσως 0,9. Αυτό βράζει κάτω σε 1 στην πρώτη περίπτωση, ή 0.1 / (1 - 0,9 z -1 ) στο δεύτερο.

alt κείμενο http://www.dsprelated.com/josimages/pasp/img902.png

Τώρα, νιώθω σαν αυτό μπορεί να σημαίνει, στην κωδικοποίηση όρους, κάτι που προς:

H_p(float* input, int time) {
  if (downpick) {
    return input[time];
  } else {
    return some_function_of(input[t], input[t-1]);
  }
}

Μπορεί κάποιος να μου δώσει μια συμβουλή; Ή μήπως αυτή η μάταιη και χρειάζομαι πραγματικά όλο το παρασκήνιο DSP να εφαρμόσουν αυτό; Ήμουν ένας μαθηματικός φορά ... αλλά αυτό δεν είναι ο τομέας μου.

Δημοσιεύθηκε 17/12/2009 στις 01:34
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
7

Έτσι, το z -1 απλώς σημαίνει μια καθυστέρηση ενός μονάδα.

Ας πάρουμε H ρ = (1-p) / (1-PZ -1 ).

Αν ακολουθήσουμε τη σύμβαση των «x» για είσοδο και «y» για έξοδο, η συνάρτηση μεταφοράς H = y / x (= έξοδος / είσοδος)

έτσι παίρνουμε y / x = (1-p) / (1-PZ -1 )

ή (1-p) x = (1-ΡΖ -1 ) y

(1-p) x [n] = y [n] - py [n-1]

ή: y [n] = py [n-1] + (1-p) x [n]

Σε κώδικα C, αυτό μπορεί να υλοποιηθεί

y += (1-p)*(x-y);

χωρίς καμία πρόσθετη κατάσταση πέρα ​​από τη χρήση της εξόδου «y» ως η ίδια μεταβλητή κατάστασης. Ή μπορείτε να πάτε για την πιο κυριολεκτική προσέγγιση:

y_delayed_1 = y;
y = p*y_delayed_1 + (1-p)*x;

Όσον αφορά τις άλλες εξισώσεις πάει, είναι όλα τα τυπικά εξισώσεις εκτός από αυτή την δεύτερη εξίσωση που μοιάζει ίσως είναι ένας τρόπος για την επιλογή είτε Η Β = 1-z -1 ή 1-z -2 . (τι είναι Ν;)

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

H = Η0 * (1 + az -1 + bz -2 + cz -3 ...) / (1 + RZ -1 + sz -2 + tz -3 ...)

και το μόνο που κάνετε είναι να γράψετε H = y / x, διασχίζουν πολλαπλασιάζονται για να πάρει

Η0 * (1 + az -1 + bz -2 + cz -3 ...) * x = (1 + RZ -1 + sz -2 + tz -3 ...) * y

και στη συνέχεια απομόνωση «y» από μόνη της, καθιστώντας η έξοδος «y» μια γραμμική συνάρτηση των διαφόρων καθυστερήσεων του ίδιου και της εισόδου.

Αλλά το σχεδιασμό φίλτρα (επιλέγοντας το α, β, γ, κλπ.) Είναι πιο σκληρή από την εφαρμογή τους, ως επί το πλείστον.

Απαντήθηκε 17/12/2009 στις 01:48
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more