|
Оконное взвешивание, алгоритм применения |
|
|
|
Aug 10 2011, 14:35
|
Знающий
   
Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464

|
Есть задача: нужно посчитать THD в промышленной сети 50Гц. THD считается по 10 гармоникам (кратным оновной частоте). Основная частота меняется в пределах 45...55Гц. Я хочу применить алгоритм: -оцифровываю сигнал с частотой 4096Гц (это априорная величина задана жёстко), -затем оконное взвешивание (использую flattopwin в MATLAB - окно с плоской вершиной), -делаю БПФ на 512 точек (окно в 0,125с.) Теперь самое интересное, если гармоник 10, то нужно просто найти 10 пиков в спектре и вокруг взять корень квадратный из суммы квадратов окружающих эти пики бинов. Но если частота основной гармоники плавает от 45 до 55 Гц, то получается например для 9-й гармоники бины на которых основная энергия меняются от 52 до 59 (при частоте основной гармоники 45-55Гц), а для 10-й Гармоники основная энергия распределяется на 58-70 бинах (в зависимости от изменения основной гармоники), 11-я гармоника уже бегает с 63 (при 45 гц основной гармоники) до 77 (при 55 гц основной гармоники) бина. Иначе говоря трудно ожидать пики в одних и тех же местах спектра при изменении частоты основной гармоники, посему ищется способ однозначного определения местоположения пиков (амплитуд) гармоник в спектре. Речь идёт именно о поиске, так как на графиках точно видно что амплитуды всех гармоник имеют место быть с достаточно выскоой точностью.
|
|
|
|
|
 |
Ответов
|
Aug 12 2011, 13:10
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(Zelepuk @ Aug 12 2011, 15:58)  всмысле как? Я просто умножаю на окно, делаю БПФ и затем смотрю что получилось. Нулевая гармоника - это постоянная составляющая. Я новерное не так вырозился. У вас есть идеальная синусоида. Как вы на ней считаете гармоники их же там нет! Кроме основоной. Поэтому я и спросил что вы делаете с сигналом что бы появились гармоники.
|
|
|
|
|
Aug 12 2011, 13:29
|
Знающий
   
Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464

|
Цитата(ivan219 @ Aug 12 2011, 17:10)  Я новерное не так вырозился. У вас есть идеальная синусоида. Как вы на ней считаете гармоники их же там нет! Кроме основоной. Поэтому я и спросил что вы делаете с сигналом что бы появились гармоники. в матлабе делаю так >S = sin(2*pi*t*53)+0.5*sin(2*pi*t*53*5)+0.3*sin(2*pi*t*53*3)+0.1*sin(2*pi*t*53*4); это сигнал содержащий 5-ю, 3-ю и 4-ю гармоники. Цитата(bahurin @ Aug 12 2011, 16:52)  нет я говорю о том уже в котором посте, что не надо никакие гармоники складывать, если вы хотите померить уровень сигнала, надо мерить его по максимуму при учете к-та ослабления окна. Если вам надо знать уровень n-ой гармоники относительно основной, то и учитывать ослабление окна не требуется при взятии отношения оно само исчезнет. n-ю гармонику относительно основной мы меряем когда надо THD померять. А вот если интересует именно амплитуда конкретной гармоники в сравнении с амплитудой этой гармоники в исходном сигнале? У меня получается для сигнала S = sin(2*pi*t*53)+0.5*sin(2*pi*t*53*5)+0.3*sin(2*pi*t*53*3)+0.1*sin(2*pi*t*53*4); THD = 0.59 - это известно. Когда вычисляю THD через fixed point FFT то получается 0,57.
Сообщение отредактировал Zelepuk - Aug 12 2011, 13:50
|
|
|
|
|
Aug 17 2011, 12:04
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(Zelepuk @ Aug 12 2011, 17:29)  в матлабе делаю А я сделал в железе. Результат отвратительный, особенно для флаттоп. Если применяется любое окно кроме прямоугольного, то энергию входного сигнала и энергию спектра невозможно связать никакой формулой. То же и для максимумов пиков спектра. Даже для одной частоты. Для синуса одна формула, для косинуса другая, а если еще частота не совпадает?...
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
Aug 17 2011, 13:53
|

Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000

|
Цитата(SPACUM @ Aug 17 2011, 16:04)  А я сделал в железе. Результат отвратительный, особенно для флаттоп. Если применяется любое окно кроме прямоугольного, то энергию входного сигнала и энергию спектра невозможно связать никакой формулой. То же и для максимумов пиков спектра. Даже для одной частоты. Для синуса одна формула, для косинуса другая, а если еще частота не совпадает?... Значит, где-то ошиблись. Должно быть соответствие как для общей энергии спектра, так и для максимума.
|
|
|
|
|
Aug 17 2011, 15:43
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(Alexey Lukin @ Aug 17 2011, 17:53)  Значит, где-то ошиблись. Должно быть соответствие как для общей энергии спектра, так и для максимума. Шутите. Для синуса подавляются малоэнергетические края, а для косинуса самые максимумы. Для любых окон так. Не работаю на матлабе, все уже в СИ переписано.
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
Aug 17 2011, 18:55
|

Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000

|
Цитата(SPACUM @ Aug 17 2011, 19:43)  Шутите. Для синуса подавляются малоэнергетические края, а для косинуса самые максимумы. Для любых окон так. Не работаю на матлабе, все уже в СИ переписано. SPACUM и Петров, вы оба по-своему правы. Ошибка SPACUM в том, что он пытается измерить слишком низкую частоту для данного размера окна. Следует помнить, что flat-top (как и другие окна) даёт аккуратную оценку амплитуды только тогда, когда в пределы главного лепестка попадает один единственный тон. В примере SPACUM с синусом и косинусом в пределы главного лепестка очевидно попадает 2 тона: f и -f. Вывод: для аккуратной оценки нужно, чтобы частота сигнала была не ниже, чем полуширина главного лепестка окна.
|
|
|
|
|
Aug 17 2011, 20:28
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(Alexey Lukin @ Aug 17 2011, 22:55)  Ошибка SPACUM Был не прав. Прошу прощения. Амплитуды выбросов АЧХ окна флаттоп на синусах и косинусах равны. При оцифровке 12кГц и числе точек 2000 на висящем куске провода на логарифмическом спектре раздельно видны 50 гармоник. Нечетные стоят, четные меняются. Идеи: 1. Продифференцировать сигнал до АЦП чтобы совсем мелких гармоник не было. 2. На логарифмическом спектре использовать кепстр для определения 1/ fundamental frequenсy
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
Сообщений в этой теме
Zelepuk Оконное взвешивание Aug 10 2011, 14:35 Alexey Lukin Гармоники в спектре ищутся как локальные максимумы... Aug 10 2011, 20:32 Zelepuk Я так и хотел делать - разбивать спектр на группы ... Aug 11 2011, 05:25 bahurin Вообще надо исходить из того с какой точностью вам... Aug 11 2011, 08:57 _4afc_ Цитата(Zelepuk @ Aug 11 2011, 09:25) Оста... Aug 11 2011, 08:59 Alexey Lukin Цитата(Zelepuk @ Aug 11 2011, 09:25) Я та... Aug 11 2011, 17:23  bahurin Цитата(Alexey Lukin @ Aug 11 2011, 21:23)... Aug 12 2011, 05:16 sup-sup Можно сделать FIR фильтр в частотной области. Для ... Aug 12 2011, 05:09 Zelepuk Я эспериментирую в CBuilder над FFT и окнами.
Нашё... Aug 12 2011, 09:16 bahurin Цитата(Zelepuk @ Aug 12 2011, 13:16) Когд... Aug 12 2011, 10:08 Alexey Lukin Цитата(Zelepuk @ Aug 12 2011, 13:16) Как ... Aug 12 2011, 18:35 Zelepuk к сожалению с целыми числами полноценно работать в... Aug 12 2011, 10:31 bahurin Цитата(Zelepuk @ Aug 12 2011, 14:31) к со... Aug 12 2011, 11:06 ivan219 Zelepuk а как вы получаете гармоники? Из нулевой г... Aug 12 2011, 11:18 Zelepuk Цитата(ivan219 @ Aug 12 2011, 15:18) Zele... Aug 12 2011, 11:58  bahurin Цитата(Zelepuk @ Aug 12 2011, 15:58) По в... Aug 12 2011, 12:52     petrov Цитата(SPACUM @ Aug 17 2011, 19:43) Для с... Aug 17 2011, 16:06 Alex11 Позвольте не согласиться с т. bahurin по поводу то... Aug 13 2011, 10:43 petrov Цитата(Alex11 @ Aug 13 2011, 14:43) При н... Aug 13 2011, 12:50 Alexey Lukin Цитата(Alex11 @ Aug 13 2011, 14:43) Корен... Aug 13 2011, 14:32  petrov Цитата(Alexey Lukin @ Aug 13 2011, 18:32)... Aug 13 2011, 15:29  bahurin Цитата(Alexey Lukin @ Aug 13 2011, 17:32)... Aug 13 2011, 17:34   Alexey Lukin Цитата(bahurin @ Aug 13 2011, 21:34) Вот ... Aug 14 2011, 15:25    bahurin Цитата(Alexey Lukin @ Aug 14 2011, 18:25)... Aug 14 2011, 16:20     Alexey Lukin Цитата(bahurin @ Aug 14 2011, 20:20) 1. Н... Aug 14 2011, 17:47      bahurin Цитата(Alexey Lukin @ Aug 14 2011, 20:47)... Aug 14 2011, 18:10 Дмитрий_Б Почему бы просто не найти 10 локальных максимумов ... Aug 13 2011, 14:11 Дмитрий_Б Цитата(bahurin @ Aug 13 2011, 21:34) Заме... Aug 14 2011, 14:54 Alexey Lukin Спасибо, просветили!
Так в чём же вопрос зак... Aug 14 2011, 18:26 bahurin Цитата(Alexey Lukin @ Aug 14 2011, 21:26)... Aug 15 2011, 06:11 Alexey Lukin Если это сливающиеся синусоиды и нет возможности у... Aug 15 2011, 13:46 bahurin Цитата(Alexey Lukin @ Aug 15 2011, 16:46)... Aug 16 2011, 04:08 Zelepuk Alex11 говорил о том, что сделано в железе с приме... Aug 17 2011, 12:08 SPACUM Цитата(Zelepuk @ Aug 17 2011, 16:08) Alex... Aug 17 2011, 16:15  petrov Цитата(SPACUM @ Aug 17 2011, 20:15) Возьм... Aug 17 2011, 16:28   SPACUM Цитата(petrov @ Aug 17 2011, 20:28) Ну и ... Aug 17 2011, 16:30    petrov Цитата(SPACUM @ Aug 17 2011, 20:30) Прове... Aug 17 2011, 16:59     SPACUM Цитата(petrov @ Aug 17 2011, 20:59) Даже ... Aug 17 2011, 17:11      petrov Цитата(SPACUM @ Aug 17 2011, 21:11) Переп... Aug 17 2011, 18:57 Alex11 Коли спрашивали, признаюсь: оцифровка на частоте 2... Aug 17 2011, 21:52 SPACUM Цитата(Alex11 @ Aug 18 2011, 01:52) Коли ... Aug 18 2011, 07:37 Signal Цитата(Zelepuk @ Aug 10 2011, 17:35) Есть... Aug 24 2011, 22:48 Signal Цитата(Signal @ Aug 25 2011, 01:48) Фанта... Aug 25 2011, 13:58 Alexey Lukin Таким образом вычисляется THD+N. Если нет шума, то... Aug 25 2011, 05:01
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|