НейроГалактика

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » НейроГалактика » Совместная работа » Цифровой фильтр


Цифровой фильтр

Сообщений 1 страница 9 из 9

1

Вадимка, можно тебя попросить сделать такое доброе дело: сдизайнерить образец фильтра и показать, как это надо делать. По возможности, 2-3 картинки с комментариями, если не затруднит.

Я поставил себе на компьютер Матлаб 6.5. Запустил его, пошарился по примерам, нашел, где делать фильтры, и даже что-то такое сделал... Вывод о том, что я что-то сделал я сделал потому, что у меня графики изменились и появился список значений весов, примерно такого вида:

0.158453958359385
0.003402357209573
0.102039432502321
0.000345324523452
0.203259852345039
0.034503947530482

и т.д. Увидел я АХЧ, увидел еще что-то такое... ну, короче, явно я что-то сделал.

Кроме просьбы об образцово-показательном фильтре (и как это делается - с комментариями), я хотел бы еще попросить тебя разъяснить несколько ключевых понятий.

Когда речь идет о фильтрах, вся терминология идет в волновой направленности: амплитуды, частоты (в беллах), и т.д. и т.п.

Просьба такая: объясни, где у бара амплитуда и где частота?... Где у группы баров амплитуда и где частота?... Ну, короче, буквально три-четыре базовых термина "переведи на наш", если можно, - буду тебе очень благодарен.

В завершение еще если останется время, прокомментриуй, пожалуйстя графики, получаемые при генерации фильтра. Я заметил, что часто бывают там отрицательные значения частоты... или что график сначала активно падает, а потом волнообразно растет... менее интенсивно, но уверенно... чего это такое? о чем это?...

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

0

2

ОК. Постараюсь в ближ время. Пока следующее: на амплитуду можно забить вообще. Частота для нас не очень удобна для восприятия. Для нас проще мыслить в терминах периодов. Период это величина обратная частоте, т.е. P=1/f. Но в матлабе мы должны задавать частоту. Всё оч. просто. Напр., мы хоти чтобы фильтр отсекал все тенденции короче 20-дневных (имеются ввиду дневные графики). Тогда в качестве частоты среза мы должны указать 1/20=0.05. Эта величина будет соответствовать периоду в 20 дней.
Продолжение следует...

0

3

Так... с периодами и частотами более-менее понятно... но только возникает тогда вопрос...

beholder22 написал(а):

Период это величина обратная частоте, т.е. P=1/f. Но в матлабе мы должны задавать частоту. Всё оч. просто. Напр., мы хоти чтобы фильтр отсекал все тенденции короче 20-дневных (имеются ввиду дневные графики).

При данных вот обстоятельствах, что получится в итоге? Если какое-то направленное движение длится 20 дней, то на 21-й день сигнал об этом пройдет сквозь сгенерированный таким образом фильтр, так?... а если, скажем, рынок шел направленно 19 дней, а потом сменил направление - то информация об этом не дойдет до пользователя, а будет погашена фильтром... так? Правильно я понимаю?...

Сегодня снова полезу в матлаб... может, что-то удастся сообразить...

0

4

Нет. Тренд - это вообще сигнал на нулевой частоте. Как бы лучше объяснить? При частоте среза 0.05 (эквивалентный период 20) будут подавлятся частоты выше 0.05 (т.е. колебания с периодом меньше 20). Т.е. итоговый график будет более гладким, поскольку из него вычли высокочастотный шум.
Давайте для начала синтезируем такой вот фильтрик

0

5

Некоторые пояснения:

Order - Порядок фильтра (колво весов-1)

Response type - Тип отклика
Lowpass - фильтр НЧ
Highpass - фильтр ВЧ
Bandpass - полосовой

Design Method - Метод дизайна

FIR - КИХ-фильтр (с Конечной Импульсной Характеристикой)
Generalized Equiripple - Обобщенный "эквиволновый" (ripple - рябь)

Filter Order - Minimum order - Минимально необходимый порядок для соответствия спецификациям

Phase - Minimum - Минимальный фазовый сдвиг (т.е. запаздывание!)

Frequency Specifications - Частотные спецификации

Units: Normalized - Единицы: нормализованная частота (0-1)
wpass - частота, с которой начинается подавление нежелательных частот
wstop - частота, после которой нежелательные частоты полностью подавляются

Magnitude Specifications - Амплитудные спецификации
Units: linear - Единицы: линейные (мне лично проще мыслить в обычных единицах, чем децибеллах)
Dpass - амплитуда колебаний в полосе пропускания
Dstop - амплитуда колебаний в полосе непропускания

0

6

После того как фильтр будет готов неполенитесь сразу сделать некоторые настройки по умолчанию в меню Analysis/Analysis Parameters

0

7

beholder22 написал(а):

Filter Order - Minimum order - Минимально необходимый порядок для соответствия спецификациям

Сила!!!

beholder22 написал(а):

Phase - Minimum - Минимальный фазовый сдвиг (т.е. запаздывание!)

Силища!!!

beholder22 написал(а):

При частоте среза 0.05 (эквивалентный период 20) будут подавлятся частоты выше 0.05 (т.е. колебания с периодом меньше 20).

Все, кажись, дошло до меня... это же - фильтр НИЗКИХ частот, т.е., он ПРОПУСКАЕТ (!) низкие частоты. А высокие, соответственно, фильтрует. По твоим словам, вроде бы, так получается.

(хм... я, почему-то всегда думал, что наоборот, что ФНЧ ФИЛЬТРУЕТ (т.е., подавляет) низкие частоты)

beholder22 написал(а):

мне лично проще мыслить в обычных единицах, чем децибеллах

Полностью с тобой согласен!
но, тогда хотел бы уточнить: получается, что в нашем случае, если мы заранее знаем, что сигналом у нас будет приращение цены закрытия (с плюсом или с минусом) в пунктах, то, получается, что

beholder22 написал(а):

Dpass - амплитуда колебаний в полосе пропускания
Dstop - амплитуда колебаний в полосе непропускания

это (в твоем примере, в обоих случаях 0.01) - сотни пунктов?... (0.0100 = 100 пт.) так?

З.Ы. Большое спасибо за разъяснения! :)) Буду генерить у себя такой же фильтр, как у тебя ;) А может, если успею, то и еще погенерирую...

0

8

NeuroMaximus написал(а):

(хм... я, почему-то всегда думал, что наоборот, что ФНЧ ФИЛЬТРУЕТ (т.е., подавляет) низкие частоты)

Ну нет, это ты зря так. Хотя я понимаю от чего так. Англ. термин lowpass (дословно "пропускающий низкие") - более удачный и понятный.

NeuroMaximus написал(а):

это (в твоем примере, в обоих случаях 0.01) - сотни пунктов?... (0.0100 = 100 пт.) так?

Нет. Это скорее просто некие абстрактные единицы. При 0.01 достигается примелемое качество фильтрации. Если эту цифру ещё уменьшить, напр., 0.001, то качество фильтрации станет ещё лучше, но при этом значительно возрастет порядок фильтра, что тоже не оч. желательно. Т.е. тут приходится находить компромисс между качеством фильтрации (низкие значения коэффта Dpass) и сложностью фильтра (высокий порядок фильтра).

Что ещё влияет на размер фильтра? Прежде всего - разница между wpass - частота, с которой начинается подавление нежелательных частот и wstop - частота, после которой нежелательные частоты полностью подавляются. Чем она больше, тем меньший требуется порядок фильтра. Т.е. чем точнее и круче фильтр подрезает частоты, тем больший требуется его порядок. В пределе когда разница wpass-wstop=0 порядок фильтра требуется бесконечный. Так что сдесь так же приходится искать некий компромисс.

0

9

Понятно, спасибо...
Ну, первые эксперименты у меня получились... правда, у меня несколько более старая (видимо), версия Матлаба...

0


Вы здесь » НейроГалактика » Совместная работа » Цифровой фильтр