Фильтр Allpass для преобразования нижних частот в сложные M-диапазоны
[AllpassNum,AllpassDen] = allpasslp2mbc(Wo,Wt)
[AllpassNum,AllpassDen] = allpasslp2mbc(Wo,Wt) возвращает числитель, AllpassNumи знаменатель, AllpassDen, из Mфильтр преобразования allpass-го порядка для выполнения преобразования реальных нижних частот в комплексное многополосное частотное преобразование. Параметр M - количество реплицируемых исходных элементов в целевом фильтре. Это преобразование эффективно помещает один признак исходного фильтра, расположенного на частоте Wo, в требуемые местоположения целевой частоты, Wt1,...,WtM.
Относительные положения других элементов исходного фильтра не изменяются в целевом фильтре. Это означает, что можно выбрать два элемента исходного фильтра, F1 и F2, с F1 предшествующим F2. F1 элемента по-прежнему будет предшествовать F2 после преобразования. Однако расстояние между F1 и F2 не будет одинаковым до и после преобразования.
Выбор элемента, подлежащего этому преобразованию, не ограничивается частотой отсечения исходного фильтра нижних частот. Как правило, можно выбрать любой элемент; например, край полосы останова, DC, глубокий минимум в полосе останова или другие.
Это преобразование может также использоваться для преобразования фильтров других типов; например, режущие фильтры или резонаторы могут быть легко воспроизведены в ряде требуемых частотных местоположений без необходимости их повторного конструирования. Хорошим применением является адаптивная схема подавления тональных сигналов, реагирующая на изменение количества и местоположения тональных сигналов.
Спроектируйте фильтр allpass, изменяющий реальный фильтр нижних частот с частотой отсечки Wo=0.5 в сложный многополосный фильтр с границами полос Wt=[-3+1:2:9]/10 точно определено:
Wo = 0.5; Wt = [-3+1:2:9]/10; [AllpassNum, AllpassDen] = allpasslp2mbc(Wo, Wt);
Вычислите частотную характеристику фильтра отображения в полном диапазоне:
[h, f] = freqz(AllpassNum, AllpassDen, 'whole');
Постройте график фазового отклика, нормализованного до δ, что фактически является функцией отображения Wo(Wt). Обратите внимание, что преобразование работает одинаково как для положительных, так и для отрицательных частот:
plot(f/pi, angle(h)/pi, Wt, Wo, 'ro');
title('Mapping Function Wo(Wt)');
xlabel('New Frequency, Wt'); ylabel('Old Frequency, Wo');В этом примере результирующая функция отображения преобразует реальные фильтры в многополосные комплексные фильтры.

| Переменная | Описание |
|---|---|
Wo | Значение частоты, которое должно быть преобразовано из фильтра прототипа. Она должна быть нормализована между 0 и 1, при этом 1 соответствует половине частоты дискретизации. |
Wt | Требуемые частотные местоположения в преобразованном целевом фильтре. Они должны быть нормализованы между -1 и 1, при этом 1 соответствует половине частоты выборки. |
AllpassNum | Числитель фильтра отображения |
AllpassDen | Знаменатель фильтра отображения |