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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Расчет коэфициентов фильтра для расчета действующего, (Если можно объясните дилетанту)
_Andu_
сообщение Feb 13 2009, 14:32
Сообщение #1


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

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



Нужно расчитать действующие значения sin сигнала 45-55Гц при помощи фильтра.
В MATLABе можно расчитать коэффициенты фильтра.
Но как расчитать действ. значение.
Действ. значение = корню квадратному из суммы квадратов реальной и мнимой части или корню квадратному из суммы квадратов sin и cos составляющей.

Так входной сигнал я фильтрую с помощью коэффициентов фильтра расчитаных в MATLABе и получаю к примеру sin состовляющую а как получить коэффициенты cos состовляющей чтобы получить cos b расчитать действ.
Go to the top of the page
 
+Quote Post
Alex11
сообщение Feb 13 2009, 16:44
Сообщение #2


Гуру
******

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



sin и cos состявляющие бывают, когда его в спектр раскладываешь. А когда во временной области фильтруешь - как был, так и остался синусом (или косинусом в зависимости от точки отсчета). Так что фильтром амплитуду не посчитаешь. Другое дело, что после фильтра там будет достаточно чистый синус, и можно взять от него амплитудное значение, а действующее получить умножением на корень из двух пополам.
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 13 2009, 17:02
Сообщение #3


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Если сигнал действительный - cos ему не нужен. Просто - усредняете во времени сумму квадратов, при взятии отсчета извлекаете корень. Фильтр тоже не нужен - вдруг сигнал содержит гармоники? Поставив квадратор после фильтра, вы получите уровень первой гармоники, а никак не действующее значение сигнала в целом...
Go to the top of the page
 
+Quote Post
_Andu_
сообщение Feb 16 2009, 06:59
Сообщение #4


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

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



Мне нужно пощитать действующие на первой гармоники остальные не надо.

Особенностью измерения действующего значения
а) Малая величина входного сигнала.
Сигнал снимается с различных датчиков предварительного усиления. В сигнале присутствуют шумы и постоянные смещения;
б) большой диапазон изменения сигнала. Измеряемые величины могут различаться в 100 – 1000 раз.

Для таких сигналов метод цифрового накопления суммы квадратов отсчетов не обеспечивает требуемую точность. Для задач измерения действующего значения токов применяется метод определения действующего значения по измерению отдельных гармоник сигнала. Принципом измерения является свертка входной последовательности отсчетов тока с соответствующей опорной гармоникой, построенной по периоду первой гармоники, т.е. строится функция синуса.

Отсчеты входного сигнала x i сворачивается с синусом первой гармоники sin( t i)
S1=сумма sin(ti)*xi

Аналогично сигнал сворачивается с косинусом первой гармоники

C1=сумма cos(ti)*xi

A1=sqrt(S1^2+C1^2)
Величина A1 линейно пропорциональна действующему значению первой гармоники.

Аналогично проводится свертки с кратными опорными гармониками и определяются действующие значения остальных гармоник входного сигнала.

Так вот вопрос в том что в MATLABE я получаю коэффициенты фильтра для 1-й гармоники считаю например что это коэф. sin а как получить cos.
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 16 2009, 07:39
Сообщение #5


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Делал такое. Тут не фильтры нужны, а квадратурные генераторы на каждую из анализируемых гармоник. А уже после смесителей - ФНЧ, в качестве которых могут выступать и простейшие интеграторы. В последнем случае получится как раз то, что вы написали.
Go to the top of the page
 
+Quote Post
_Andu_
сообщение Feb 16 2009, 09:33
Сообщение #6


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

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



Хорошо. Как расчитать цифровой квадратурный модулятор?
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 16 2009, 14:49
Сообщение #7


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Генератор, вы хотели сказать? А что его считать - делать надо. Например так:
В каждом такте:
ck=cos(fi);
sk=sin(fi);
fi+=dfi;
if(fi>=2.0*M_PI) fi-=2.0*M_PI;
dfi надо посчитать заранее, dfi=2.0*M_PI*Fсигнала/Fдискретизации
Да он, небось, и готовый в матлабе есть...
Go to the top of the page
 
+Quote Post
_Andu_
сообщение Feb 16 2009, 15:27
Сообщение #8


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

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



да но Fсигнала меняется в диаппазоне 45-55Гц. Тогда что считать частоту и перерасчитывать dfi=2.0*M_PI*Fсигнала/Fдискретизации
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 16 2009, 18:00
Сообщение #9


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Тут два варианта. Либо, если сигнал очень слаб и полоса +-5 Гц слишком широкая (шумы сосать будет), то, действительно, вручную или автоподстройкой выставить Fсигнала. Либо, если все не так плохо, то заменить ваш интегратор на ФНЧ с полосой 5 Гц (для второй гармоники - 10Гц, для третьей - 15 и т. д.). Но это проходит, только если гармоник мало - полосы старших гармоник сольются.
Go to the top of the page
 
+Quote Post
nl5
сообщение Feb 16 2009, 18:10
Сообщение #10


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

Группа: Участник
Сообщений: 175
Регистрация: 7-02-09
Пользователь №: 44 515



Если искать свертку сигнала с синусом и косинусом, вроде бы частоту надо обязательно знать, чтобы суммировать по целому числу периодов?
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 17 2009, 08:53
Сообщение #11


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Не обязательно. Правильный ФНЧ лечит.
Go to the top of the page
 
+Quote Post
nl5
сообщение Feb 17 2009, 15:53
Сообщение #12


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

Группа: Участник
Сообщений: 175
Регистрация: 7-02-09
Пользователь №: 44 515



Цитата(kons @ Feb 17 2009, 01:53) *
Не обязательно. Правильный ФНЧ лечит.

Вы имеете ввиду, что свертка по очень большому числу периодов?
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 17 2009, 18:51
Сообщение #13


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Нет, я имею в виду, что на выходе ФНЧ получаем комплексный (cos(delta F) , sin(delta F)) гармонический сигнал. sin^2+cos^2 = комплексной амплитуде и от времени не зависит.
Go to the top of the page
 
+Quote Post
nl5
сообщение Feb 17 2009, 19:21
Сообщение #14


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

Группа: Участник
Сообщений: 175
Регистрация: 7-02-09
Пользователь №: 44 515



Цитата(kons @ Feb 17 2009, 11:51) *
Нет, я имею в виду, что на выходе ФНЧ получаем комплексный (cos(delta F) , sin(delta F)) гармонический сигнал. sin^2+cos^2 = комплексной амплитуде и от времени не зависит.

А что идет на ФНЧ? Разве не Сигнал*sin и Сигнал*cos?
Если например Сигнал=sin, то
(Сигнал*sin)^2 + (Сигнал*cos)^2 = (sin*sin)^2 + (sin*cos)^2 = sin^2, от времени зависит.
ФНЧ используется, чтобы получить среднее значение, вместо интеграла за целое число периодов? Тогда конечно можно, если после смены амплитуды/фазы сигнала немного подождать пока фильтр установится. Правильно я понял?
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 18 2009, 05:48
Сообщение #15


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Пусть сигнал действительный = cos(Ws*t) = (e^(j*Ws*t) + e^(-j*Ws*t))/2
Смеситель домножает его на e^(j*Wo*t)
Имеем на выходе его 0.5*e^(j*(Ws+Wo)*t) + 0.5*e^(-j*(Wo-Ws)*t), т.е. сумму двух гармонических комплексных сигналов частотами Ws+Wo и Wo-Ws. Ws близка к Wo, поэтому Ws+Wo отфильтровывается ФНЧ, а на его выходе остается только e^(j*(Wo-Ws)*t), комплексная огибающая которого от времени не зависит. Можно было бы все тоже самое расписать через sin и cos, но лениво...
Go to the top of the page
 
+Quote Post
_Andu_
сообщение Feb 18 2009, 06:43
Сообщение #16


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

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



Я не понял как на выходе ФНЧ мб sin и cos составляющая. Это надо два фильтра (но как их правильно получить?) или делать преобразование Гильберта(как для него рассчитать коэффициенты?)
Go to the top of the page
 
+Quote Post
nl5
сообщение Feb 18 2009, 07:17
Сообщение #17


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

Группа: Участник
Сообщений: 175
Регистрация: 7-02-09
Пользователь №: 44 515



Цитата(kons @ Feb 17 2009, 22:48) *
Пусть сигнал действительный = cos(Ws*t) = (e^(j*Ws*t) + e^(-j*Ws*t))/2...

Понятно, составляющая с двойной частотой фильтруется ФНЧ. Если убирать её интегралом, то для точного результата достаточно любое целое число периодов сразу после изменения измеряемого сигнала, а с ФНЧ это будет время установления на требуемую точность.
Go to the top of the page
 
+Quote Post
_Andu_
сообщение Feb 18 2009, 08:09
Сообщение #18


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

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



Мне нужно на периоде и гармоники в сигнале есть.
Go to the top of the page
 
+Quote Post
kons
сообщение Feb 19 2009, 07:58
Сообщение #19


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Цитата
Я не понял как на выходе ФНЧ мб sin и cos составляющая. Это надо два фильтра (но как их правильно получить?)

Два сместеля (c cos и c sin, даваемыми квадратурным генератором)), за ними 2 идентичных ФНЧ, после них pwr=re^2+im^2. Чем уже полосы ФНЧ, тем лучше, но время установления должно вас удовлетворять (не быть слишком большим).
Пишем весь этот блок в общем виде (=класс C++), потом создаем столько объектов, сколько надо гармоник - они раличаются только Wo. Сигнал подаем на входы всех объектов, все полученные pwr суммируем и извлекаем корень.
Go to the top of the page
 
+Quote Post
_Andu_
сообщение Feb 19 2009, 12:53
Сообщение #20


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

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



Как я понял, например беру генерю Sin и Cos на период (50 Гц) делаю их константами, затем входной сигнал умножаю на Sin и Cos пропускаю два массива через два одинаковых ФНЧ получаю реальную и мнимую часть. Так я понял? Но опять вопрос что делать с частотой если например она изменилась с 50 до 45 Гц. Расчитывать отдельно частоту и использовать сгенеренные Sin и Cos на период 45 Гц.
Go to the top of the page
 
+Quote Post

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

 


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


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