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

 
 
> фильтр визуализации
PlainUser
сообщение Apr 14 2016, 07:11
Сообщение #1


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

Группа: Участник
Сообщений: 84
Регистрация: 23-06-05
Пользователь №: 6 244



Чем отфильтровать среднеквадратичное для индикации измеряемого напряжения в рмс вольтметре.
Измеряем 50гц.
Рубим выборки 8кгц непрерывно.
Убираем постоянную составляющую фильтром фвч.
Перемножаем , получаем квадраты.
Идет последовательность квадратов 8кгц.
Из них нужно непрерывно выделять постоянную составляющую цифровым фильтром.
Каким?
Пробовал бесселя 4п со срезом 5Гц и семплами 8кгц , фигня какая-то выходит.
Возможно частоты далеко друг от друга.

Подсчет суммы квадратов за 1сек дает замечательный результат с точностью даже выше чем надо несмотря на так-сказать прямоугольное окно , но нет непрерывности.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
PlainUser
сообщение Apr 14 2016, 10:51
Сообщение #2


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

Группа: Участник
Сообщений: 84
Регистрация: 23-06-05
Пользователь №: 6 244



Вот сам фильтр который не желает усреднять.
Может с ним что не так?

Есть подозрение что у коэфф. точности флоата не хватает и он возбуждается.
Но не уверен.

/**************************************************************
WinFilter version 0.8
http://www.winfilter.20m.com
akundert@hotmail.com

Filter type: Low Pass
Filter model: Bessel
Filter order: 4
Sampling Frequency: 8 KHz
Cut Frequency: 0.005000 KHz
Coefficents Quantization: float

Z domain Zeros
z = -1.000000 + j 0.000000
z = -1.000000 + j 0.000000
z = -1.000000 + j 0.000000
z = -1.000000 + j 0.000000

Z domain Poles
z = 0.994770 + j -0.001392
z = 0.994770 + j 0.001392
z = 0.999100 + j -0.004321
z = 0.999100 + j 0.004321
***************************************************************/
#define NCoef 4
float iir(float NewSample) {
float ACoef[NCoef+1] = {
0.00000000008095721658,
0.00000000032382886631,
0.00000000048574329947,
0.00000000032382886631,
0.00000000008095721658
};

float BCoef[NCoef+1] = {
1.00000000000000000000,
-3.98773984171834520000,
5.96328712390839670000,
-3.96335452951837610000,
0.98780724756468707000
};

static float y[NCoef+1]; //output samples
static float x[NCoef+1]; //input samples
int n;

//shift the old samples
for(n=NCoef; n>0; n--) {
x[n] = x[n-1];
y[n] = y[n-1];
}

//Calculate the new output
x[0] = NewSample;
y[0] = ACoef[0] * x[0];
for(n=1; n<=NCoef; n++)
y[0] += ACoef[n] * x[n] - BCoef[n] * y[n];

return y[0];
}

Сообщение отредактировал PlainUser - Apr 14 2016, 11:13
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- PlainUser   фильтр визуализации   Apr 14 2016, 07:11
- - blackfin   Цитата(PlainUser @ Apr 14 2016, 10:11) Из...   Apr 14 2016, 07:29
|- - PlainUser   Цитата(blackfin @ Apr 14 2016, 10:29) Под...   Apr 14 2016, 08:04
|- - blackfin   Цитата(PlainUser @ Apr 14 2016, 12:04) Во...   Apr 14 2016, 08:13
|- - PlainUser   Цитата(blackfin @ Apr 14 2016, 11:13) Сом...   Apr 14 2016, 09:24
||- - blackfin   Цитата(PlainUser @ Apr 14 2016, 12:24) Не...   Apr 14 2016, 09:31
||- - PlainUser   Цитата(blackfin @ Apr 14 2016, 12:31) Все...   Apr 14 2016, 09:40
|- - jorikdima   Цитата(blackfin @ Apr 14 2016, 11:13) Сом...   Apr 14 2016, 16:36
- - _Anatoliy   Цитата(PlainUser @ Apr 14 2016, 10:11) По...   Apr 14 2016, 07:31
|- - PlainUser   Цитата(_Anatoliy @ Apr 14 2016, 10:31) Сд...   Apr 14 2016, 07:50
|- - _Anatoliy   Цитата(PlainUser @ Apr 14 2016, 10:50) Хт...   Apr 14 2016, 07:54
- - thermit   y[0] = ACoef[0] * x[0]; y[0] = BCoef[0] * x[0]; ...   Apr 14 2016, 12:24
- - Genadi Zawidowski   thermit , Вы думаете WinFilter нагенерил бред? to ...   Apr 14 2016, 22:42
|- - PlainUser   Цитата(Genadi Zawidowski @ Apr 15 2016, 01...   Apr 15 2016, 06:56
- - thermit   Нет. Винфильтер все правильно сгенерил. Это я сген...   Apr 15 2016, 05:40
- - PlainUser   После приведения точности коэфф в порядок фильтр з...   Apr 15 2016, 10:04
|- - thermit   Цитата(PlainUser @ Apr 15 2016, 13:04) По...   Apr 15 2016, 10:52
|- - PlainUser   Цитата(thermit @ Apr 15 2016, 13:52) Собс...   Apr 15 2016, 11:52
|- - thermit   Цитата(PlainUser @ Apr 15 2016, 14:52) А ...   Apr 15 2016, 12:13
|- - PlainUser   Цитата(thermit @ Apr 15 2016, 15:13) посл...   Apr 19 2016, 05:34
- - thermit   Какая гигантская? На 8000гц меньше чем 0.5 сек.   Apr 19 2016, 05:51


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

 


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


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