|
|
  |
Проектирование полосового ЦФ |
|
|
|
May 19 2011, 13:06
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ May 16 2011, 16:37)  Сказал, что коэффициенты можно взять одни, а длина линии задержки разная должна быть. Чем больше задержка во времени(регистров сдвига), тем уже полоса пропускания и наоборот (я так понимаю связь через прямое и обратное преобразование Фурье)....и фильтр то у меня ких - значит нерекурсивный.. Имеется в виду, если например, в КИХ - фильтре НЧ импульсную реакцию сжать вдвое, то и частота среза увеличится вдвое. Т.е. есть такой метод: имеется базовая импульсная реакция на фиксированную частоту, а рабочая импульсная реакция (т.е. набор коєффициентов) получается ее интерполированием для нужной частоты. При этом действительно, если при интерполяции импульсная реакция сжимается, то это значит, уменьшается число регистров сдвига, т.к. сжатая реакция дополняется нулями.
|
|
|
|
|
May 20 2011, 05:48
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
2TSerg, спасибо за книги. 2bahurin, это всё понятно. 2Анатолий, это то, что мне нужно!...вы не знаете где можно подробнее об этом методе почитать?..о том как осуществляется интерполяция базовой импульсной реакции и как это реализовать?
|
|
|
|
|
May 20 2011, 09:04
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ May 20 2011, 07:48)  2Анатолий, это то, что мне нужно!...вы не знаете где можно подробнее об этом методе почитать?..о том как осуществляется интерполяция базовой импульсной реакции и как это реализовать? Ищите классика Константинидиса или ссылки на его методику пересчета АЧХ по базовой АЧХ.
|
|
|
|
|
May 22 2011, 11:42
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

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

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
2Анатолий, спасибо, но эти формулы предназначены для БИХ-фильтров. 2bahurin, я так понимаю, что после дискретизации этой функции я получу нужные коэффициенты фильтра?
|
|
|
|
|
May 25 2011, 04:50
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(Kikky @ May 24 2011, 19:19)  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]);
|
|
|
|
|
May 25 2011, 07:41
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ May 24 2011, 18:19)  2Анатолий, спасибо, но эти формулы предназначены для БИХ-фильтров. Значит, на более общий случай. БИХ-фильтр задается передаточной характеристикой из числителя и знаменателя. Числитель - то, что касается КИХ-фильтра. Знаменатель - то, что отличает БИХ от КИХ. Ну, взять то, что получается в числителе - и будут искомые коэффициенты.
|
|
|
|
|
May 31 2011, 08:33
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

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

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(Kikky @ May 31 2011, 12:33)  2bahurin, спасибо Вам огромное, этот алгоритм мне очень помог, препод одобрил. Только вот сказал, что использовать его можно только если есть теоретическое обоснование...на счёт используемого окна - понятно. Подскажите пожалуйста, какие Вы формулы использовали для дискретизации, расчета ФНЧ и для переноса на заданную частоту? Все формулы в листинге. sin(x)/x - это импульсная характеристика фнч. h=h.*cos(2*pi*t*f0/band); - перенос на частоту f0
|
|
|
|
|
May 31 2011, 10:44
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Вот например, формула переноса на частоту f0, она у Вас просто в голове родилась?..или может получилась на основе каких-то теорем или формул?
|
|
|
|
|
Jun 2 2011, 16:02
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

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