Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Измерение за четверть периода
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
AKI.JAH
Уважаемые коллеги!

На входе сигнал основной частоты 50 Гц (эл. сеть 0.4 кВ). Требуется контролировать амплитуду сигнала с целью выявления просадки напряжения за четверть периода (5 мс). Рассматриваю методы вычисления векторов на основе мгновенных значений и их производных. Но все методы хорошо работают на чистом сигнале.Как лучше фильтровать сигнал чтобы получить минимальную задержку и как оценить необходимую частоту дискретизации?
SM
Цитата(AKI.JAH @ Mar 27 2014, 13:48) *
Как лучше фильтровать сигнал чтобы получить минимальную задержку и как оценить необходимую частоту дискретизации?


Я так думаю, что надо интерполироваться синусом... То есть вычислять такую A*sin(wt+phi), которая имеет минимальное среднеквадратичное отклонение от собранного четверть-периода. И полученная в результате этой оптимизации "A" будет искомой амплитудой. Частота дискретизации... надо понимать, сколько там шумов/помех и каких. В общем случае, чем больше, тем лучше...
TSerg
Запустить модель синуса, синхронизируемого с частотой сети и контролировать расхождение по амплитуде.
Наличие фильтра исходного сигнала учитывается фазовым сдвигом модели синуса.
Собственно, очевидно:
Шум 10%, просадка 5% в момент 20 мс и на дельте вылезает рассогласование 50 Гц которое уже отловить не проблема.
LPF II порядка, 55 Гц.

Нажмите для просмотра прикрепленного файла
TSerg
1. Слегка подправил собственные не принципиальные ошибки (по частоте) - не тот коэфф. ввел.
2. Ввел формирующий фильтр для более адекватного моделирования помех в сети.
3. Уточнил параметры ФНЧ по дельте.

Итого, картина - маслом.
Нажмите для просмотра прикрепленного файла

P.S.
Замечу, что это лишь ответ на конкретный вопрос - идентификация просадки, причем критерии заданы не были.
Так, что - каков вопрос, таков и ответ.
AKI.JAH
Цитата(TSerg @ Mar 27 2014, 19:39) *
Так, что - каков вопрос, таков и ответ.

Спасибо за подробный ответ. Есть ли разница где ставить фильтр на входной сигнал или на разность сигналов. И еще для построения синуса я определяю частоту входного сигнала за предыдущие периоды. Нужна ли для этого предварительная цифровая фильтрация. Частота дискретизации 10 кГц. На входе активный фильтр 5 кГц. ADC 12bit.
SM
Цитата(AKI.JAH @ Mar 28 2014, 09:11) *
И еще для построения синуса я определяю частоту входного сигнала за предыдущие периоды. Нужна ли для этого предварительная цифровая фильтрация.


Как правило, нужны. Но, в данном случае, скорее всего эффективнее всего будет петля ЦФАПЧ, где фильтр так и так стоит после ФД (его применить XOR-типа), а выходной сигнал петли есть как раз частота (которой управляется DDS).
Tanya
Цитата(AKI.JAH @ Mar 27 2014, 13:48) *
Уважаемые коллеги!

На входе сигнал основной частоты 50 Гц (эл. сеть 0.4 кВ). Требуется контролировать амплитуду сигнала с целью выявления просадки напряжения за четверть периода (5 мс).

Вы бы сказали более отчетливо... Вы все время измеряете (непрерывно), или изредка, попадая случайным образом куда-то?
Также непонятно, что, собственно, Вы хотите измерить? Ведь амплитуда искаженной синусоиды (непериодической функции) неопределенная вещь в себе.
AKI.JAH
Цитата(Tanya @ Mar 28 2014, 09:47) *
Вы бы сказали более отчетливо...

Напряжение эл. сети характеризуется действующим значением (за период). Нам нужно спрогнозировать изменение действующего (+-5-10% номинального) за четверть периода.
Tanya
Цитата(AKI.JAH @ Mar 28 2014, 10:27) *
Напряжение эл. сети характеризуется действующим значением (за период). Нам нужно спрогнозировать изменение действующего (+-5-10% номинального) за четверть периода.

Если бы Вы сразу написали. что нужно действующее... А как Вы думаете это прогнозировать?
Вот некто включил (ет) тиристором печку в последней четверти (или половине) полупериода... А Вы еще не знаете по старым измерениям... Измеряли, возводили в квадрат, суммировали... получалось 220.
Вы уж определитесь...
Pavia
TSerg
А можно узнать в какой программе вы модель строите?
Извеняюсь, что вклиниваюсь в тему.Просто интересно, а если мы имеем грязный синус с инвертора. То как отработает модель?

Понятно что ничего хорошего ждать не стоит, и врятли она будет работать. Но верю больше фактам, поэтому интересует результат моделирования.
AKI.JAH
Цитата(Tanya @ Mar 28 2014, 10:55) *
Если бы Вы сразу написали. что нужно действующее... А как Вы думаете это прогнозировать?
Вот некто включил (ет) тиристором печку в последней четверти (или половине) полупериода... А Вы еще не знаете по старым измерениям... Измеряли, возводили в квадрат, суммировали... получалось 220.
Вы уж определитесь...

Нет. Не так. Я хочу по мгновенным значениям определить изменение амплитуды сигнала. Алгоритм с моделью синуса тут вроде подходит. Правда, как вы сказали, если синусоида не искажена. Измерение производится непрерывно.
Tanya
Цитата(AKI.JAH @ Mar 28 2014, 12:10) *
Нет. Не так. Я хочу по мгновенным значениям определить изменение амплитуды сигнала. Алгоритм с моделью синуса тут вроде подходит. Правда, как вы сказали, если синусоида не искажена. Измерение производится непрерывно.

Мне вот видится, что Вы сами четко не осознаете, что Вы хотите. Или не можете сформулировать... Путаете амплитудное и действующее...
Попробуем наводящие вопросы... Вот Вы можете непрерывно (дискретно, все же) измерять скользящее среднее (интеграл от квадрата по четверти или какой-нибудь доле периода) и делить его на "'эталонное" табличное значение. Получится то, что Вы хотели?
polyakovav
Работать удобнее с полным периодом. В памяти создается опорный образец одного периода сигнала, который обновляется с небольшим коэффициентом, скажем 0.001. Этот образец отслеживает медленные изменения сигнала. Поступающий сигнал сравнивают с опорным через заданное время, хотя бы и через четверть периода.
Такой подход хорошо работает в случаях с периодическим сигналом сложной формы - кардиографии и т.п. Нужно обеспечить надежную синхронизацию с началом периода. При значительном уровне помех простого перехода через 0 может быть недостаточно.
TSerg
Цитата(Paviaa @ Mar 28 2014, 11:05) *
Просто интересно, а если мы имеем грязный синус с инвертора. То как отработает модель?


Создайте отдельную тему и задайте внятный вопрос.

Цитата(AKI.JAH @ Mar 28 2014, 10:27) *
Нам нужно спрогнозировать изменение действующего (+-5-10% номинального) за четверть периода.


Это совсем другая задача.
В простейшем варианте решается она примитивно просто - измерение действующего + фильтр-экстраполятор.
Fat Robot
О действующем значении за 1/4 периода можно лишь догадываться, пересчитав (оценив) его из мгновенного.

Оцениваете параметры основной составляющей сигнала: частоту, фазу и амплитуду
для этого вам потребуется ПФ, ограничитель, фапч и синхронный детектор.

строите AR модель шума. для этого вам нужно задаться полосой шума и порядком модели. Наверное это самая сложная часть. Именно она определит требования к входному фильтру, частоте отсчетов и мощности вычислителя. Но вы справитесь.

Дальше оцениваете, как прогноз (модель сигнала + модель шума) для следующей 1/4 периода отличается от реальности. CKO как мера вполне сгодится для начала. Потом можно попробовать ввести веса в зависимости от глубины предсказания.

Там, само собой, нужно анализировать четвертушки с перекрытием, но это все вы самостоятельно найдете и обоснуете.

как-то так.
thermit
Цитата
Fat Robot:
О действующем значении за 1/4 периода можно лишь догадываться


Собственно, коллеги, что тут еще обсуждать? Либо, формулируем задачу, либо, грызем ногти...

ps
Для особо продвинутых: гармоника за 1/4 периода и гармоника за период - 2 большие разницы, как говорят в одессе...
TSerg
Даже как-то странно, что вроде адекватные коллеги неадекватно выражают свое отношение ко вполне примитивным процедурам оценки параметров ограниченного сигнала.
TSerg
Простейшая, но эффективно работающая функц. схема вычисления эфф. значения EFV.
Инструментальная задержка 2 мс вызвана необходимостью выделения опорного синуса из "загаженного" сигнала сети.
Вычисление производится каждые четверть периода, т.е. за интервал 5 мс.
Коэфф. Scale корректирует потери сигнала во входном фильтре.
Может быть реализована в аналоговом, цифровом или смешанном видах.
Используя экстраполятор можно "предсказывать" тенденцию изменения эф.значения.

Нажмите для просмотра прикрепленного файла

Истины ради, следует отметить, что вычисление EFV производится по отфильтрованному сигналу, что несколько некорректно.
Если надо измерять точно исходный сигнал, то переходим к схеме с опорной синусоидой по модели, о чем выше несколькими постами говорилось:

Нажмите для просмотра прикрепленного файла
AKI.JAH
Цитата(TSerg @ Mar 29 2014, 14:15) *
Простейшая, но эффективно работающая функц. схема вычисления эфф. значения EFV.


Спасибо. Хочу попробовать Вашу модель. Можете поделиться rolleyes.gif
TSerg
Собственно, там все просто.
Детекторы нуля и максимума управляют циклом измерения (T=5 мс)
Имерение - тривиально: eff = sqrt(integral(x^2)/T)
Метод интегрирования - "прямоугольник", симпсон, etc, т.е. что лучше по затратам/точность.

Детектор нуля - гистерезисный детектор пересечения нуля.
Детектор максимума чуть посложнее: вычитание из входного сигнала, задержанного + опять же детектор нуля.
Параметры задержки и гистерезиса выбираются исходя из максимально допустимой временной (фазовой) ошибки определения нуля или максимума.

Прогнозирование - отдельная песня.
Но задача все же так и не озвучена в целом, поэтому это тоже только гадание на коф. гуще.
TigerSHARC
Автор топика замахнулся на разработку терминала РЗиА.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.