Перейти к содержанию
    

Проектирование полосового ЦФ

Сказал, что коэффициенты можно взять одни, а длина линии задержки разная должна быть. Чем больше задержка во времени(регистров сдвига), тем уже полоса пропускания и наоборот (я так понимаю связь через прямое и обратное преобразование Фурье)....и фильтр то у меня ких - значит нерекурсивный..

Имеется в виду, если например, в КИХ - фильтре НЧ импульсную реакцию сжать вдвое,

то и частота среза увеличится вдвое.

Т.е. есть такой метод: имеется базовая импульсная реакция на фиксированную частоту,

а рабочая импульсная реакция (т.е. набор коєффициентов) получается ее интерполированием

для нужной частоты.

При этом действительно, если при интерполяции импульсная реакция сжимается,

то это значит, уменьшается число регистров сдвига, т.к. сжатая реакция дополняется нулями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2TSerg, спасибо за книги.

2bahurin, это всё понятно.

2Анатолий, это то, что мне нужно!...вы не знаете где можно подробнее об этом методе почитать?..о том как осуществляется интерполяция базовой импульсной реакции и как это реализовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Анатолий, это то, что мне нужно!...вы не знаете где можно подробнее об этом методе почитать?..о том как осуществляется интерполяция базовой импульсной реакции и как это реализовать?

Ищите классика Константинидиса или ссылки на его методику пересчета АЧХ по базовой АЧХ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашёл его книгу, но не нашёл в ней ничего на эту тему :(...в поисковиках на эту методику тоже ссылок не обнаружил..может у кого есть в своих запасах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашёл его книгу, но не нашёл в ней ничего на эту тему :(...в поисковиках на эту методику тоже ссылок не обнаружил..может у кого есть в своих запасах?

 

Если вам надо ких фнч на любую частоту среза то берете функцию h(t) = w(t*Fs)*sinc(pi*t*Fs)/(pi*t*Fs), Fs - частота дискретизации, w(t) - весовое окно и дискретизируете эту функцию с шагом 1/f0, f0 - частота среза. Если надо четное N - к-тов фильтра то дискретизируете N/2 в отрицательной области, N/2 в положительной чтобы фаза линейная оставалась. Где то так.

Изменено пользователем bahurin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашёл его книгу, но не нашёл в ней ничего на эту тему :(

 

См. "Частотные преобразования" , таблицу 5.1. на стр. 79.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Анатолий, спасибо, но эти формулы предназначены для БИХ-фильтров.

2bahurin, я так понимаю, что после дискретизации этой функции я получу нужные коэффициенты фильтра?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2bahurin, я так понимаю, что после дискретизации этой функции я получу нужные коэффициенты фильтра?

 

да вот пример на матлабе расчета полосового фильтра на заданную частоту с заданной полосой

clear all;
Fs = 400;   %частота дискретизации (Гц)
f0 = 100;    %центральная частота фильтра (Гц)
band = 50;    %полоса фильтра (Гц)

N = 256;    %количество к-тов фильтра (число линий задержки равно N-1)

w = hamming(N)'; %окно хемминга

%моменты дискретизации для линейной ФЧХ
t = (-N/2+0.5):(N/2-0.5);
t = t*band/Fs;

h = w.*sin(pi*t)./(pi*t); %расчет ФНЧ c полосой band

h = 2*h/sum(h);              %нормирую

h=h.*cos(2*pi*t*f0/band); %переношу на частоту f0
%в массиве h лежат к-ты полосового фильтра, рассчитанного на частоту f0 с полосой band
% НЕ меняя структуры фильтра (не меняя N) можно расчитать фильтр на любую частоту с любой полосой 
%(разумеется чтобы он укладывался от 0 до Fs/2)

% построим АЧХ фильтра при помощи fft

f = (0:8*N-1)*Fs/(8*N);

H = 20*log10(abs(fft([h, zeros(1,7*N)])));

subplot(211), stem(1:N,h), grid;
subplot(212), plot(f,H), grid, axis([0,Fs/2,-140,10]);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Анатолий, спасибо, но эти формулы предназначены для БИХ-фильтров.

Значит, на более общий случай.

БИХ-фильтр задается передаточной характеристикой из числителя и знаменателя.

Числитель - то, что касается КИХ-фильтра.

Знаменатель - то, что отличает БИХ от КИХ.

Ну, взять то, что получается в числителе - и будут искомые коэффициенты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2bahurin, спасибо Вам огромное, этот алгоритм мне очень помог, препод одобрил. Только вот сказал, что использовать его можно только если есть теоретическое обоснование...на счёт используемого окна - понятно. Подскажите пожалуйста, какие Вы формулы использовали для дискретизации, расчета ФНЧ и для переноса на заданную частоту?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2bahurin, спасибо Вам огромное, этот алгоритм мне очень помог, препод одобрил. Только вот сказал, что использовать его можно только если есть теоретическое обоснование...на счёт используемого окна - понятно. Подскажите пожалуйста, какие Вы формулы использовали для дискретизации, расчета ФНЧ и для переноса на заданную частоту?

 

Все формулы в листинге. sin(x)/x - это импульсная характеристика фнч.

h=h.*cos(2*pi*t*f0/band); - перенос на частоту f0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот например, формула переноса на частоту f0, она у Вас просто в голове родилась?..или может получилась на основе каких-то теорем или формул?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот например, формула переноса на частоту f0, она у Вас просто в голове родилась?..или может получилась на основе каких-то теорем или формул?

 

Есть такая теорема об амплитудной модуляции, которая говорит что умножение сигнала на синус или косинус некоторой частоты f0 переносит спектр сигнала на эту частоту. В данном случае спектр это частотная характеристика фильтра частота f0 - нужная центральная частота полосового фильтра. Так из фнч получился полосовой фильтр. Ну разумеется еще надо сохранить линейную фчх нашего фильтра, для этого импульсная характеристика должна подходить под один из 4-х типов в зависимости от количества к-тов импульсной характеристики, я выбрал первый тип, поэтому косинус. Более подробно читайте в книжках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теорема о запаздывании.

Грубо:

Сдвиг во времени - умножение на комплексную экспоненту в частотной области.

Сдвиг по частоте - умножение во времени на комплексную экспоненту.

Какую часть результата умножения брать (вещественную или мнимую) и начальную фазу экспоненты определяют требования к линейности ФЧХ (постоянству ГВЗ).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое, с этим вроде бы разобрался, ещё есть вопрос о выборе АЦП: насчет быстродействия понятно, а вот на счёт разрядности?...где-то прочитал, что разрядность зависит от допустимого уровня шума квантования...а не зависит ли от длины фильтра?..у меня длина фильтра - 63 , значит АЦП должен выдавать на выходе 64 отсчёта?...и сдвиговые регистры нужны 64-разрядные?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...