[an error occurred while processing this directive]
|
------- Цитата
"если циклически свернете прореженную нулями ЧХ Вашего фильтра с
fft([ones(1,N/2) zeros(1,N/2)]) - это вроде бы sinc комплексный
то получите
1. Фильтр у которого в четных позициях получаются отсчеты Вашей ЧХ
2. ИХ фильтра будет равна 0 во второй половине отсчетов."
------- Конец цитаты
Делаю:
% 1) Создаю ИХ фильтра
x = [1 2 3 0 4 -1 4 3 1 1 1 1 7 6 5 1];
% 2) Создаю ЧХ фильтра
X = fft(x);
% 3) Создаю синк
sinc = fft([ones(1, 16) zeros(1, 16)]);
% 4) Создаю Х1 - прореженную нулями ЧХ
X1 = zeros(1, 32);
X1(1:2:end) = X1(1:2:end) + X;
% 5) Циклическая свертка с синком
new_X1 = fft(ifft(X1.*sinc));
% мож. быть надо new_X1 = fft(ifft( X1.*conj(sinc) ));
% 6) Строим график new_X1
plot(abs(new_X1));
Что-то тут определенно не то...
а) Может быть, с фазой при прореживании надо гуманнее поступить и прореживать не так в лоб, как это делаю я, а делая фазу линейной?
б) Может быть, надо сворачивать ЧХ прореженного фильтра с сопряженным синком?
E-mail: info@telesys.ru