Comment faire pour convertir un filtre passe-bas à un filtre passe-bande
J'ai un filtre passe-bas décrite par la fonction de transfert suivante:
h[n] = (w_c/Pi) * sinc( n * w_c /Pi ), où est w_c est la fréquence de coupure
- Je convertir ce filtre passe-bas pour un filtre passe-bande.
OriginalL'auteur Alceu Costa | 2009-05-04
Vous devez vous connecter pour publier un commentaire.
Vous
h[n]
se transforme en unrect
dans le domaine de fréquence. Pour le faire, passe-bande, vous devez déplacer sa fréquence centrale supérieure.Pour ce faire, multiplier
h[n]
parexp(j*w_offset*n)
, oùw_offset
est la valeur de décalage. Siw_offset
est positive, alors vous décalage vers les hautes fréquences.La Multiplication dans le domaine temporel est la convolution dans le domaine de fréquence. Depuis
exp(j*w_offset*n)
se transforme en fonction d'impulsion centrée surw_offset
, la multiplication des changements de laH(w)
parw_offset
.Voir En Temps Discret Transformée De Fourier pour plus de détails.
Note: un tel filtre ne sera pas symétriques par rapport à 0, ce qui signifie qu'il aura valeurs complexes. Pour le rendre symétrique, vous devez ajouter
h[n]
multiplié parexp(-j*w_offset*n)
:h_bandpass[n] = h[n](exp(j*w_offset*n)+exp(-j*w_offset*n))
Depuis
cos(w*n) = (exp(j*w*n)+exp(-j*w*n))/2
nous obtenons:h_bandpass[n] = h[n]cos(w_offset*n)
Ce filtre a alors purement valeurs réelles.
Boyd Smith: Mes excuses, vous avez raison. Ma première réponse juste considéré comme ce qui est arrivé à une valeur réelle du signal, vous obtenez une valeur complexe de la sortie j'ai pensé que c'était inutile de le dire, les haut-parleurs. Mais il existe évidemment des cas où le signal lui-même est complexe, et un complexe de sortie est attendue et utile.
Je trouve ce résultat tout à fait étonnant. Les mathématiques sont belles.
OriginalL'auteur freespace
La réponse courte est que vous multipliez par une exponentielle complexe dans le domaine temporel. La Multiplication dans le domaine de temps pour décaler le signal dans le domaine fréquentiel.
Code Matlab:
p.s. Il m'est arrivé d'avoir mis en œuvre cette fonctionnalité pour l'école il y a quelques semaines.
Voici le code pour la création de votre propre filtre passe-bande à l'aide de la méthode de fenêtrage:
Exemple sur la façon d'utiliser cette fonction:
OriginalL'auteur Trevor Boyd Smith
Laisser
f[n]
être le signal que vous obtenez à partir du filtre passe-bas avecw_c
à la limite inférieure de la bande souhaitée. Vous pouvez obtenir les fréquences au-dessus de cette limite inférieure en soustrayantf[n]
à partir du signal original. C'est l'entrée que vous souhaitez pour le deuxième filtre passe-bas.OriginalL'auteur Nathan Kitchen