Как Фарроу искажает сигнал?

Все что касается фильтрации
Дмитрий К
Сообщения: 29
Зарегистрирован: 02 мар 2011, 09:48

Как Фарроу искажает сигнал?

Сообщение Дмитрий К »

Какой АЧХ обладают фильтры Фарроу разных парядков? Какие шумы они могут привнести в сигнал?
Как влияет степеь понижения сигнала? Например чем отличается (в плане искажений) передискретизация с 12.8кГц на 5,3кГ, и 128кГц на 5.3 кГц?
Ответы на эти вопросы позволят сделать вывод о целесообразности их применения и помогут с выбором такого параметра как частота дискретизации исходного сигнала?

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Как Фарроу искажает сигнал?

Сообщение Бахурин Сергей »

1. поскольку фильтры фарроу меняют частоту дискретизации, то для построения их АЧХ необходимо подать дискретный единичный импульс на частоте дискретизации F0, после чего произвести его ресэмплинг на частоту F1 и взять модуль fft . Получите ачх фильтра при передискретизации с F0 на F1.

2. Что такое степень понижения сигнала не знаю, соответственно ее влияние оценить не могу. Могу лишь сказать, что порядок фильтра Фарроу более 5 использовать нецелесообразно ввиду сложности и возрастающей ошибки (см. литературу по лагранжевой интерполяции).

3. передискретизация со 128 кГц на 5.3 кГц гораздо лучше чем с 12.8 кГц на 5.3 кГц. При этом необходимо гарантировать, что частота Найквиста исходного сигнала менее чем 5.3 кГц.

Дмитрий К
Сообщения: 29
Зарегистрирован: 02 мар 2011, 09:48

Re: Как Фарроу искажает сигнал?

Сообщение Дмитрий К »

Под степенью понижения я как раз име ввиду отношение F0/F1. Получается что чем больше F0 и чем меньше F1, тем передискретизация лучше? Меньше искажений?

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Как Фарроу искажает сигнал?

Сообщение Бахурин Сергей »

да при высоком отношении сигнал шум качество интерполяции тем лучше чем выше частота дискретизации относительно частоты найквиста. При низком отношении сигнал шум, когда на ошибку интерполяции начинает влиять шум, увеличение частоты дискретизации наоборот приводит к большим ошибкам

petrov
Сообщения: 30
Зарегистрирован: 31 янв 2011, 13:02

Re: Как Фарроу искажает сигнал?

Сообщение petrov »

Про АЧХ интерполятора Фарроу можно говорить только для какой-то фиксированной дробной задержки, при этом это обычный FIR фильтр. При ресамплинге в общем случае используются различные дробные задержки, таким образом получается фильтр с переменными параметрами и искажения будут нелинейными. Можно оценить искажения например как отношение мощности сигнала на выходе интерполятора Фарроу к мощности разности сигналов на выходе интерполятора Фарроу и на выходе заведомо более качественного интерполятора, например на основе полифазных фильтров.

Дмитрий К
Сообщения: 29
Зарегистрирован: 02 мар 2011, 09:48

Re: Как Фарроу искажает сигнал?

Сообщение Дмитрий К »

Автор статьи о фильтрах Фарроу (на этом сайте) утверждал, что Фарроу - это и есть полифазный фильтр.

petrov
Сообщения: 30
Зарегистрирован: 31 янв 2011, 13:02

Re: Как Фарроу искажает сигнал?

Сообщение petrov »

Фарроу - аппроксимация полиномами Лагранжа коротенького полифазного синк фильтра, позволяет любой дробный отсчёт вычислить но с низким качеством, для качественной интерполяции требуется передискретизация сигнала в несколько раз. Передискретизацию с рациональным отношением можно сделать с любым качеством с помощью полифазного фильтра, на основе ФНЧ прототипа с необходимой неравномерностью в полосе пропускания и подавлением наложений.

Дмитрий К
Сообщения: 29
Зарегистрирован: 02 мар 2011, 09:48

Re: Как Фарроу искажает сигнал?

Сообщение Дмитрий К »

Дайте инфу про полноценные полифазные фильтры. Но чтобы на нормальном языке, а лучше с примерами на С (во я оборзел)

Заранее спасибо!

mks
Сообщения: 16
Зарегистрирован: 18 окт 2010, 11:04

Re: Как Фарроу искажает сигнал?

Сообщение mks »

Когда то для себя написал скрипт для Matlab который строит семейство частотных характеристик полинома Лагранжа заданной степени. Вот что получается для полинома 3-го порядка:
ФЧХ:
Изображение
АЧХ:
Изображение
Сам скрипт:

Код: Выделить всё

%% Group delay response
clear;
order = 3; % порядок полинома
delay = 0;
b=lagrange(order,delay);
%b=cvant(b);
a=[1];
n = 401;
k = 0:1/(n-1):1;
w = k*pi;
h = freqz(b,a,w);
plot(k(1:n-1),-(diff(unwrap(angle(h)))./diff(w)));
ylim([0 order]);
xlim([0 1]);
xlabel('normalized freq (1=Fs/2)');
ylabel('Delay in samples');
grid on;
hold on;
for i=1:order*10
  delay = delay + 0.1;
  b=lagrange(order,delay);
  h = freqz(b,a,w);
  plot(k(1:n-1),-(diff(unwrap(angle(h)))./diff(w)));
end
%% Freq resp
clear;
order = 3; % Порядок полинома
delay = 0;
b=lagrange(order,delay);
a=[1];
n = 501;
k = 0:1/(n-1):1;
w = k*pi;
h = freqz(b,a,w);
plot(k,20*log10(abs(h)));
ylim([-5 3]);
xlim([0 1]);
xlabel('normalized freq (1=Fs/2)');
ylabel('Magnitude in dB');
grid on;
hold on;
for i=1:order*10
  delay = delay + 0.1;
  b=lagrange(order,delay);
  h = freqz(b,a,w);
  plot(k,20*log10(abs(h)));
end
Функция lagrange.m:

Код: Выделить всё

function h = lagrange(N,delay)
n=0:N;
h = ones(1,N+1);
for k = 0:N
  index = find(n ~= k);
  h(index) = h(index) * (delay-k)./(n(index)-k);
end
Перед употреблением не забудьте включить cell mod в редакторе matlab.

petrov
Сообщения: 30
Зарегистрирован: 31 янв 2011, 13:02

Re: Как Фарроу искажает сигнал?

Сообщение petrov »

Дмитрий К

На русском например в этой книге посмотрите
http://rkniga.ru/index.php?option=com_c ... Itemid=124

На английском больше хороших книг и статей, гугл в помощь.
Поймёте теорию напишете сами на любом языке программирования.

Ответить