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

 
 
 
Reply to this topicStart new topic
> Анализ гармоник, Правильно ли я мыслю?
Alhen
сообщение Mar 1 2008, 13:05
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



В общем-то задача стандартная, есть сетевое напряжение 50 Гц, надо анализировать гармонические составляющие основной частоты.
Допустим,что я возьму кратное степени двойки или четверки число выборок АЦП за период (т.е. 20 мс) и выполню БПФ, то при частоте сети ниже или выше 50 Гц получу искаженный спектр.
В принципе можно предварительно точно измерить период основной частоты, а затем пересчитать выборки с помощью SampleRateConversion (интерполяция-децимация) так, чтобы скажем 512 точек точно попадали в период. Тогда спектр получается правильный (проверял в МатЛабе).
Вопрос, неужели на практике так и поступают, ведь мне эту процедуру надо еще и в BlackFin-е реализовать, а там она ресурсов памяти потянет...?
А процедура SRC обычно применяемая в звуковой обработке сигналов, годится ли она для электротехнических расчетов?
Go to the top of the page
 
+Quote Post
vladv
сообщение Mar 3 2008, 00:09
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 7-06-06
Пользователь №: 17 825



А что имеется в виду под "гармонические составляющие основной частоты"? 2, 3 и т.д. гармоники (нелинейные искажения) или спектральные составляющие вблизи основной гармоники (фазовый шум или помехи)?

Если в выборку не укладывается целое число периодов, то перед преобразованием Фурье оцифрованный сигнал умножают на специальную весовую функцию (окно). Например, окно Хэннинга, Хэмминга, Блэкмана. Просто посмотрите практически любую книжке или учебник по цифровой обработке сигналов. Тут, например: http://prodav.narod.ru/dsp/index.html.
Go to the top of the page
 
+Quote Post
Alhen
сообщение Mar 3 2008, 11:24
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



Да речь идет именно о 2, 3 и т.д. гармониках.
А про использование весовых функции я не знал smile.gif
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Mar 8 2008, 00:50
Сообщение #4


山伏
*****

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



Я бы сделал не так. БПФ это конечно был повод для расцвета ЦОС, но это не значит что его надо применять в любом проекте. Вам нужно точно отслеживать амплитуду вблизи сетки частот 50, 100, 150, 200 и т.д. Hz. А далеко от этих окрестностей Вам не только НЕ надо ничего знать, но там содержится еще энергия помех которая снизит точность по-любому. FFT ну очень грубый в этом случае метод, все вычислительные преимущества "быстрого" угробятся ненужным избытком обрабатываемого сигнала. Намного правильнее будет применить метод Герцеля - по-сути это накапливающий FIFO фильтр. Его преимущества очень существенны если нужно выделить узкий участок в спектре, а особенно в Вашем случае когда требуется только модуль - амплитуда. И еще у "Герцеля" незаменимый плюс - возможность плавной перестройки частоты - которой даже близко не может быть у FFT/DFT.


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


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



2 vladv
Поигрался с окнами ничего хорошего они не дают, как обычно три "палки" вместо одной на чистую синусоиду, я уж не говорю при наличие искажений.
2 DRUID3
Спасибо,
что же посмотрим кто такой Герцель.
Go to the top of the page
 
+Quote Post
vid435
сообщение Mar 12 2008, 13:04
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 9-03-07
Пользователь №: 26 008



Цитата(Alhen @ Mar 1 2008, 17:05) *
В принципе можно предварительно точно измерить период основной частоты, а затем пересчитать выборки с помощью SampleRateConversion (интерполяция-децимация) так, чтобы скажем 512 точек точно попадали в период. Тогда спектр получается правильный (проверял в МатЛабе).
Вопрос, неужели на практике так и поступают, ведь мне эту процедуру надо еще и в BlackFin-е реализовать, а там она ресурсов памяти потянет...?

Я так и делал в анализаторе качества электроэнергии для измерения гармоник до 50-ой.
Измерять частоту первой гармоники надо было по любому. Дробный интерполятор тоже не очень страшная штука.
Стандарт IEC 61000-4-7 на измерение гармоник подразумевает именно такой метод. Стандарт описывает процедуру группировки отсчетов фурье вокруг гармоник и между ними, требуется именно фурье с большим числом точек, герцель не проходит никик.
МИПСов на вычисление 8 реальных фурье требуется немного (для ТМС 5509). Если требуется могу рассказать более подробно.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Mar 12 2008, 13:30
Сообщение #7


山伏
*****

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



Цитата(vid435 @ Mar 12 2008, 15:04) *
Я так и делал в анализаторе качества электроэнергии для измерения гармоник до 50-ой.
Измерять частоту первой гармоники надо было по любому. Дробный интерполятор тоже не очень страшная штука.
Стандарт IEC 61000-4-7 на измерение гармоник подразумевает именно такой метод. Стандарт описывает процедуру группировки отсчетов фурье вокруг гармоник и между ними, требуется именно фурье с большим числом точек, герцель не проходит никик.
МИПСов на вычисление 8 реальных фурье требуется немного (для ТМС 5509). Если требуется могу рассказать более подробно.

07.gif врать не буду, со стандартом не знаком. Хотя и странный он. 07.gif


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
vid435
сообщение Mar 12 2008, 15:13
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 9-03-07
Пользователь №: 26 008



Как я понимаю, смысл применения фурье как раз заключается в том чтобы точно разделить частоты гармоник, интергармоник и субгармоник. Например сигнал в полосе 95 - 105 Гц считать второй гармоникой, в полосе 110 - 140 Гц интергармоникой, в 145 - 155 Гц третьей и т.д.

Относительно размеров памяти - действительно для обработки 4-х токов и 4-х напряжений требуется 4 * 2048 комплексных слов и нужнa еще двойная буферизация (чтобы делать вычисления одновременно с накоплением следующих отсчетов) = 32768 слов. Я их хранил во внешней динамической памяти и копировал во внутреннюю для выполнения вычислений FFT. Кстати, за одно комплексное вычислени FFT можно вычислить два FFT для реальных сигналов.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Mar 12 2008, 15:22
Сообщение #9


山伏
*****

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



Цитата(vid435 @ Mar 12 2008, 17:13) *
Как я понимаю, смысл применения фурье как раз заключается в том чтобы точно разделить частоты гармоник, интергармоник и субгармоник. Например сигнал в полосе 95 - 105 Гц считать второй гармоникой, в полосе 110 - 140 Гц интергармоникой, в 145 - 155 Гц третьей и т.д.


Ну а Герцель не это ли самое делает?


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

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 03:51
Рейтинг@Mail.ru


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