Перейти к содержанию
    

Цифровой фильтр

Есть ФНЧ2 Fo=2Гц, реализован в виде DirectForm2. Частота выборок Fs=600Гц/1.6мс.

Периодически между вызовами п/п фильтрации вклинивается прерывание, точнее несколько вызовов одного и того же прерывания. Так как это довольно непредсказуемый процесс, то посмотрел на сигналы через осциллограф, выведя на свободные ноги стробы. Получил (прикидочно) джиттер Fs в несколько процентов. Ни Матлаб, ни Фильтр Солюшн никак на такое дрожание выборок не реагируют...

 

Реально есть небольшие периодические выбросы выходного сигнала, частота сравнима с частотой среза фильтра (ближе к Fo/2). Задействована вся периферия Меги, все работает несинхронно. Так что осталось сообразить, то ли это от джиттера, то ли помехи.

 

Буду признателен за ссылку на первоисточник, где не очень заумно рассматривается влияние стабильности Fs на выходной сигнал. Или, может, кто-то поделится личным опытом...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем понял. но если гуляет момент оцифровки (т.е. выборки ацп)

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

(извини немного сумбурно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже не совсем понял. но если гуляет момент оцифровки (т.е. выборки ацп), то "на пальцах" примерно так.

 

Во временнОй области (оценка величины шума из-за джиттера):

 

Пусть Ts - период частоты выборки, ts - величина джиттера частоты выборки, Ti - период входного синусоидального сигнала. Оцифрованный сигнал можно предстваить как сумму идеально-оцифрованного сигнала и шума ошибки оцифровки из-за джитера чаcтоты выборки. Ошибка(относительная) оцифровки в момент времени t будет:

d = |sin(2*pi*t/T)-sin(2*pi*(t+ts)/T)| = |2*cos(2*pi*(t-ts/2)/T)*sin(2*pi*ts/2/T)|

Максимум ошибки (амплитуда шума оцифрованного сигнала из-за джитера тактового сигнала):

d.max = 2*sin(pi*ts/T) ~ 2*pi*ts/T (джиттер небольшой).

Грубо говоря, если Fi=2Гц (Ti=0.5), Fs=600 (Ts=0.0016), ts ~1% * Ts = 1.6E-5, то d.max = 2*3.14*1.6E-5/0.5 = 1e-4. Т.е. можно сказать, что шум из-за джиттера лежит ниже ~13бит.

 

 

В чаcтотной области ("форма" шума из-за джиттера):

 

Спектр оцифрованного сигнала представляет собой свертку спектра входного сигнала и спектра тактового сигнала (в идеале - решетка дельта-функций). Если тактовый сигнал имеет джиттер, то его спектр вместо решетки дельта-функций будет предствалять собой решетку из "размазанных пиков". Если входной сигнал - синусоида, то спектр выходного сигнала будет не "палка", а "размазанный пик" -такой же, как и у тактового сигнала.

 

Например, типичный случай для генератора: джиттер имеет нормальное (гауссово) распеределение. "Размазанный пик" будет иметь форму гауссовой кривой ( exp(-(f-f0)**2/a) ) с относительным "размазом" порядка ts/Ts. Таким образом, в оцифрованном сигнале "палка" от входной синусоиды "размажется" "по гауссу". Вашем случае, сигнал в 1Гц "размажется" в полосе порядка 0.99-1.01 Гц.

 

Совсем "на пальцах" (довольно натянуто, но как экспресс-оценка - сойдет):

 

Представте, что в Вашем случае, выборки в течении 100 сек идут через 1.6мс, а затем в течении 100 сек из за прерываний - через 1.616мс (эквивалентно джиттеру 1%). Входной сигнал - синусоида 1Гц. В течении первых 100 сек в оцифрованном сигнале будет "палка" на 1Гц, в течении последующих - на 0.99Гц. Результирующий сигнал: две "палки": на 1.00 и 0.99Гц.

 

Т.е. то, что Вы видите - это скорее помеха, а не джиттер. Или джиттер не 1%, а 50-200%.

 

Кстати, а какой входной сигнал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во временнОй области (оценка величины шума из-за джиттера):

......

 

Совсем "на пальцах" (довольно натянуто, но как экспресс-оценка - сойдет):

......

 

Простите, у меня тут вопросик, достаточно близкий к теме. Тоже о погрешностях, но уже БПФ. Может быть Вы сможете ткнуть носом, где копать(задал этот вопрос в разделе DSP- Programming, но чувствую, что тут больше теории чем практики):

 

 

 

Извините, если сморозю глупость, новая это для меня тема.

 

Теоретически вопрос звучит так: как оценить возможную погрешность определения амплитуды и фазы первой гармоники входного сигнала (наверное, выделив ее с применением ДПФ), если известна погрешность оцифровки (т.е погрешность АЦП и нестабильность частоты квантования)?

Можно ли вывести функциональную зависимость?

 

 

Практически: нужно решить одну из двух задач (или обе сразу)

 

Задача первая.

Дано:

1. два сигнала 50 Гц, с гармониками

2. АЦП- 14 бит, 2 мегасемпла. Два синхронизированных АЦП для этих двух сигналов.

3. Время измерения- в принципе ограничено только здравым смыслом (т.е скажем 1 минута).

4. Погрешность квантования: по амплитуде- 6e-5, по частоте - 1е-5

 

Вопрос: Какой точности измерения амплитуды и фазы можно добиться?

 

 

Задача вторая:

Дано:

1. два сигнала 50 Гц, с гармониками

2. Требуемая точность измерения напряжения первой гармоники- 6е-5.

3. требуемая точность измерения разности фаз первой гармоники входных сигналов- 2e-5.

 

Вопрос: какими характеристиками должен обладать измеритель (разрядность и погрешность АЦП, частота и погрешность частоты квантования), и обработчик (метод выделения первой гармоники и ее составляющих, длительность периода измерения), чтобы достичь требуемой точности измерения?

 

 

Наверное, выделение первой гармоники можно сделать с помощью Фурье. Тогда нужно говорить о погрешности этого метода.

Мне сказали, что нужно копать в сторону равенства Парсеваля (вычисление энергии сигнала в частотной и временной областях). Но что-то у меня мозги не воспринимают, как получить нужное мне соотношение погрешностей временной и частотной областей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, у меня тут вопросик, достаточно близкий к теме. Тоже о погрешностях, но уже БПФ. Может быть Вы сможете ткнуть носом, где копать(задал этот вопрос в разделе DSP- Programming, но чувствую, что тут больше теории чем практики):

 

Скажем так, туда настоящие профи не ходят. Они вообще этот форум игнорируют. Тут слишком много нервных дилетантов в чине модератора. Мы, профи, бываем здесь только в минуты хорошего настроения, чтобы еще более утвердиться в своей пафосности и уникальности на фоне местной серости...

 

Извините, если сморозю глупость,

 

Глупости морозят все. Самое главное их постоянно парсить и вовремя фиксить, а не путать этот продукт со свинным фаршем. Я хотел сказать, что не надо примимать глупости во внутрь...

 

Теоретически вопрос звучит так: как оценить возможную погрешность определения амплитуды и фазы первой гармоники входного сигнала (наверное, выделив ее с применением ДПФ), если известна погрешность оцифровки (т.е погрешность АЦП и нестабильность частоты квантования)?

 

Не исключено, что сие есть вышеозначенная "глупость".

 

1. Фаза первой гармоники относительно чего? Тока в сети относительно сетевого же напряжения? Тогда сразу плюйте на АЦП. Его погрешности не сравнимы с погрешностями датчиков тока.

2. ДПФ тут в принципе не нужна. Нужно выделить первую гармонику узким полосовым фильтром и найти скалярное произведение двух сигналов, между которыми Вы ищите фазу - получите косинус этой фазы. С амплитудой еще проще: возводите отфильтрованную первую гармонику в квадрат и фильтруете хорошим НЧ фильтром с полосой герца 2-4. После чего, извлекаете квадрат из отфильтрованной постоянной составляющей.

 

 

Можно ли вывести функциональную зависимость?

 

Естественно. Но нафига?

 

Практически: нужно решить одну из двух задач (или обе сразу)

 

Задача первая.

Дано:

1. два сигнала 50 Гц, с гармониками

2. АЦП- 14 бит, 2 мегасемпла. Два синхронизированных АЦП для этих двух сигналов.

 

А зачем так много? 8 кГц, я думаю, хватит.

 

3. Время измерения- в принципе ограничено только здравым смыслом (т.е скажем 1 минута).

 

У меня иногда случаюся прозрения. Это от бьющей ключом гениальности. Если мое прозрение верно, то время измерения у Вас должно определяться ГОСТ13109-97.

 

4. Погрешность квантования: по амплитуде- 6e-5, по частоте - 1е-5

 

Вопрос: Какой точности измерения амплитуды и фазы можно добиться?

 

Вообще-то, любой. Я добивался лучше, чем 0.01%

Задача вторая:

Дано:

1. два сигнала 50 Гц, с гармониками

2. Требуемая точность измерения напряжения первой гармоники- 6е-5.

3. требуемая точность измерения разности фаз первой гармоники входных сигналов- 2e-5.

 

Вопрос: какими характеристиками должен обладать измеритель (разрядность и погрешность АЦП, частота и погрешность частоты квантования), и обработчик (метод выделения первой гармоники и ее составляющих, длительность периода измерения), чтобы достичь требуемой точности измерения?

 

Вообще-то, здесь главное датчики, так называемые токосъемные клещи... Вот как Вы с ними подружитесь, такая точность и будет.

 

Наверное, выделение первой гармоники можно сделать с помощью Фурье. Тогда нужно говорить о погрешности этого метода.

 

Не нужно Вам никакого Фурья. Особенно на таких погрешностях...

 

Мне сказали, что нужно копать в сторону равенства Парсеваля

 

Это для первой-то гармоники??? Ну ни хрена себе знатоки. ХТО ЭТО СМОРОЗИЛ??? Дайте ссылку!!!

 

(вычисление энергии сигнала в частотной и временной областях). Но что-то у меня мозги не воспринимают, как получить нужное мне соотношение погрешностей временной и частотной областей.

 

Ну, типа они одинаковы... :))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Фаза первой гармоники относительно чего? Тока в сети относительно сетевого же напряжения?

Нет. У меня два напряжения на двух входах. Вот между ними и нужно считать.

 

2. ДПФ тут в принципе не нужна. Нужно выделить первую гармонику узким полосовым фильтром и найти скалярное произведение двух сигналов, между которыми Вы ищите фазу - получите косинус этой фазы. С амплитудой еще проще: возводите отфильтрованную первую гармонику в квадрат и фильтруете хорошим НЧ фильтром с полосой герца 2-4. После чего, извлекаете квадрат из отфильтрованной постоянной составляющей.

Спасибо, принято. Но вопрос остаается тот же: как посчитать погрешность при фильтрации?

И полоса в несколько герц- что-то боязно. Сколько лишнего хапну из-за ширины? в точность порядка 2е-5 уложусь?

 

Насчет функциональной зависимости погрешности результата от погрешности исходных данных- что значит "нафига"? А как иначе считать, на пальцах или опытным путем? Или Вы имеете в виду, что гораздо проще обсчитать конкретный случай, чем общую формулу выводить?

 

А зачем так много? 8 кГц, я думаю, хватит.

Не знаю, это уже сделано. А какую точность фазы я могу получить при 160 отсчетах на период? Неужто нужные мне полминуты?

 

У меня иногда случаюся прозрения. Это от бьющей ключом гениальности. Если мое прозрение верно, то время измерения у Вас должно определяться ГОСТ13109-97.

Нет. К контролю качества электроэнергии эта задача не относится. Я тож так поначалу подумал. Но тут требования по точности определения фазы и напряжения несколько иные.

 

Вообще-то, любой. Я добивался лучше, чем 0.01%

Это точность по фазе или по напряжению? При каких исходных данных и каким методом?

 

Не нужно Вам никакого Фурья. Особенно на таких погрешностях...

То есть Фурье меня по точности не устроит? Тогда чем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет. У меня два напряжения на двух входах. Вот между ними и нужно считать.

 

Вот по подробнее, бы... Что за сигнал? Откуда он? Я его знаю? А то, у меня пока только одни прозрения перемежающиеся с гениальностью. А как выясняется, это вещи, безусловно необходимые, но не достаточные.

 

 

Спасибо, принято. Но вопрос остаается тот же: как посчитать погрешность при фильтрации?

И полоса в несколько герц- что-то боязно. Сколько лишнего хапну из-за ширины? в точность порядка 2е-5 уложусь?

 

Без более подробного описания сигнала ничего более говорить на эту тему не стану. Просто не имеет смысла.

 

Насчет функциональной зависимости погрешности результата от погрешности исходных данных- что значит "нафига"? А как иначе считать, на пальцах или опытным путем? Или Вы имеете в виду, что гораздо проще обсчитать конкретный случай, чем общую формулу выводить?

 

См. выше.

 

Не знаю, это уже сделано. А какую точность фазы я могу получить при 160 отсчетах на период? Неужто нужные мне полминуты?

 

Точность можно получить абсолютно любую даже при 160 отсчетах на период. Только количество периодов должно быть достаточно большим.

 

Это точность по фазе или по напряжению?

 

По напряжению. По фазе надо глянуть в протоколы измерения. Но гораздо лучше, чем 1 градус. Вот частоту помню - лучше 0.001 Гц. Соответственно фаза должна быть тоже на уровне.

 

При каких исходных данных и каким методом?

 

Ну при 8 кГц частоты дискретизации. А метод я Вам уже описал.

 

То есть Фурье меня по точности не устроит? Тогда чем?

 

У меня на 2048 точках Фурье погрешность фазы 1-ой гармоники получилась примерно 0.1 градуса в реальных испытаниях. Но там я сильно не упирался, т.к. мне нужен был всего 1 градус. Может можно получить и Ваши пол минуты. Но я бы рекомендовал

 

1. отфильтровать первую гармонику полосовым фильтром

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

3. найти арккосинус от постоянной составляющей, т.е. - фазу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, у меня тут вопросик, достаточно близкий к теме. Тоже о погрешностях, но уже БПФ. Может быть Вы сможете ткнуть носом, где копать(задал этот вопрос в разделе DSP- Programming, но чувствую, что тут больше теории чем практики):

 

Копать сюда:

 

http://en.wikipedia.org/wiki/Estimation_theory

 

Ну и смотреть на список литературы. Книжки в принципе доступны для скачивания в разных местах.

Готового решения этой задачи не видел, но в принципе задача представляется довольно стандартной для общей теории ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но я бы рекомендовал

 

1. отфильтровать первую гармонику полосовым фильтром

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

3. найти арккосинус от постоянной составляющей, т.е. - фазу.

 

Всем спасибо за советы. Беру таймаут пару дней на уточнение условий и изучение литературы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да навряд ли с помощью определения арккосинуса можно добиться большой точности. Во-первых, тут нужен очень качественный фильтр, во-вторых, суперточное совпадение амплитуд. А если фильтр аналоговый и настраиваемый, то амплитуды обязательно со временем "поплывут". Обычно везде делается измерение разности фаз более простым способом: нуль-органом выявляется момент прохождения синусоид через 0 и таймером подсчитывается разница в моментах их получения. Ну, если нужен именно угол, то, конечно, его нужно будет определять. И преобразования здесь более простые.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да навряд ли с помощью определения арккосинуса можно добиться большой точности.

 

Еще один знаток...

 

Во-первых, тут нужен очень качественный фильтр, во-вторых, суперточное совпадение амплитуд.

 

Это кто Вам такое рассказал? Юноша, не надо верить незнакомым дяденькам. Они Вам навяливают одно, а хотят от Вас совсем другое...

 

...а амплитуды легко определяются банальным измерением, с любой, прямо можно сказать, точностью. После чего оне прекрасно нормируются.

 

Обычно везде делается измерение разности фаз более простым способом: нуль-органом выявляется момент прохождения синусоид через 0 и таймером подсчитывается разница в моментах их получения.

 

Ну это уже откровенная лажа. Такое может спороть только слушатель ПТУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задача первая.

 

Ответ на первую задачу

1 N= 40000 ОТСЧЕТОВ НА ПЕРИОД

2 составляющая погрешности АМПЛИТУДЫ ГАРМОНИКИ (А) , обусловленная квантованиет по уровню делА1

При 14 разрядах И 40000 ОТСЧЕТАХ относительная погрешность делА1=(1/2**14)/КОРЕНЬ(40000)*100=

=3 *10-5%, кстати это оценка сверху, те предел

3 составляющая погрешности АМПЛИТУДЫ ГАРМОНИКИ (А), обусловленная джиттером делА2

если под погрешностью квантования по частоте вы понимаете апертурный джиттер те относительное ско момента времени отсчета ско/T=1е-5, или 1*10-5, где Т- период сигнала, который у вас 0,02 секунды, то

при ско/T=1*10-5 получим

делА2=2*pi*f1*ta/корень(N), где ta- апертурная неопределенность в секундах, тогда f*ta=ско/T

и получим делА2 =2*3.14*1*10-5/КОРЕНЬ(40000)=3*10-5 %- это предел.

Полная погрешность равна сумме двух состаляющих

делА= корень(дел1*дел1+дел2*дел2)=3*10-5*корень(2)

в вашей задаче нет данных о содержании высших гармоник, поэтому

полученная оценка погрешности справедлива при пренебрежимо малом содержании гармоник, или для гармонического сигнала, для оценки влияния спектра требуется хотя бы коэффициент гармоник

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задача вторая:

 

ответ по пункту 1 первой задачи смотри даллас58 от 16.09

 

ответ по пункту 2 первой задачи и пункту 3 второй задачи

если фазу вычисляете ЧЕРЕЗ КОЭФФИЦИЕНТЫ ФУРЬЕ как ARCTG(B/A), ТОГДА

1 приведенные погрешности коэффициентов фурье , обусловленные погрешностью квантования по уровню и частоте

da=делА(вольт)/po = 2*PI*CKO/T/КОРЕНЬ(N)*КОРЕНЬ(2)=3*10-5*корень(2)*100=4,4*10-5 %

bd=делВ(вольт)/po =2*PI*CKO/T/КОРЕНЬ(N)*КОРЕНЬ(2)=3*10-5*корень(2)*100=4,4*10-5%

ЗДЕСЬ po=корень(АА+BB) - АМПЛИТУДА ПЕРВОЙ ГАРМОНИКИ ИЛИ СИГНАЛА

2 приведенная погрешность по фазе

DFI=дел fi(град)/360

DFI=da+db=2*2*3.14*1*10-5/корень(40000)*корень(2)*100=1*10-4%

3 ПРИВЕДЕННАЯ ПОГРЕШНОСТЬ ПО РАЗНОСТИ ФАЗ =2*DFI=2*10-4%

 

эти оценки для одного периода, если время измерения увеличить, те на нескольких периодах, то будет точнее, как корень из N

 

ЭТО ВСЕ ОЦЕНКИ СВЕРХ ТЕ ПРЕДЕЛЬНЫЕ ПОГРЕШНОСТИ

как видите по амплитуде на одном периоде получаете нужную точность , а по фазе нет, увеличиваем время измерения при заданных параметрах дискретизации и получите нужную точность и по фазе

или уменьшайте отношение ско/T

эти оценки без учета влияния высших гармоник

если известен коэффициент гармоник то можно посчитать

кстати для измерения фаз используют специальные алгоритмы, более точные

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...