Фильтр Allpass для преобразования lowpass в комплексный M-диапазон
[AllpassNum,AllpassDen] = allpasslp2mbc(Wo,Wt)
[AllpassNum,AllpassDen] = allpasslp2mbc(Wo,Wt)
возвращает числитель, AllpassNum
и знаменатель, AllpassDen
, из M
Фильтр преобразования allpass I порядка для выполнения реального lowpass в комплексное мультипассивное частотное преобразование. Параметрический M
- количество раз, когда исходная функция реплицируется в целевой фильтр. Это преобразование эффективно помещает одну функцию исходного фильтра, расположенного на частоте Wo, в необходимые целевые местоположения частоты, Wt1,...,WtM.
Относительные положения других функций исходного фильтра не изменяются в целевом фильтре. Это означает, что можно выбрать две функции исходного фильтра, F1 и F2, со F1 предыдущими F2. F1 функций все еще будут предшествовать F2 после преобразования. Однако расстояние между F1 и F2 не будет одинаковым до и после преобразования.
Выбор функции, подлежащей этому преобразованию, не ограничивается частотой отключения исходного lowpass фильтра. В целом возможен выбор любой функции; например, ребро полосы стопора, DC, глубокий минимум в полосе стопора или другие таковые.
Это преобразование может также использоваться для преобразования других типов фильтров; например, узкополосные фильтры или резонаторы могут быть легко реплицированы в нескольких требуемых частотных местоположениях без необходимости их повторного проектирования. Хорошим приложением будет адаптивная схема подавления тонального сигнала, реагирующая на изменение количества и местоположения тональных сигналов.
Спроектируйте фильтр allpass, меняющий реальный фильтр lowpass с частотой отключения W
o =0.5
в комплексный многодиапазонный фильтр с полосными ребрами W
t =[-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 | Знаменатель фильтра отображения |