Как Фарроу искажает сигнал?
Как Фарроу искажает сигнал?
Какой АЧХ обладают фильтры Фарроу разных парядков? Какие шумы они могут привнести в сигнал?
Как влияет степеь понижения сигнала? Например чем отличается (в плане искажений) передискретизация с 12.8кГц на 5,3кГ, и 128кГц на 5.3 кГц?
Ответы на эти вопросы позволят сделать вывод о целесообразности их применения и помогут с выбором такого параметра как частота дискретизации исходного сигнала?
Как влияет степеь понижения сигнала? Например чем отличается (в плане искажений) передискретизация с 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 кГц.
2. Что такое степень понижения сигнала не знаю, соответственно ее влияние оценить не могу. Могу лишь сказать, что порядок фильтра Фарроу более 5 использовать нецелесообразно ввиду сложности и возрастающей ошибки (см. литературу по лагранжевой интерполяции).
3. передискретизация со 128 кГц на 5.3 кГц гораздо лучше чем с 12.8 кГц на 5.3 кГц. При этом необходимо гарантировать, что частота Найквиста исходного сигнала менее чем 5.3 кГц.
Re: Как Фарроу искажает сигнал?
Под степенью понижения я как раз име ввиду отношение F0/F1. Получается что чем больше F0 и чем меньше F1, тем передискретизация лучше? Меньше искажений?
- Бахурин Сергей
- Администратор
- Сообщения: 1114
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Как Фарроу искажает сигнал?
да при высоком отношении сигнал шум качество интерполяции тем лучше чем выше частота дискретизации относительно частоты найквиста. При низком отношении сигнал шум, когда на ошибку интерполяции начинает влиять шум, увеличение частоты дискретизации наоборот приводит к большим ошибкам
Re: Как Фарроу искажает сигнал?
Про АЧХ интерполятора Фарроу можно говорить только для какой-то фиксированной дробной задержки, при этом это обычный FIR фильтр. При ресамплинге в общем случае используются различные дробные задержки, таким образом получается фильтр с переменными параметрами и искажения будут нелинейными. Можно оценить искажения например как отношение мощности сигнала на выходе интерполятора Фарроу к мощности разности сигналов на выходе интерполятора Фарроу и на выходе заведомо более качественного интерполятора, например на основе полифазных фильтров.
Re: Как Фарроу искажает сигнал?
Автор статьи о фильтрах Фарроу (на этом сайте) утверждал, что Фарроу - это и есть полифазный фильтр.
Re: Как Фарроу искажает сигнал?
Фарроу - аппроксимация полиномами Лагранжа коротенького полифазного синк фильтра, позволяет любой дробный отсчёт вычислить но с низким качеством, для качественной интерполяции требуется передискретизация сигнала в несколько раз. Передискретизацию с рациональным отношением можно сделать с любым качеством с помощью полифазного фильтра, на основе ФНЧ прототипа с необходимой неравномерностью в полосе пропускания и подавлением наложений.
Re: Как Фарроу искажает сигнал?
Дайте инфу про полноценные полифазные фильтры. Но чтобы на нормальном языке, а лучше с примерами на С (во я оборзел)
Заранее спасибо!
Заранее спасибо!
Re: Как Фарроу искажает сигнал?
Когда то для себя написал скрипт для Matlab который строит семейство частотных характеристик полинома Лагранжа заданной степени. Вот что получается для полинома 3-го порядка:
ФЧХ:
АЧХ:
Сам скрипт: Функция lagrange.m:
Перед употреблением не забудьте включить cell mod в редакторе matlab.
ФЧХ:
АЧХ:
Сам скрипт:
Код: Выделить всё
%% 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
Код: Выделить всё
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
Re: Как Фарроу искажает сигнал?
Дмитрий К
На русском например в этой книге посмотрите
http://rkniga.ru/index.php?option=com_c ... Itemid=124
На английском больше хороших книг и статей, гугл в помощь.
Поймёте теорию напишете сами на любом языке программирования.
На русском например в этой книге посмотрите
http://rkniga.ru/index.php?option=com_c ... Itemid=124
На английском больше хороших книг и статей, гугл в помощь.
Поймёте теорию напишете сами на любом языке программирования.