firpr2chfb

Двухканальная конечная импульсная характеристика фильтр для идеальной реконструкции

Синтаксис

[h0,h1,g0,g1] = firpr2chfb(n,fp)
[h0,h1,g0,g1] = firpr2chfb(n,dev,'dev')
[h0,h1,g0,g1] = firpr2chfb('minorder',fp,dev)

Описание

[h0,h1,g0,g1] = firpr2chfb(n,fp) проектирует четыре конечные импульсные характеристики для разделов анализа (h0 и h1) и раздел синтеза является (g0 и g1) двухканального идеального банка фильтров реконструкции. Этот проект соответствует ортогональным блокам фильтров, также известным как блоки фильтров с симметрией мощности.

n - порядок всех четырех фильтров. Это должно быть нечетное целое число. fp - ширина полосы пропускания для lowpass h0 и g0. Аргумент в виде края полосы пропускания fp должно быть меньше 0,5. h1 и g1 являются высокочастотными фильтрами с ширина полосы пропускания, заданная (1- fp).

[h0,h1,g0,g1] = firpr2chfb(n,dev,'dev') проектирует четыре фильтра таким образом, чтобы максимальный диапазон h0 задается скаляром dev. Задайте dev в линейных модулях, а не децибелах. Полоса остановки - пульсация h1 также определяется dev, в то время как максимальная полоса остановки - пульсация для обоих g0 и g1 is (2 * dev).

[h0,h1,g0,g1] = firpr2chfb('minorder',fp,dev) проектирует четыре фильтра таким образом, чтобы h0 соответствует спецификации полосы пропускания fp и демпфирующую полосу dev использование фильтров минимального порядка для соответствия спецификации.

Примеры

свернуть все

Спроектировать блок фильтров с фильтрами порядка n, равными 99 и ребра полосы пропускания 0,45 и 0,55.

n = 99;
[h0,h1,g0,g1] = firpr2chfb(n,.45);
fvtool(h0,1,h1,1,g0,1,g1,1);

Вот фильтры, четко показывающие ребра полосы пропускания.

Используйте следующие диаграммы лист-ствол, чтобы проверить идеальное восстановление с помощью банка фильтров, созданной firpr2chfb.

stem(1/2*conv(g0,h0)+1/2*conv(g1,h1))
n=0:n;
stem(1/2*conv((-1).^n.*h0,g0)+1/2*conv((-1).^n.*h1,g1))
stem(1/2*conv((-1).^n.*g0,h0)+1/2*conv((-1).^n.*g1,h1))
stem(1/2*conv((-1).^n.*g0,(-1).^n.*h0)+...
1/2*conv((-1).^n.*g1,(-1).^n.*h1))
stem(conv((-1).^n.*h1,h0)-conv((-1).^n.*h0,h1))

Расширенные возможности

.

См. также

| | |

Введенный в R2011a