|
Преобразование Фурье и прогнозирование., Как сделать БПФ и ИБПФ, чтобы компенсировать в реальном времени. |
|
|
|
Jun 3 2008, 17:20
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Народ может кто подскажет? Работаем с сетью и компенсируем гармоники тока. В настоящий момент это работает следующим образом: Запоминается 1 период 20мс, затем из него получаем 1024точечное преобразование Фурье, выбираем нужные и выкидываем ненужные гармоники и делаем из этого обратное преобразование Фурье. В результате получается компенсирующий ток, который после вычитания тока сети дает синусоиду. Проблема в том, что из-за того, что Фурье требует время для подсчета, то результат всегда является устаревшим по отношению к текущему току и приходится задерживать воздействие на 1 период. Это нормально для пост. нагрузки, но при изменении нагрузки идет задержка на 1 период. Вопрос: можно ли как нибудь спрогнозировать с помощью преобразования Фурье или какими.то другими методами, какой будет сигнал на момент, когда все подсчитается, чтобы компенсировать в реальном времени?
|
|
|
|
|
 |
Ответов
|
Jun 5 2008, 14:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

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

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

|
2 syoma: Никак. БПФ(ДПФ) блочный линейный лгоритм. Предсказывать будущее он не сможет никак, и в этом аспекте Tanya была абсолютно права. У Вас есть на выбор два пути: 1) путь падавана - применить линейную адаптивную фильтрацию ненужных гармоник (как посоветовали в постах повыше) - хватит простейшей в виде ФАПЧ. Только алгоритм должен быть FIFO(непрерывный) - фильтр Герцеля, например  . 2) путь великого мастера-джедая - применить компенсатор нелинейности (выраженный у Вас в лишних спектральных компонентах). Его приимущества - это "застывшая"(время отработки практически неизменно в отличие от адаптивной фильтрации) модель содержащая "антимодель" Вашей устаноки(ну того, что продуцирует эту синусоиду с гармониками). Это тоже не блочный метод  ... Кстати, блок с высоким наличием помехи возникающий при резком перепаде в соотношении сигнал/помеха - то что у Вас получилось в данном случае - это ближайший родственник "артефактов" преследующих оконные алгоритмы с гармоническими функциями (Фурье, косинусное и т.д. преобразования) во всех областях применения - аудиокодеки, видео кодирование и т.д. От этого есть панацея - и зовется она - вейвлеты  ... Это я говорю наслучай если без блочности - никак... Предугадывать все-равно не получится, но получится эффективнее обрабатывать детали внутри блока непрерывным (опять же) адаптивным алгоритмом. Но думаю для этого случая - это из фазера по беззащитным ни в чем не повинным воробьям  ... Цитата(petrov @ Jun 5 2008, 19:20)  БПФ здесь не к чему вообще. Спомощью ФАПЧ и АРУ вы можете подстроить местный генератор и вычесть первую гармонику или фильтром её выделить и вычесть получив таким образом сигнал с ненужными гармониками. Непонятно как вы собираетесь его потом вычитать, ведь это в матлабе всё так идеально получается, в реальности же будут непредсказуемые задержки непредсказуемые коэффициенты передачи. Поэтому после вычитания нужно по обратной связи подстраивать адаптивный фильтр который который будет компенсировать непредсказуемые задержки и коэффициенты передачи, но сам адаптивный фильтр будет иметь задержку для реализуемости, а исходный сигнал из которого производите вычитание я так понимаю, вы задержать не можете. Частоты то невысокие. Главное чтобы процессор (или ПЛИСина) успевал отработать во временнОм промежутке между поступлением отсчетов. Цитата(Stanislav @ Jun 5 2008, 19:43)  .......................................................................... Данную задачу можно решить и в аналоге. Получится проще, и, по-моему, гораздо точнее и надёжнее. Если есть интерес - могу рассказать подробнее, как это нужно делать. Можно...но я так понял, что частоты то мизерные.
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Jun 5 2008, 18:08
|

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

|
Цитата(DRUID3 @ Jun 5 2008, 20:48)  Можно...но я так понял, что частоты то мизерные. Судя по приведённым графикам, не очень-то. Цитата(syoma @ Jun 5 2008, 22:00)  В том то и дело, что такая вещь у нас уже есть. Возможно я не полностью расказал, но я применяю БПФ когда надо компенсировать не все гармоники, а например только 5 и 11. Или например если 3-ю не надо, а все остальные надо. У, как! Извините за нескромный вопрос, но зачем это нужно? Чистое любопытство... Цитата(syoma @ Jun 5 2008, 22:00)  ...Вычитание происходит путем простой генерации компенсирующего тока (сигнал после БПФ) инвертером. Токи нагрузки и компенсирующий ток складываются и в результате в сети должен течь только синусоидальный ток. Мне же только до 50 гармоники компенсировать надо, так что погрешности небольшие возникают. Ну, это смотря какие компоненты применять, и как писать программу... Задержка регулирования в инвертере также существенна.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|