Gaussian FIR pulse-shaping filter design
Gaussian Filter for a GSM GMSK Digital Cellular Communication System
Specify that the modulation used to transmit the bits is a Gaussian minimum-shift keying (GMSK) pulse. This pulse has a 3-dB bandwidth equal to 0.3 of the bit rate. Truncate the filter to 4 symbols and represent each symbol with 8 samples.
bt = 0.3; span = 4; sps = 8; h = gaussdesign(bt,span,sps); fvtool(h,'impulse')
bt — 3-dB bandwidth-symbol time product
positive real scalar
Product of the 3-dB one-sided bandwidth and the symbol time, specified as a positive real
scalar. The 3-dB one-sided bandwidth is in hertz and the symbol time is in
seconds. Smaller values of
bt produce larger pulse
span — Number of symbols
3 (default) | positive integer scalar
Number of symbols, specified as a positive integer scalar.
sps — Samples per symbol
2 (default) | positive integer scalar
Number of samples per symbol period (oversampling factor), specified as a positive integer scalar.
h — FIR filter coefficients
FIR coefficients of the Gaussian pulse-shaping filter, returned as a row vector. The coefficients are normalized so that the nominal passband gain is always 1.
The impulse response of the Gaussian filter is given by
BT is the bandwidth-symbol time product specified in
bt, where B is the 3-dB bandwidth of the
filter and T is the symbol time. The number of symbols between the
start and end of the impulse (
span) and the number of samples per
sps) determine the length of the impulse response:
For more information, see FIR Gaussian Pulse-Shaping Filter Design.
 Krishnapura, N., S. Pavan, C. Mathiazhagan, and B. Ramamurthi. “A baseband pulse shaping filter for Gaussian minimum shift keying.” Proceedings of the 1998 IEEE International Symposium on Circuits and Systems. Vol. 1, 1998, pp. 249–252.
 Rappaport, Theodore S. Wireless Communications: Principles and Practice. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 2002.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2013b