designMultirateFIR
Расчет мультискоростного КИХ-фильтра.
| Библиотека |
|
Аргументы
Входные аргументы
#
L —
коэффициент интерполяции
скаляр
Details
Коэффициент интерполяции, заданный как положительный целый скаляр.
Чтобы спроектировать дециматор, установите L равным 1.
#
M —
коэффициент децимации
скаляр
Details
Коэффициент децимации, заданный как положительный целый скаляр.
Чтобы спроектировать интерполятор, установите M равным 1.
#
P —
полумногофазная длина
12 (по умолчанию) | скаляр
Details
Полумногофазная длина. По умолчанию P=12. Если первый коэффициент равен нулю (B(1) = 0), то результирующая длина полифазы равна 2P, в противном случае длина полифазы равна 2P + 1.
#
TW —
нормализованная ширина перехода
скаляр
Details
Нормализованная ширина перехода, заданная как скаляр от 0 до 1.
#
ASTOP —
коэффициент затухания в полосе заграждения в дБ
80 (по умолчанию) | скаляр
Details
Коэффициент затухания в полосе заграждения в дБ. По умолчанию ASTOP=80 дБ.
Выходные аргументы
#
B —
коэффициенты фильтра
вектор
Details
Коэффициенты многоскоростного КИХ-фильтра.
Примеры
Расчет КИХ-интерполятора
Details
Чтобы спроектировать КИХ-интерполятор с помощью функции designMultirateFIR, укажем коэффициент интерполяции (обычно больше 1) и установим коэффициент децимации равным 1. Можно использовать заданные по умолчанию длину полифазы и затухание в полосе задерживания или использовать значения, отличные от значений по умолчанию.
Спроектируем КИХ-интерполятор с коэффициентом интерполяции 5. Используем заданные по умолчанию полумногофазную длину и затухание в полосе заграждения.
import EngeeDSP.Functions: designMultirateFIR
import EngeeDSP.Functions: impz
using Plots
b = designMultirateFIR(5, 1)
response = impz(b)
plot(response[2], response[1],
marker = :o, title = "Impulse Response",
xlabel = "n (samples)", ylabel = "Amplitude")
