Документация Engee

gaussdesign

Конструкция гауссова КИХ-фильтра формирования импульсов.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • h = gaussdesign(bt,span,sps) — проектирует низкочастотный КИХ-фильтр с гауссовым формированием импульсов и возвращает вектор h коэффициентов фильтра. Фильтр усекается до символов span, а каждый период символа содержит отсчеты sps. Порядок фильтра sps*span должен быть четным.

Аргументы

Входные аргументы

# bt — произведение ширины полосы пропускания по уровню 3 дБ на длительность символа
положительный вещественный скаляр

Details

Произведение ширины полосы пропускания по уровню 3 дБ на длительность символа, заданное как положительный вещественный скаляр. Ширина полосы пропускания по уровню 3 дБ измеряется в герцах, длительность символа — в секундах. Меньшие значения bt приводят к большей длительности импульса.

# span — количество символов
3 (по умолчанию) | положительный целочисленный скаляр

Details

Количество символов, заданное как положительное целое число.

# sps — количество отсчетов на символ
2 (по умолчанию) | положительный целочисленный скаляр

Details

Количество отсчетов на период символа (коэффициент передискретизации), заданное как положительное целое число.

Выходные аргументы

# h — коэффициенты КИХ-фильтра
вектор-строка

Details

Коэффициенты гауссова КИХ-фильтра формирования импульсов, возвращаемые в виде вектора-строки. Коэффициенты нормализованы таким образом, чтобы номинальный коэффициент усиления в полосе пропускания всегда был равен 1.

Типы данных

Float64

Примеры

Фильтр Гаусса для цифровой системы сотовой связи GSM GMSK

Details

Укажем, что модуляция, используемая для передачи битов, представляет собой гауссову манипуляцию с минимальным сдвигом (Gaussian Minimum-Shift Keying, GMSK). Ширина полосы пропускания этого импульса составляет 3 дБ, что соответствует 0.3 скорости передачи битов. Фильтр следует обрезать до 4 символов, а каждый символ представить 8 отсчетами.

import EngeeDSP.Functions: gaussdesign, impz

bt = 0.3
span = 4
sps = 8
h = gaussdesign(bt, span, sps)

n_max = span * sps + 1
n = collect(1:n_max)

plot(n, impz(h),
     seriestype = :stem,
     marker = :circle,
     title = "Impulse Responce",
     xlabel = "n (samples)",
     ylabel = "Amplitude",
     legend = false)

gaussdesign 1

Алгоритмы

Импульсная характеристика гауссова фильтра определяется выражением

где

— это произведение ширины полосы пропускания на время символа, определяемое аргументом bt, где — ширина полосы пропускания фильтра по уровню 3 дБ, а — время символа. Количество символов между началом и концом импульса (span) и количество отсчетов на символ (sps) определяют длину импульсной характеристики: .

Литература

  1. 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.

  2. Rappaport, Theodore S. Wireless Communications: Principles and Practice. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 2002.