Доброго времени суток. В ЦОС новичок, возникла необходимость установить в канале корректирующий фильтр, для выравнивания АЧХ ЦАП, решил воспользоваться методом частотных выборок опираясь на эту статью http://www.dsplib.ru/content/filters/fir/fir.html при расчете получаются комплексные коэффициенты ИХ. Нашел еще статью Нажмите для просмотра прикрепленного файла, в ней говорится, что для получения их, при наличие только АЧХ можно воспользоваться следующей формулой, получаю ИХ состоящую из действительных коэффициентов, все бы хорошо, но при восстановлении АЧХ из ИХ получаю совсем не то что должно быть.. Долго бьюсь, но понимание так и не наступает.
прикладываю код в Matlab
Ts = 0.5e-6;%длительность сигнала
Fd = 720e5; %частота дискретизации
Ns = Fd*Ts;%количество отсчетов
f = 0:Fd/Ns:Fd-Fd/Ns;%вектор частот
%%
K=((sinc((f)/F_cap))); %АЧХ ЦАП
H=1./K; %АЧХ фильтра
%%
P=29; %порядок фильтра
N=P-1; %колтчестов отсчетов ИХ
alfa = (N-1)/2;
for n = 0:N-1
k = [1:N/2-1];
h(n+1) = (1/N)*(sum(2*abs(H(k+1)).*cos(2*pi.*k*(n-alfa)/N))+H(1));%формула из статьи
plot((abs(freqz((h),1,720000)))); %восстановленная АЧХ
end