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

 
 
> Преобразование Фурье и прогнозирование., Как сделать БПФ и ИБПФ, чтобы компенсировать в реальном времени.
syoma
сообщение Jun 3 2008, 17:20
Сообщение #1


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

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Народ может кто подскажет?
Работаем с сетью и компенсируем гармоники тока.
В настоящий момент это работает следующим образом:
Запоминается 1 период 20мс, затем из него получаем 1024точечное преобразование Фурье, выбираем нужные и выкидываем ненужные гармоники и делаем из этого обратное преобразование Фурье. В результате получается компенсирующий ток, который после вычитания тока сети дает синусоиду.
Проблема в том, что из-за того, что Фурье требует время для подсчета, то результат всегда является устаревшим по отношению к текущему току и приходится задерживать воздействие на 1 период. Это нормально для пост. нагрузки, но при изменении нагрузки идет задержка на 1 период.
Вопрос: можно ли как нибудь спрогнозировать с помощью преобразования Фурье или какими.то другими методами, какой будет сигнал на момент, когда все подсчитается, чтобы компенсировать в реальном времени?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
syoma
сообщение Jun 5 2008, 14:46
Сообщение #2


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

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Прикрепленное изображение

Все очень просто:
На картинке сверху - исходный сигнал.
Посередине - сигнал который получен после прямого преобразования фурье одного периода первого сигнала, затем первая гармоника была выкинута, а остальные гармоники прошли через инверсное БПФ.
Третий сигнал представляет собой результат вычитания второго сигнала из первого.
Теоретически должна получаться идеальная синусоида, но это не получается из.за задержек БПФ - и приходится все применать с задержкой в 1 период.
То есть по каритнке примерно так:
Первое БПФ происходит через на 20мс. При этом во входном буфере находится 1 период исходного сигнала. БПФ вытворяет указанные операцие и записывает в выходной буфер измененный сигнал. Так как сигнал не изменился с тех пор как произошло бпф, то наложение происходит успешно и получается синусоида. Дальше каждое БПФ и обновление выходного буфера производится каждые 10мс.
Примерно на 38мс я отключил высокие гармоники - видно, что входной сигнал изменился.
Но что выдает БПФ? БПФ на 50мс "видит" входной сигнал за последние 20мс, то есть 8мс сигнала с высокой гармоникой и 12мс сигнала без высокой гармоники. Естественно на выходе получается 8мс неправильного сигнала и 12мс правильного. И в итоге синусоида получается только на 58мс.

Вот и вопрос как сказать БПФ, что сигнал уже изменился? Толи с других точек информацию брать,то ли не знаю.
С генератором непонятно как его настраивать.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 5 2008, 16:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



БПФ здесь не к чему вообще. Спомощью ФАПЧ и АРУ вы можете подстроить местный генератор и вычесть первую гармонику или фильтром её выделить и вычесть получив таким образом сигнал с ненужными гармониками. Непонятно как вы собираетесь его потом вычитать, ведь это в матлабе всё так идеально получается, в реальности же будут непредсказуемые задержки непредсказуемые коэффициенты передачи. Поэтому после вычитания нужно по обратной связи подстраивать адаптивный фильтр который который будет компенсировать непредсказуемые задержки и коэффициенты передачи, но сам адаптивный фильтр будет иметь задержку для реализуемости, а исходный сигнал из которого производите вычитание я так понимаю, вы задержать не можете.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Jun 5 2008, 16:48
Сообщение #4


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



2syoma:
Никак. БПФ(ДПФ) блочный линейный лгоритм. Предсказывать будущее он не сможет никак, и в этом аспекте Tanya была абсолютно права.
У Вас есть на выбор два пути:
1) путь падавана - применить линейную адаптивную фильтрацию ненужных гармоник (как посоветовали в постах повыше) - хватит простейшей в виде ФАПЧ. Только алгоритм должен быть FIFO(непрерывный) - фильтр Герцеля, например smile.gif .
2) путь великого мастера-джедая - применить компенсатор нелинейности (выраженный у Вас в лишних спектральных компонентах). Его приимущества - это "застывшая"(время отработки практически неизменно в отличие от адаптивной фильтрации) модель содержащая "антимодель" Вашей устаноки(ну того, что продуцирует эту синусоиду с гармониками). Это тоже не блочный метод smile.gif ...

Кстати, блок с высоким наличием помехи возникающий при резком перепаде в соотношении сигнал/помеха - то что у Вас получилось в данном случае - это ближайший родственник "артефактов" преследующих оконные алгоритмы с гармоническими функциями (Фурье, косинусное и т.д. преобразования) во всех областях применения - аудиокодеки, видео кодирование и т.д. От этого есть панацея - и зовется она - вейвлеты biggrin.gif ... Это я говорю наслучай если без блочности - никак... Предугадывать все-равно не получится, но получится эффективнее обрабатывать детали внутри блока непрерывным (опять же) адаптивным алгоритмом. Но думаю для этого случая - это из фазера по беззащитным ни в чем не повинным воробьям smile.gif ...
Цитата(petrov @ Jun 5 2008, 19:20) *
БПФ здесь не к чему вообще. Спомощью ФАПЧ и АРУ вы можете подстроить местный генератор и вычесть первую гармонику или фильтром её выделить и вычесть получив таким образом сигнал с ненужными гармониками. Непонятно как вы собираетесь его потом вычитать, ведь это в матлабе всё так идеально получается, в реальности же будут непредсказуемые задержки непредсказуемые коэффициенты передачи. Поэтому после вычитания нужно по обратной связи подстраивать адаптивный фильтр который который будет компенсировать непредсказуемые задержки и коэффициенты передачи, но сам адаптивный фильтр будет иметь задержку для реализуемости, а исходный сигнал из которого производите вычитание я так понимаю, вы задержать не можете.

Частоты то невысокие. Главное чтобы процессор (или ПЛИСина) успевал отработать во временнОм промежутке между поступлением отсчетов.

Цитата(Stanislav @ Jun 5 2008, 19:43) *
..........................................................................
Данную задачу можно решить и в аналоге. Получится проще, и, по-моему, гораздо точнее и надёжнее.
Если есть интерес - могу рассказать подробнее, как это нужно делать.

Можно...но я так понял, что частоты то мизерные.


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jun 5 2008, 18:08
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(DRUID3 @ Jun 5 2008, 20:48) *
Можно...но я так понял, что частоты то мизерные.
Судя по приведённым графикам, не очень-то.

Цитата(syoma @ Jun 5 2008, 22:00) *
В том то и дело, что такая вещь у нас уже есть. Возможно я не полностью расказал, но я применяю БПФ когда надо компенсировать не все гармоники, а например только 5 и 11. Или например если 3-ю не надо, а все остальные надо.
У, как!
Извините за нескромный вопрос, но зачем это нужно? Чистое любопытство... smile.gif

Цитата(syoma @ Jun 5 2008, 22:00) *
...Вычитание происходит путем простой генерации компенсирующего тока (сигнал после БПФ) инвертером. Токи нагрузки и компенсирующий ток складываются и в результате в сети должен течь только синусоидальный ток. Мне же только до 50 гармоники компенсировать надо, так что погрешности небольшие возникают.
Ну, это смотря какие компоненты применять, и как писать программу... Задержка регулирования в инвертере также существенна.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- syoma   Преобразование Фурье и прогнозирование.   Jun 3 2008, 17:20
- - _Pasha   Имхо мое такое: Фильтрами или ДПФ/БПФ у нас все р...   Jun 4 2008, 07:03
- - syoma   В принципе фазовая синхронизация у нас производитс...   Jun 4 2008, 07:34
- - _Pasha   Вот. А дальше у Вас есть оценка амплитуды на преды...   Jun 4 2008, 07:54
- - GetSmart   Может раскажете, какие из 512 гармоник являются ...   Jun 4 2008, 08:31
- - Tanya   Цитата(syoma @ Jun 3 2008, 21:20) Народ м...   Jun 4 2008, 09:23
- - DRUID3   Есть нелинейные предсказатели, например, на основе...   Jun 4 2008, 10:22
|- - _Pasha   В общем так. Если напряжение не скачет, то образцо...   Jun 4 2008, 10:32
|- - _Pasha   В общем так. Если напряжение не скачет, то образцо...   Jun 4 2008, 10:34
|- - Tanya   Цитата(DRUID3 @ Jun 4 2008, 14:22) 2Tanya...   Jun 4 2008, 10:51
|- - DRUID3   Цитата(Tanya @ Jun 4 2008, 13:51) Завидую...   Jun 4 2008, 11:05
- - Stanislav   Цитата(syoma @ Jun 3 2008, 21:20) Вопрос:...   Jun 5 2008, 16:43
|- - _Pasha   Цитата(Stanislav @ Jun 5 2008, 19:43) Ест...   Jun 5 2008, 19:09
|- - Stanislav   Цитата(_Pasha @ Jun 5 2008, 23:09) Там ещ...   Jun 5 2008, 19:45
|- - _Pasha   Цитата(Stanislav @ Jun 5 2008, 22:45) Э-э...   Jun 6 2008, 04:14
|- - Stanislav   Цитата(_Pasha @ Jun 6 2008, 08:14) Это ре...   Jun 6 2008, 05:47
|- - DRUID3   Цитата(_Pasha @ Jun 6 2008, 07:14) Это ре...   Jun 6 2008, 09:56
|- - Stanislav   Цитата(DRUID3 @ Jun 6 2008, 13:56) Но для...   Jun 6 2008, 10:03
- - syoma   ЦитатаПредугадывать все-равно не получится, но пол...   Jun 5 2008, 18:00
- - syoma   Ну получается фундаментальная частота - 50Гц. 50-я...   Jun 5 2008, 18:13
- - GetSmart   Если ИБПФ (ОДПФ) текущего периода прекрасно гасит ...   Jun 5 2008, 18:31
- - syoma   ЦитатаЕсли ИБПФ (ОДПФ) текущего периода прекрасно ...   Jun 5 2008, 20:24
- - GetSmart   Если нет "прямых" и простых закономернос...   Jun 5 2008, 21:11
|- - DRUID3   Цитата(GetSmart @ Jun 6 2008, 00:11) Кста...   Jun 5 2008, 21:16
- - syoma   ЦитатаКстати, если есть окно 20 мс из 1024 точек, ...   Jun 5 2008, 21:36
|- - DRUID3   Цитата(syoma @ Jun 6 2008, 00:36) Самый б...   Jun 5 2008, 22:07
- - GetSmart   Ну дык я как обычно предложил предельный вариант. ...   Jun 5 2008, 21:39
- - GetSmart   syoma, есть ли статистические данные по смене спек...   Jun 6 2008, 08:46
- - syoma   Цитатаглобальная цель задачи - очистить главную га...   Jun 6 2008, 09:59
- - GetSmart   "ползучее" ДПФ имеет минимально возможну...   Jun 6 2008, 10:23
- - syoma   ЦитатаЭто реалии современной силовой электроники. ...   Jun 6 2008, 10:23
|- - Stanislav   Цитата(syoma @ Jun 6 2008, 14:23) Pasha п...   Jun 6 2008, 10:31
- - GetSmart   Цитата(syoma)Цитатано при наихудшем случае 50% под...   Jun 6 2008, 10:53
- - syoma   ЦитатаЕсли остальные гармоники будут, по Вашему вы...   Jun 6 2008, 11:46
|- - Stanislav   Цитата(syoma @ Jun 6 2008, 15:46) Чего эт...   Jun 6 2008, 12:08
|- - evgeny_ch   Цитата(Stanislav @ Jun 6 2008, 15:08) ......   Jun 6 2008, 12:47
- - syoma   ЦитатаТого, что они компенсируются корректорами. Е...   Jun 6 2008, 13:04
|- - Stanislav   Цитата(syoma @ Jun 6 2008, 17:04) Вы похо...   Jun 6 2008, 14:27
- - GetSmart   Цитата(syoma)Но если парралельно нагрузке подсоеди...   Jun 6 2008, 14:37
- - syoma   ЦитатаНу, и? В чём состоит Ваша задача? Подавить г...   Jun 6 2008, 14:39
|- - Stanislav   Цитата(syoma @ Jun 6 2008, 18:39) В сети ...   Jun 6 2008, 15:11
- - syoma   ЦитатаИзмеряете-то Вы ток сети, а не нагрузки, не ...   Jun 6 2008, 15:17
|- - alex_os   Если хотите давить какие-то конкретные гармоники (...   Jun 7 2008, 17:05
- - Ulysses   Для определения спектрального состава сигнала суще...   Jun 11 2008, 16:42
|- - DRUID3   Цитата(Ulysses @ Jun 11 2008, 19:42) Для ...   Jun 12 2008, 06:48
|- - Ulysses   Цитата(DRUID3 @ Jun 12 2008, 09:48) Что-т...   Jun 19 2008, 14:32
- - syoma   to Ulysses: Можете рассказать подробнее или ссылоч...   Jun 12 2008, 04:02
- - Ulysses   Цитата(syoma @ Jun 12 2008, 07:02) Можете...   Jun 17 2008, 14:10


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

 


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


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