Contenu principal

kaiser

Description

w = kaiser(L,beta) renvoie une fenêtre de Kaiser à L points avec le facteur de forme beta.

exemple

w = kaiser(L,beta,typeName) spécifie l’option permettant de renvoyer la fenêtre w en simple ou double précision. (depuis R2026a)

Exemples

réduire tout

Créez une fenêtre de Kaiser à 200 points avec un bêta de 2,5. Affichez le résultat avec wvtool.

w = kaiser(200,2.5);
wvtool(w)

Figure Window Visualization Tool contains 2 axes objects and other objects of type uimenu, uitoolbar, uipanel. Axes object 1 with title Time domain, xlabel Samples, ylabel Amplitude contains an object of type line. Axes object 2 with title Frequency domain, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

Arguments d'entrée

réduire tout

Longueur de la fenêtre, définie par un entier non négatif.

Remarque

Si vous spécifiez un nombre non entier pour L, la fonction l’arrondit à la valeur entière la plus proche.

Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Facteur de forme, défini par un scalaire réel positif. Le paramètre beta influe sur l’atténuation de lobe secondaire de la transformée de Fourier de la fenêtre.

Types de données : single | double

Type (classe) de données de sortie, défini comme suit :

  • "double" : utilisez cette option pour renvoyer une sortie w double précision.

  • "single" : utilisez cette option pour renvoyer une sortie w simple précision.

Types de données : char | string

Arguments de sortie

réduire tout

Fenêtre de Kaiser, renvoyée sous la forme d’un vecteur colonne.

Algorithmes

Les coefficients d’une fenêtre de Kaiser sont calculés à partir de l’équation suivante :

w(n)=I0(β1(nN/2N/2)2)I0(β),0nN,

I0 est la fonction de Bessel modifiée d’ordre zéro de première espèce. La longueur L = N + 1. kaiser(L,beta) équivaut à

besseli(0,beta*sqrt(1-(((0:L-1)-(L-1)/2)/((L-1)/2)).^2))/besseli(0,beta)

Pour obtenir une fenêtre de Kaiser représentant un filtre FIR avec une atténuation de lobe secondaire de α dB, utilisez le β suivant.

β={0.1102(α8.7),α>500.5842(α21)0.4+0.07886(α21),50α210,α<21

L’augmentation de β élargit le lobe principal et diminue l’amplitude des lobes secondaires (c’est-à-dire qu’elle augmente l’atténuation).

Références

[1] Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Selected Papers in Digital Signal Processing. Vol. II. New York: IEEE Press, 1976.

[2] Kaiser, James F. "Nonrecursive Digital Filter Design Using the I0-Sinh Window Function." Proceedings of the 1974 IEEE® International Symposium on Circuits and Systems. April, 1974, pp. 20–23.

[3] Oppenheim, Alan V., and Ronald W. Schafer, with John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999.

Capacités étendues

développer tout

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Génération de code GPU
Générez du code CUDA® pour les GPU NVIDIA® avec GPU Coder™.

Historique des versions

Introduit avant R2006a

développer tout