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