[an error occurred while processing this directive]
Чего-то не получается (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено homekvn 04 июля 2006 г. 15:16
В ответ на: Я просто предлагаю проинтерполировать ЧХ H0 чтобы получить H. Если выбрать интерполирующий фильтра таким, как я написал, то отсчеты ИХ = ifft(H) будут равны 0 для n>N/2. А четные отсчеты H будут совпадать с отсчетами H0 отправлено andy_P 04 июля 2006 г. 14:15

------- Цитата
"если циклически свернете прореженную нулями ЧХ Вашего фильтра с
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: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru