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

 
 
> Оконная функция с нужной АЧХ
ivan219
сообщение Jan 10 2012, 20:16
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Как создать оконную функцию с нужной мне АЧХ???
Это экспериментально теоретический вопрос.
АЧХ нужна в виде параболы.

Сообщение отредактировал ivan219 - Jan 10 2012, 20:19
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ivan219
сообщение Jan 11 2012, 11:44
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



AndeyP спасибо но если не затруднит более по подробнее с матлабом не дружу. Желательно чистый алгоритм с разъяснением.
soldat_shveyk проделал такое но результат скорее похож на ИХ КИХ фильтра чем на оконные функции.
Go to the top of the page
 
+Quote Post
AndeyP
сообщение Jan 11 2012, 19:08
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 25-06-06
Пользователь №: 18 344



soldat_shveyk прав в том что поскольку АЧХ окна является приближением к дельта-функции, то окно можно рассматривать и рассчитывать как НЧ КИХ фильтр, который подавляет все частоты кроме постоянной составляющей. Вот только если бы можно было в частотной области нарисовать произвольный отклик, то вообще не надо было бы париться с книгами по ЦОС. Как правило, удается получить только приближение к желаемому отклику. При использовании МНК для этого составляется система уравнений A X = Y, где X – вектор искомых коэффициентов окна во временной области, А – матрица с N столбцами и M строками. N = длина окна, M выбирается примерно на порядок больше N.

Каждая строка матрицы А вычисляет частотный отклик на одной из M заданных частот. Иными словами, она переводит вектор X из временной области в частотную. Поскольку искомое окно X обладает четной симметрией, можно ограничиться только косинусами, в этом случае желаемый отклик Y определяется действительными числами.
Элемент матрицы А на пересечении строки r и столбца c зависит только от нужной частоты, и равен cos((c+0.5*N) * freq[r]); где частота строки freq[r] задается в радианах. Например, при равномерной сетке freq[r] = PI*r/M (здесь используется симметрия в частотной области – в уравнениях участвуют только положительные частоты). В принципе можно также использовать симметрию окна во временной области, но в этом случае четные и нечетные N будут обрабатываться немного по разному, проще считать все окно, сдвинутое так, чтобы середина приходилась на 0, для чего добавляем (+0.5*N).

Если какая-то частота более «важна» чем другие, каждый элемент строки, соответствующей этой частоте, и соответствующий отклик Y[r] умножаются на соответствующий «важности» вес > 1.

Система решается стандартными численными методами, в результате получается вектор X, с частотным откликом, максимально близким к заданному Y в смысле наименьших квадратов. Если полученный отклик не удовлетворяет каким-то дополнительным ограничениям, можно повторить всю процедуру, увеличив вес тех частот, на которых отклик выходит за ограничения.

По возможности, систему лучше решать через ортогональные преобразования: при увеличении уровня подавления обусловленность системы может ухудшиться. В качестве грубой прикидки могу сказать что даблов хватает на 60-90 дБ при использовании нормальных уравнений и больше 150 дБ при QR преобразовании.
Go to the top of the page
 
+Quote Post



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

 


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


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