реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Децимирующий КИХ фильтр, Завал АЧХ после децимации
ilynxy
сообщение Oct 18 2014, 22:10
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-04-10
Пользователь №: 56 562



http://electronix.ru/forum/index.php?showtopic=61830
А вот товарищи давно уже сделали правильный вывод. Но сразу эту ветку я не нашёл.

Просто для меня несколько контринтуитивно, что децимация является нелинейной операцией. Ну подумаешь повыкидывали отсчеты, делов то )
Go to the top of the page
 
+Quote Post
andyp
сообщение Oct 19 2014, 08:22
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(ilynxy @ Oct 19 2014, 02:10) *
http://electronix.ru/forum/index.php?showtopic=61830
А вот товарищи давно уже сделали правильный вывод. Но сразу эту ветку я не нашёл.

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


Децимация является линейной операцией (легко проверить, что decim( a+b ) = decim( a ) + decim( b ) и decim( k*a ) = k* decim( a ) ). У нее проблемы с time-invariance wink.gif Впрочем, также как например и у переноса частоты.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 19 2014, 10:48
Сообщение #18


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(ilynxy @ Oct 18 2014, 13:19) *
И получается, что после децимации дифференциал ответа на ступеньку даёт завал АЧХ в конце где-то на 3 dB. Если поэкспериментировать с децимацией (например, сделать в два раза), то завал уменьшится.
Собственно вопрос: почему так происходит?

Тогда такое объяснение. Когда при децимации спектр "сближается", из-за уменьшения частоты дискретизации, то нельзя просто накладывать один фрагмент амплитудного спектра на другой для получения результирующей АЧХ. Надо учитывать действительную и мнимую части. Вот если их перемножить комплексно, то и появится завал на краю полосы пропускания.
?
Go to the top of the page
 
+Quote Post
ilynxy
сообщение Oct 19 2014, 11:35
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-04-10
Пользователь №: 56 562



Цитата(andyp @ Oct 19 2014, 12:22) *
Децимация является линейной операцией (легко проверить, что decim( a+b ) = decim( a ) + decim( b ) и decim( k*a ) = k* decim( a ) ). У нее проблемы с time-invariance wink.gif Впрочем, также как например и у переноса частоты.
Виноват, исправлюсь. Я имел ввиду linear time-invariant (LTI), использовал только термин linear, забыв про time-invariant. По русски это, если верить Википедии, переводится как "линейная и стационарная". То есть операция децимации линейная, но не стационарная. Так правильней, наверное.

И, да, после добавления в конец скрипта, вот этих строк:
Код
x_diric = [0:0.001:1];
y_diric = 20*log10(diric(x_diric*pi,k));
plot(Fx, PRy, Fx_decim, PRy_decim, x_diric, y_diric);
В моей голове всё окончательно уложилось. Собственно передаточная функция фильтра "бегущее среднее" (знакома по расчётам CIC фильтров).
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Oct 20 2014, 07:50
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Как-то странно вы матлаб пользуете. Фильтр цифровой, коэффициенты есть, есть готовая функция freqz, операция прореживания эквивалентна ставкой доп нулей между коэффициентами фильтра, легко понять это, анализируя выражение для свёртки.
Go to the top of the page
 
+Quote Post
ilynxy
сообщение Oct 20 2014, 13:49
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 11-04-10
Пользователь №: 56 562



Цитата(dmitry-tomsk @ Oct 20 2014, 11:50) *
Как-то странно вы матлаб пользуете. Фильтр цифровой, коэффициенты есть, есть готовая функция freqz, операция прореживания эквивалентна ставкой доп нулей между коэффициентами фильтра, легко понять это, анализируя выражение для свёртки.
По поводу цифрового фильтра и функции freqz: фильтр и децимация реализованны в чёрном ящике и нужно получить "натурные" результаты, я не анализирую коэффициенты фильтра (с ними всё понятно), а показываю (чтобы убедиться, что я понимаю правильно), что методика измерения путём подачи на вход ступеньки и затем дифференцирования ответа чёрного ящика (для получения АЧХ, например) неприменима для нестационарной (not time-invariant) системы, коей является дециматор. Более того, даже привожу функцию которая описывает соотношение между "ожидаемым" и "измеренным" результатом.

А по поводу вставки нулей между коэффициентами фильтра -- результат будет отличаться от дифференциала децимированного ответа на ступеньку. КИХ фильтр, как его не крути, будет линеен и стационарен. А вот децимация уже нестационарная (на пальцах: меняется "дельта" времени).

Ещё раз: я спрашивал про неприменимость метода "ступеньку на вход -> дифференциал -> FFT" для построения АЧХ произвольной системы (в частности нестационарной), а не про анализ характеристик фильтра.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 15:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016