freqz λειτουργία σε MATLAB.

T

triquent

Guest
Είμαι προσπαθεί να χρησιμοποιήσει το freqz λειτουργία σε matlab σε οικόπεδο ενός FIR φίλτρου (συντελεστής β = [0,5 0,5 0,5 0,5]), το μέγεθος και την φάση της επέμβασης. Δοκίμασα δύο διαφορετικά μέθοδο για να οικόπεδο το μέγεθος, αλλά πήρα διαφορετικά αποτελέσματα. κάτι λάθος; 1) χρησιμοποιούν άμεσα freqz (β, 1), το οικόπεδο αυτόματα και οι δύο magitude σε dB και φάση. 2) Χρησιμοποιώ [h, w] = freqz (β, 1) οικόπεδο (w, 20 * log (ABS (η))) Για αυτές τις δύο μεθόδους, πήρα διαφορετικές οικόπεδο μεγέθους. Ποιο είναι το πρόβλημα με τον κωδικό μου; Υποθέτω ότι θα πάρουν ίδιο οικόπεδο.
 
Το οικόπεδο είναι το ίδιο. Η κανονικοποιημένη συχνότητα είναι αυτό που είναι διαφορετικό στα οικόπεδα. Σε μία είναι κανονικοποιημένη από-π * π ή 0 έως pi όπως φαίνεται. Στην άλλη είναι κανονικοποιημένη -0,5 έως 0,5 ή 0-1 όπως φαίνεται Είτε έτσι είτε αλλιώς είναι σωστό, αλλά να φροντίζει, ταυτόχρονα, χρησιμοποιώντας μια προσέγγιση, διατηρηθεί σε αυτήν.
 
Υποθέτω ότι αν u προσθέστε την ακόλουθη γραμμή πριν από τη γραμμή οικόπεδο που θα είναι το ίδιο:
Code:
 w = w / π?
Regards, amraldo.
 
Υπάρχει ένα άλλο πράγμα που εγώ δεν αναφέρω στην πρώτη απάντηση. Πληκτρολογώντας τις εντολές ακριβώς πώς παρουσιάζονται, υπάρχει επίσης μια διαφορά στο μέγεθος σε οικόπεδα. Στην πραγματικότητα ήταν ότι η ερώτησή σας. Αυτό συμβαίνει γιατί το κάνατε τύπου> οικόπεδο> (w, 20 * log (ABS (η))) θα πρέπει να τύπου> οικόπεδο> (w, 20 * log10 (ABS (η))), αλλιώς είστε gonna έχει τη Neperian Λογάριθμος και Δεν την βάση 10 log. Λοιπόν, τώρα νομίζω ότι η απάντηση έχει ολοκληρωθεί.
 

Welcome to EDABoard.com

Sponsor

Back
Top