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

 
 
 
Reply to this topicStart new topic
> Полосовой фильтр 50Гц +/- 1Гц, новичок
Gerasimov
сообщение Oct 23 2007, 13:26
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 23-10-07
Пользователь №: 31 648



Здравствуйте!

Решил для уменьшения элементов на плате убрать ОУ не котором реализован полосовой фильтр 2-го порядка 50Гц +/- 1Гц, и завести эти данный напрямую на МК. АЦП 12Бит, частота ацэпирования 50КГц.

1/2-я напряжения это НОЛЬ сигнала (пришлось сместить НОЛЬ сигнала чтоб в МК засунуть)

В общем как перейти от аналогового фильтра к цифровому (как делать ПИД-регулятор в цифре я научился после того как расписал по формулам его работу как напряжения в точках схемы) имея его вид на приципиальной схеме, или это вообще не нужно?

Не пинайте, помогите дельным советом, а лучше чем-то из практики, ужо много книжкоф скачал и посмотрел, но что-то не догоняю help.gif

Вроде как подходит БИХ (о! я уже такие слова знаю!) но как его сделать полосовым и найти коэффициенты человеку ранее с "глубокой математикой" не связанному?

С уважением.
Go to the top of the page
 
+Quote Post
GDI
сообщение Oct 23 2007, 13:39
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



По-моему для любого ДСП процессора в комплекте со средой разработки идуп примеры фильтров, а уж коэфффициенты рассчитывайте в матлабе.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Vasiliy Rufitski...
сообщение Oct 23 2007, 15:29
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 19-10-07
Пользователь №: 31 519



Как я понимаю, фильтр наверное нужен не полосовой, а режекторный (я подозреваю, что нужно фильтровать сигнал от сетевых наводок).
И потом, фильтр второго порядка при таком соотношении фильтруемой частоты и частоты дискретизации не получится даже БИХ при точности преобразований в 12 бит. Отсюда вопрос: какая разрядность процессора для выполнения вычислений?

В общем, действительно ли у Вас полосово

Как я понимаю, фильтр наверное нужен не полосовой, а режекторный (я подозреваю, что нужно фильтровать сигнал от сетевых наводок).
И потом, фильтр второго порядка при таком соотношении фильтруемой частоты и частоты дискретизации не получится даже БИХ при точности преобразований в 12 бит. Отсюда вопрос: какая разрядность процессора для выполнения вычислений?

В общем, действительно ли у Вас полосовой фильтр и какая разрядность МК?
Структуру и коэффициенты я посчитаю с помощью fdatool, и даже АЧХ приложу.
Go to the top of the page
 
+Quote Post
Gerasimov
сообщение Oct 24 2007, 05:24
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 23-10-07
Пользователь №: 31 648



В общем, действительно ли у Вас полосовой фильтр и какая разрядность МК?
Структуру и коэффициенты я посчитаю с помощью fdatool, и даже АЧХ приложу.
[/quote]

Благодарю за ответ!

Как раз полезный сигнал у меня сетевые 50Гц их нужно очисить с низу и сверху на 1 Гц (т.е. полоса 49-51Гц). Процесор 8-ми битка 50МГц MCS51 (в общем не DSP ;-) возможности ADC позволяют 100КГц 12бит для каждого канала.

Будет два зашумлённых сигнала из которых нужно выделить 50Гц и померить между ними фазу, (фазу я могу и компараторами с таймером померить)

Вот.
Go to the top of the page
 
+Quote Post
Vasiliy Rufitski...
сообщение Oct 24 2007, 15:19
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 19-10-07
Пользователь №: 31 519



Вашу задачу ИМХО лучше решить немного иначе...
Чтобы не делать лишнюю работу по фильтрации предлагаю сделать следующее:

1. Сделать децимацию входного сигнала (см. приложение
Прикрепленное изображение
). Поскольку такой частоты дискретизации (50 кГц) не нужно для 50 Гц. Вполне достаточно 500 Гц. Т.е. нужно взять каждый сотый входной отсчёт (собственно, децимация). Просто так их брать нельзя, могут возникнуть "зеркальные" частоты благодаря эфекту "элайзинга" (aliasing). Чтобы от него избавится, нужно профильтровать антиэлайзинг фильтром. Этой фильтрацию можно свести к нахождению среднего (в нашем случае из 100 отсчётов).
В случае, если вы уверены в отсутствии во входном сигнале частот (аналоговый ФНЧ на 250 Гц стоит перед АЦП ), больше чем новая fs/2, то достаточно просто взять каждый 100-ый отсчёт.

Без децимации, ИМХО, здесь не обойтись: слишком много памяти и ресурсов потребуется для обработки.

2. Реализовать схему квадратурной обработки (см. приложение
Прикрепленное изображение
).
Все операции ведуться для окна длиной в 10 отсчётов (при частоте дискретизации 500 Гц), которое идёт с перекрытием (двигается по одному отсчёту вдоль входной последовательности). Хотя можно сделать и больше, всё зависит от "степени реалтайма обработки".

X на схеме обозначает поэлементное умножение.

Каждый из 2-ух сигналов проходит такую обработку, определяется начальная фаза, а затем тупо 2 числа вычитаются.
Нужно, конечно, сделать atan, но это затабличить можно.

В общем, пойдёт такая схема, или Вы настаиваете на полосовом фильтре? )


PS
*ой, кажись в расчёте длины окна обшибся для квадратурной обработки. T - количество отсчётов окна.
Оно должно равняться двум периодам опорной частоты, т.е. 2*fs/f0 = 200 отсчётов, при fs = 500 Гц.

Сообщение отредактировал Vasiliy Rufitskiy - Oct 24 2007, 15:26
Go to the top of the page
 
+Quote Post
Vasiliy Rufitski...
сообщение Oct 24 2007, 18:42
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 19-10-07
Пользователь №: 31 519



> X на схеме обозначает поэлементное умножение.
Прошу меня простить, это свёртка.

И ещё приложения местами поменять нужно...

Сообщение отредактировал Vasiliy Rufitskiy - Oct 24 2007, 18:44
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 00:20
Рейтинг@Mail.ru


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