glb 0 18 сентября, 2015 Опубликовано 18 сентября, 2015 · Жалоба Доброго времени суток. В ЦОС новичок, возникла необходимость установить в канале корректирующий фильтр, для выравнивания АЧХ ЦАП, решил воспользоваться методом частотных выборок опираясь на эту статью http://www.dsplib.ru/content/filters/fir/fir.html при расчете получаются комплексные коэффициенты ИХ. Нашел еще статью _______.pdf, в ней говорится, что для получения их, при наличие только АЧХ можно воспользоваться следующей формулой, получаю ИХ состоящую из действительных коэффициентов, все бы хорошо, но при восстановлении АЧХ из ИХ получаю совсем не то что должно быть.. Долго бьюсь, но понимание так и не наступает. прикладываю код в 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
glb 0 18 сентября, 2015 Опубликовано 18 сентября, 2015 · Жалоба Если делать по алгоритму приведенном в ссылке, то выполняя пример как у них все получается как надо R = [1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1]; for k = 0:15 if (k<N/2) FI(k+1) = -(N-1)*pi*k/N; else FI(k+1) = -(N-1)*(k-N)*pi/N; end end K = H.*exp(j*FI); Однако, если изменить АЧХ на ту которая нужна 1/sinc(x), и оставить длину ИХ 16, опять импульсная характеристика получается комплексная Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stealth-coder 2 20 сентября, 2015 Опубликовано 20 сентября, 2015 · Жалоба АЧХ и ИХ связаны между собой через преобразование Фурье. Для получения АЧХ из ИХ нужно выполнить преобразование Фурье, результат комплексный, т.к. содержит не только АЧХ, но и ФЧХ. Для выделения АЧХ надо получить амплитудный спектр (корень квадратный из суммы квадратов действительной и мнимой частей). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
glb 0 25 сентября, 2015 Опубликовано 25 сентября, 2015 · Жалоба АЧХ и ИХ связаны между собой через преобразование Фурье. Для получения АЧХ из ИХ нужно выполнить преобразование Фурье, результат комплексный, т.к. содержит не только АЧХ, но и ФЧХ. Для выделения АЧХ надо получить амплитудный спектр (корень квадратный из суммы квадратов действительной и мнимой частей). С этим все понятно, я не об этом спрашиваю, у меня в импульсной характеристики получились комплексные коэффициенты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 9 25 сентября, 2015 Опубликовано 25 сентября, 2015 · Жалоба С этим все понятно, я не об этом спрашиваю, у меня в импульсной характеристики получились комплексные коэффициенты. Для того, чтобы ИХ перестала быть комплексной требуется, чтобы реальная часть передаточной характеристки была четной, а мнимая - нечетной функцией от частоты. В этом стоит убедиться перед тем, как сделали обратное преобразование Фурье. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
glb 0 25 сентября, 2015 Опубликовано 25 сентября, 2015 · Жалоба Для того, чтобы ИХ перестала быть комплексной требуется, чтобы реальная часть передаточной характеристки была четной, а мнимая - нечетной функцией от частоты. В этом стоит убедиться перед тем, как сделали обратное преобразование Фурье. АЧХ имеет вид sinc(x), значит она нечетна и ИХ будет только комплексной? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 9 25 сентября, 2015 Опубликовано 25 сентября, 2015 · Жалоба АЧХ имеет вид sinc(x), значит она нечетна и ИХ будет только комплексной? >> ifft(ifftshift(sinc(-3:0.5:3))) ans = Columns 1 through 4: 0.16181 + 0.00000i 0.14505 - 0.00000i 0.16662 + 0.00000i 0.11143 - 0.00000i Columns 5 through 8: -0.00573 - 0.00000i 0.00241 + 0.00000i -0.00068 + 0.00000i -0.00068 - 0.00000i Columns 9 through 12: 0.00241 - 0.00000i -0.00573 + 0.00000i 0.11143 + 0.00000i 0.16662 - 0.00000i Column 13: 0.14505 + 0.00000i вполне себе действительная (мнимая часть ~ 3e-18) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться