Фильтр Allpass для преобразования нижних частот в сложные полосы пропускания
[AllpassNum,AllpassDen] = allpasslp2bsc(Wo,Wt)
[AllpassNum,AllpassDen] = allpasslp2bsc(Wo,Wt) возвращает числитель, AllpassNumи знаменатель, AllpassDen, фильтра отображения allpass первого порядка для выполнения преобразования частоты с реальных нижних частот в сложные полосы частот. Это преобразование эффективно помещает один признак исходного фильтра, расположенный на частоте -Wo, в требуемое местоположение целевой частоты, Wt1, и второй признак, первоначально на +Во, в новом месте, Wt2. Предполагается, что Wt2 больше Wt1. Кроме того, преобразование заменяет полосы пропускания на полосы останова в целевом фильтре.
Относительные положения других элементов исходного фильтра не изменяются в целевом фильтре. Это означает, что можно выбрать два элемента исходного фильтра, F1 и F2, с F1 предшествующим F2. F1 элемента по-прежнему будет предшествовать F2 после преобразования. Однако расстояние между F1 и F2 не будет одинаковым до и после преобразования.
Выбор признака, подлежащего преобразованию нижних частот в полосу пропускания, не ограничивается только частотой отсечки исходного фильтра нижних частот. Как правило, можно выбрать любой элемент; например, край полосы останова, DC, глубокий минимум в полосе останова или другие.
Преобразование нижних частот в полосы пропускания может также использоваться для преобразования фильтров других типов; например, фильтры или резонаторы с действительными вырезами могут быть удвоены и расположены на двух различных желаемых частотах в любом месте вокруг единичной окружности, образуя пару сложных вырезов/резонаторов. Это преобразование может быть использовано для проектирования полосовых фильтров для ослабления полосы частот или компенсаторов частоты из высококачественного прототипа фильтра нижних частот.
Спроектируйте фильтр allpass, изменяющий реальный фильтр нижних частот с частотой отсечки Wo=0.5 в сложный полосовой фильтр с полосовыми краями Wt1=0.2 и Wt2=0.4 точно определено:
Wo = 0.5; Wt = [0.2,0.4];
[AllpassNum, AllpassDen] = allpasslp2bsc(Wo, Wt);
[h, f] = freqz(AllpassNum, AllpassDen, 'whole');| Переменная | Описание |
|---|---|
Wo | Значение частоты, которое должно быть преобразовано из фильтра прототипа. Она должна быть нормализована между 0 и 1, при этом 1 соответствует половине частоты дискретизации. |
Wt | Требуемые частотные местоположения в преобразованном целевом фильтре. Они должны быть нормализованы между -1 и 1, при этом 1 соответствует половине частоты выборки. |
AllpassNum | Числитель фильтра отображения |
AllpassDen | Знаменатель фильтра отображения |