Как спроектировать фильтры верхних частот в MATLAB без использования встроенной функции? - PullRequest
1 голос
/ 02 января 2011

Я просто не уверен, как нарисовать частотную характеристику (H) фильтра верхних частот?после построения частотной характеристики я могу получить коэффициент b, взяв ifft из (H).Так что да, для фильтра нижних частот с частотой среза, скажем, пи / 2: код частотной характеристики будет H = exp(-1*j*w*4).*(((0 <= w) & (w<= pi/2)) | ((2*pi - pi/2 <= w) & (w<=2*pi));, поскольку отклик равен "1" между 0 и пи / 2 и между (2 * пи - пи /2) и 2 * пи.Можете ли вы помочь мне написать H для фильтра верхних частот?Спасибо заранее.

Ответы [ 2 ]

3 голосов
/ 02 января 2011

Если у вас есть импульсная характеристика, b[n], фильтра нижних частот, вы можете преобразовать его в эквивалентный фильтр верхних частот, смешав его с частотой Найквиста. Вы делаете это путем умножения на сложную экспоненту: exp(j*pi*n). Однако это очень просто, так как это просто последовательность +1, -1, +1, -1, .... Поэтому просто умножьте все остальные выборки b[n] на -1.

3 голосов
/ 02 января 2011

Если у вас есть фильтр низких частот с частотной характеристикой H_lp(w), вы можете найти соответствующий фильтр высоких частот H_hp(w), вычтя его частотную характеристику из 1.

H_hp(w) = 1 - H_lp(w)

Так что если выхотите, чтобы ваш фильтр верхних частот проходил от K до pi, разработайте низкочастотный фильтр, который вы уже знаете, как это делать, который проходит от 0 до K, затем используйте приведенное выше уравнение, чтобы найтивысокочастотный частотный отклик, а затем примите ОБПЧ H_hp.

...