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

 
 
> вопросик по КИХ-фильтрам
vaduts
сообщение Nov 30 2006, 02:05
Сообщение #1





Группа: Новичок
Сообщений: 14
Регистрация: 30-11-06
Пользователь №: 22 929



Здраствуйте!Вот недавно наткнулся на ваш форум. Я студент и с третего курса занялся изучением ЦОС(в большей мере акустических). Еще тогда меня заинтерисовала идея коррекции ЧХ КИХ-фильтра расчитанного методом ОПФ,путем введения паралельного КИХ-фильтра,таки образом, что в точках экстремумов результрующего фильтра выполнялось условие равности идеальной ЧХ в виде прямоугольника.Так вот, сейчас этот алгоритм я практически доделал и хочу поделиться с вами некоторыми результатами.
Например нам необходимо синтезировать ЧХ НЧ КИХ-фильтра со следующими параметрами:
уровень пульсаций в зоне пропускания -<=0.001(0.0087дБ)
уровень пульсаций в зонге задержки- <=0.001(-60дБ)
ширина переходной полосы - 100Гц;
конец полосы пропускания - 2000 Гц;
начало полосы задержки соответсвенно -2100;
частота дискретизации - 44100Гц;
Исходя из заданных критериев, по моему алгоритму, порядок фильтра получился равным 880.
Напрягаем матлабину, а точнее fdatool, а еще точнее ремеза..и получаем при этих же условиях порядок 1436...
конечно же ремез строит нам оптимальную ЧХ с равноволновыми пульсациями,а по предложенному алгоритму нет..но все же порядок меньше практически в 2 раза!!!
Сравним с неоптимальным алгоритмом Кайзера..Залазим туда жеsmile.gif в матлабину...и получаем порядок 1599!!
Так вот, возникает вопросик маленький- если алгоритм ремеза позволяет синтезировать ЧХ с минимальным порядком для заданных условий, почему же сдесь мы видим разницу практически в 2 раза?smile.gif...Если спихивать все на то что синтезируеться оптимальная ЧХ, то вот по сравнению с Кайзером(у которого ЧХ не оптимальна) тоже идет существенный выигрыш в порядке,что определяет и уменьшение трбований к вычислительным затратам...
Недостатком алгоритма есть то что можно синтезировать ЧХ лиш с практически одинаковым уровнем пульсаций в зонах фильтра которые <=0.001.
Но выигрыш в порядке на лицо!
Меня интересует мнение специалистов по DSP процессорам...Ведь например этот алгоритм можно использовать для синтеза ЧХ при дискретизации аналоговых сигналов, а так же для цифровых эквалайзеров и т.д.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alex_os
сообщение Dec 13 2006, 21:19
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(vaduts @ Nov 30 2006, 02:05) *
Здраствуйте!Вот недавно наткнулся на ваш форум. Я студент и с третего курса занялся изучением ЦОС(в большей мере акустических). Еще тогда меня заинтерисовала идея коррекции ЧХ КИХ-фильтра расчитанного методом ОПФ,путем введения паралельного КИХ-фильтра,таки образом, что в точках экстремумов результрующего фильтра выполнялось условие равности идеальной ЧХ в виде прямоугольника.Так вот, сейчас этот алгоритм я практически доделал и хочу поделиться с вами некоторыми результатами.
Например нам необходимо синтезировать ЧХ НЧ КИХ-фильтра со следующими параметрами:
уровень пульсаций в зоне пропускания -<=0.001(0.0087дБ)
уровень пульсаций в зонге задержки- <=0.001(-60дБ)
ширина переходной полосы - 100Гц;
конец полосы пропускания - 2000 Гц;
начало полосы задержки соответсвенно -2100;
частота дискретизации - 44100Гц;
Исходя из заданных критериев, по моему алгоритму, порядок фильтра получился равным 880.
Напрягаем матлабину, а точнее fdatool, а еще точнее ремеза..и получаем при этих же условиях порядок 1436...
конечно же ремез строит нам оптимальную ЧХ с равноволновыми пульсациями,а по предложенному алгоритму нет..но все же порядок меньше практически в 2 раза!!!
Сравним с неоптимальным алгоритмом Кайзера..Залазим туда жеsmile.gif в матлабину...и получаем порядок 1599!!
Так вот, возникает вопросик маленький- если алгоритм ремеза позволяет синтезировать ЧХ с минимальным порядком для заданных условий, почему же сдесь мы видим разницу практически в 2 раза?smile.gif...Если спихивать все на то что синтезируеться оптимальная ЧХ, то вот по сравнению с Кайзером(у которого ЧХ не оптимальна) тоже идет существенный выигрыш в порядке,что определяет и уменьшение трбований к вычислительным затратам...
Недостатком алгоритма есть то что можно синтезировать ЧХ лиш с практически одинаковым уровнем пульсаций в зонах фильтра которые <=0.001.
Но выигрыш в порядке на лицо!
Меня интересует мнение специалистов по DSP процессорам...Ведь например этот алгоритм можно использовать для синтеза ЧХ при дискретизации аналоговых сигналов, а так же для цифровых эквалайзеров и т.д.


Очень интересно! Значить у Вас получилось оптимальнее оптимального!? Наверное где то Вы ошиблись..Если не жалко опубликуйте полученные коэффициенты.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
vaduts
сообщение Dec 17 2006, 21:50
Сообщение #3





Группа: Новичок
Сообщений: 14
Регистрация: 30-11-06
Пользователь №: 22 929



Цитата(alex_os @ Dec 13 2006, 22:19) *
Очень интересно! Значить у Вас получилось оптимальнее оптимального!? Наверное где то Вы ошиблись..Если не жалко опубликуйте полученные коэффициенты.

Свою ошибку я понял, но если считать что порядок фильтра - это двойная длина номеров коэффициентов в положительную и отрицательную сторону ИПХ(ну, как это счиатаеться в Матлабе), то этот подход дает выигрыш в порядке в большенстве случаев у Кайзера, и самое интересное, что в некоторых случаях и у Ремезаsmile.gif(Последнее я заметил если ширина полосы пропускания небольшая)..
Приведу пример:
Был синтезирован фильтр 74-го порядка
уровень пульсаций в зоне пропускания =2,8*10^-5дБ
уровень пульсаций в зоне задержки= -62дБ
конец полосы пропускания - 100 Гц;
начало полосы задержки соответсвенно -2500;
частота дискретизации - 44100Гц;
У Ремеза:
порядок- 88
уровень пульсаций в зоне пропускания <=0.0001дБ
уровень пульсаций в зоне задержки<= -62дБ
конец полосы пропускания - 100 Гц;
начало полосы задержки соответсвенно -2500;
частота дискретизации - 44100Гц;
У Кайзера:
порядок- 124
уровень пульсаций в зоне пропускания <=0.0001дБ
уровень пульсаций в зоне задержки<= -62дБ
конец полосы пропускания - 100 Гц;
начало полосы задержки соответсвенно -2500;
частота дискретизации - 44100Гц;

Как такое может быть?Ведь Ремез дает оптимальный и минимальный вариант порядка....
Полученные коэффициенты следующие(для уменьшения занимаего места привожу только половину коэффициентов, вторая половина симетрична относительно нулевого коэффициента):
0.059439
0.058985
0.057638
0.055445
0.052482
0.04885
0.04467
0.040078
0.035217
0.030235
0.025272
0.020461
0.015919
0.011742
0.008005
0.0047608
0.0020367
-0.00016238
-0.0018522
-0.0030663
-0.0038524
-0.0042682
-0.0043774
-0.0042459
-0.0039375
-0.0035119
-0.0030214
-0.0025101
-0.0020124
-0.0015539
-0.001151
-0.00081262
-0.00054124
-0.00033446
-0.00018641
-8.8943e-005
-3.251e-005
-6.6464e-006
Go to the top of the page
 
+Quote Post
alex_os
сообщение Dec 20 2006, 11:28
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(vaduts @ Dec 17 2006, 21:50) *
Как такое может быть?Ведь Ремез дает оптимальный и минимальный вариант порядка....

не поленился посчитал в матлабе - ремез такогоже порядка, как и Ваш фильтр имеет подавление в полосе задержания на 20 дБ меньше smile.gif.
Код
h = [  -0.00000664640000
  -0.00003251000000
  -0.00008894300000
  -0.00018641000000
  -0.00033446000000
  -0.00054124000000
  -0.00081262000000
  -0.00115100000000
  -0.00155390000000
  -0.00201240000000
  -0.00251010000000
  -0.00302140000000
  -0.00351190000000
  -0.00393750000000
  -0.00424590000000
  -0.00437740000000
  -0.00426820000000
  -0.00385240000000
  -0.00306630000000
  -0.00185220000000
  -0.00016238000000
   0.00203670000000
   0.00476080000000
   0.00800500000000
   0.01174200000000
   0.01591900000000
   0.02046100000000
   0.02527200000000
   0.03023500000000
   0.03521700000000
   0.04007800000000
   0.04467000000000
   0.04885000000000
   0.05248200000000
   0.05544500000000
   0.05763800000000
   0.05898500000000
%  0.05943900000000
   0.05943900000000
   0.05898500000000
   0.05763800000000
   0.05544500000000
   0.05248200000000
   0.04885000000000
   0.04467000000000
   0.04007800000000
   0.03521700000000
   0.03023500000000
   0.02527200000000
   0.02046100000000
   0.01591900000000
   0.01174200000000
   0.00800500000000
   0.00476080000000
   0.00203670000000
  -0.00016238000000
  -0.00185220000000
  -0.00306630000000
  -0.00385240000000
  -0.00426820000000
  -0.00437740000000
  -0.00424590000000
  -0.00393750000000
  -0.00351190000000
  -0.00302140000000
  -0.00251010000000
  -0.00201240000000
  -0.00155390000000
  -0.00115100000000
  -0.00081262000000
  -0.00054124000000
  -0.00033446000000
  -0.00018641000000
  -0.00008894300000
  -0.00003251000000
  -0.00000664640000];
L = length(h);
hr = remez(L-1, [0,100*2/44100, 2500*2/44100, 1], [1,1,0,0] );

freqz(h,1);
hold on;

freqz(hr,1);


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vaduts   вопросик по КИХ-фильтрам   Nov 30 2006, 02:05
- - =GM=   Цитата(vaduts @ Nov 29 2006, 23:05) Здрас...   Dec 5 2006, 13:58
|- - vaduts   Цитата(=GM= @ Dec 5 2006, 14:58) Цитата(v...   Dec 5 2006, 22:11
|- - vaduts   [/quote] Самое интересное что ФЧХ остаеться линейн...   Dec 6 2006, 12:41
|- - evg123   [quote name='vaduts' date='Dec 6 2006,...   Dec 7 2006, 20:20
|- - vaduts   [/quote] Любой КИХ фильтр можно зделать таким, что...   Dec 8 2006, 00:16
- - mdmitry   АЧХ и ФЧХ между собой связаны, стоит посмотреть ли...   Dec 5 2006, 16:09
|- - =GM=   Цитата(mdmitry @ Dec 5 2006, 13:09) АЧХ и...   Dec 5 2006, 19:06
|- - vaduts   [quote name='=GM=' date='Dec 5 2006, 2...   Dec 5 2006, 22:35
|- - vaduts   Цитата(alex_os @ Dec 20 2006, 12:28) не п...   Dec 20 2006, 23:44
|- - vaduts   если для ремеза задать границы переходной полосы т...   Dec 21 2006, 00:57
- - Stanislav   Цитата(vaduts @ Nov 30 2006, 02:05) Здрас...   Dec 13 2006, 21:35
- - vaduts   Цитата(Stanislav @ Dec 13 2006, 22:35) Ци...   Dec 15 2006, 11:55
- - SM   Цитата(vaduts @ Dec 15 2006, 11:55) Так в...   Dec 17 2006, 23:24


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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 02:36
Рейтинг@Mail.ru


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