Цитата(РРоман @ Mar 19 2008, 11:57)

Имеется следующая задача:
создать полосовой фильтр с заданной полосой пропускания (~100Гц), при этом необходимо иметь возможность "перемещать" его полосу пропускания заданном диапазоне частот (1Гц-3КГц).
Подскажите пожалуйста дилетанту можно ли вообще создать такой фильтр в цифровой форме? Как?
Можно ли для этого использовать ДПФ? Если да то как (в общих чертах).
Спасибо!
Это просто и без ДПФ. Берете считаете ФНЧ fir c частотой среза 50 Гц. Получаете коэф. h. Коэффициенты перестраиваемого(matlab) hf = h.*sin(2*pi*f/Fs*(1:length(h)), f - центральная частота настройки фильтра, Fs- частота дискретизации. ДПФ конечно можно использовать, только FFT придется считать. Примерно так делается: x - 512 отсчетов входного сигнал. Далее.
Код
X = fft([x,zeros(1, 512]); % фурье транформанта входного сигнала дополненного нулями.
F = fft([h,zeros(1, 1024-length(h)); % фурье транформанта фильтра, можно считать один раз
X = X.*F; % свертка в частотной области
y = ifft(X); %
y(1:512) = y(1:512) + pred_y; % 512 отсчетов отфильтрованного сигнала
pred_y = y(513:1024); % отклик фильтра от предидущего блоке используется для следующего
% блока, начальный pred_y=0
Важно чтобы length(x) + length(h) < sizeFFT
ps: А вообще почитайте Рабинера с Голдом h**p://dsp-book.narod.ru/RG.html, там про это душевно
написано
ну не художники мы...