|
Цифровой фильтр, Требования к точности Fs |
|
|
|
Mar 29 2007, 10:54
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170

|
Есть ФНЧ2 Fo=2Гц, реализован в виде DirectForm2. Частота выборок Fs=600Гц/1.6мс. Периодически между вызовами п/п фильтрации вклинивается прерывание, точнее несколько вызовов одного и того же прерывания. Так как это довольно непредсказуемый процесс, то посмотрел на сигналы через осциллограф, выведя на свободные ноги стробы. Получил (прикидочно) джиттер Fs в несколько процентов. Ни Матлаб, ни Фильтр Солюшн никак на такое дрожание выборок не реагируют...
Реально есть небольшие периодические выбросы выходного сигнала, частота сравнима с частотой среза фильтра (ближе к Fo/2). Задействована вся периферия Меги, все работает несинхронно. Так что осталось сообразить, то ли это от джиттера, то ли помехи.
Буду признателен за ссылку на первоисточник, где не очень заумно рассматривается влияние стабильности Fs на выходной сигнал. Или, может, кто-то поделится личным опытом...
|
|
|
|
|
 |
Ответов
(1 - 12)
|
Apr 1 2007, 02:12
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 7-06-06
Пользователь №: 17 825

|
Тоже не совсем понял. но если гуляет момент оцифровки (т.е. выборки ацп), то "на пальцах" примерно так.
Во временнОй области (оценка величины шума из-за джиттера):
Пусть 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%.
Кстати, а какой входной сигнал?
|
|
|
|
|
Apr 22 2007, 11:12
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(vladv @ Apr 1 2007, 02:12)  Во временнОй области (оценка величины шума из-за джиттера): ......
Совсем "на пальцах" (довольно натянуто, но как экспресс-оценка - сойдет): ...... Простите, у меня тут вопросик, достаточно близкий к теме. Тоже о погрешностях, но уже БПФ. Может быть Вы сможете ткнуть носом, где копать(задал этот вопрос в разделе DSP- Programming, но чувствую, что тут больше теории чем практики): Извините, если сморозю глупость, новая это для меня тема. Теоретически вопрос звучит так: как оценить возможную погрешность определения амплитуды и фазы первой гармоники входного сигнала (наверное, выделив ее с применением ДПФ), если известна погрешность оцифровки (т.е погрешность АЦП и нестабильность частоты квантования)? Можно ли вывести функциональную зависимость? Практически: нужно решить одну из двух задач (или обе сразу) Задача первая. Дано: 1. два сигнала 50 Гц, с гармониками 2. АЦП- 14 бит, 2 мегасемпла. Два синхронизированных АЦП для этих двух сигналов. 3. Время измерения- в принципе ограничено только здравым смыслом (т.е скажем 1 минута). 4. Погрешность квантования: по амплитуде- 6e-5, по частоте - 1е-5 Вопрос: Какой точности измерения амплитуды и фазы можно добиться? Задача вторая: Дано: 1. два сигнала 50 Гц, с гармониками 2. Требуемая точность измерения напряжения первой гармоники- 6е-5. 3. требуемая точность измерения разности фаз первой гармоники входных сигналов- 2e-5. Вопрос: какими характеристиками должен обладать измеритель (разрядность и погрешность АЦП, частота и погрешность частоты квантования), и обработчик (метод выделения первой гармоники и ее составляющих, длительность периода измерения), чтобы достичь требуемой точности измерения? Наверное, выделение первой гармоники можно сделать с помощью Фурье. Тогда нужно говорить о погрешности этого метода. Мне сказали, что нужно копать в сторону равенства Парсеваля (вычисление энергии сигнала в частотной и временной областях). Но что-то у меня мозги не воспринимают, как получить нужное мне соотношение погрешностей временной и частотной областей.
|
|
|
|
|
Apr 22 2007, 16:41
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Простите, у меня тут вопросик, достаточно близкий к теме. Тоже о погрешностях, но уже БПФ. Может быть Вы сможете ткнуть носом, где копать(задал этот вопрос в разделе DSP- Programming, но чувствую, что тут больше теории чем практики): Скажем так, туда настоящие профи не ходят. Они вообще этот форум игнорируют. Тут слишком много нервных дилетантов в чине модератора. Мы, профи, бываем здесь только в минуты хорошего настроения, чтобы еще более утвердиться в своей пафосности и уникальности на фоне местной серости... Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Извините, если сморозю глупость, Глупости морозят все. Самое главное их постоянно парсить и вовремя фиксить, а не путать этот продукт со свинным фаршем. Я хотел сказать, что не надо примимать глупости во внутрь... Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Теоретически вопрос звучит так: как оценить возможную погрешность определения амплитуды и фазы первой гармоники входного сигнала (наверное, выделив ее с применением ДПФ), если известна погрешность оцифровки (т.е погрешность АЦП и нестабильность частоты квантования)? Не исключено, что сие есть вышеозначенная "глупость". 1. Фаза первой гармоники относительно чего? Тока в сети относительно сетевого же напряжения? Тогда сразу плюйте на АЦП. Его погрешности не сравнимы с погрешностями датчиков тока. 2. ДПФ тут в принципе не нужна. Нужно выделить первую гармонику узким полосовым фильтром и найти скалярное произведение двух сигналов, между которыми Вы ищите фазу - получите косинус этой фазы. С амплитудой еще проще: возводите отфильтрованную первую гармонику в квадрат и фильтруете хорошим НЧ фильтром с полосой герца 2-4. После чего, извлекаете квадрат из отфильтрованной постоянной составляющей. Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Можно ли вывести функциональную зависимость? Естественно. Но нафига? Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Практически: нужно решить одну из двух задач (или обе сразу)
Задача первая. Дано: 1. два сигнала 50 Гц, с гармониками 2. АЦП- 14 бит, 2 мегасемпла. Два синхронизированных АЦП для этих двух сигналов. А зачем так много? 8 кГц, я думаю, хватит. Цитата(Ruslan1 @ Apr 22 2007, 17:12)  3. Время измерения- в принципе ограничено только здравым смыслом (т.е скажем 1 минута). У меня иногда случаюся прозрения. Это от бьющей ключом гениальности. Если мое прозрение верно, то время измерения у Вас должно определяться ГОСТ13109-97. Цитата(Ruslan1 @ Apr 22 2007, 17:12)  4. Погрешность квантования: по амплитуде- 6e-5, по частоте - 1е-5
Вопрос: Какой точности измерения амплитуды и фазы можно добиться? Вообще-то, любой. Я добивался лучше, чем 0.01% Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Задача вторая: Дано: 1. два сигнала 50 Гц, с гармониками 2. Требуемая точность измерения напряжения первой гармоники- 6е-5. 3. требуемая точность измерения разности фаз первой гармоники входных сигналов- 2e-5.
Вопрос: какими характеристиками должен обладать измеритель (разрядность и погрешность АЦП, частота и погрешность частоты квантования), и обработчик (метод выделения первой гармоники и ее составляющих, длительность периода измерения), чтобы достичь требуемой точности измерения? Вообще-то, здесь главное датчики, так называемые токосъемные клещи... Вот как Вы с ними подружитесь, такая точность и будет. Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Наверное, выделение первой гармоники можно сделать с помощью Фурье. Тогда нужно говорить о погрешности этого метода. Не нужно Вам никакого Фурья. Особенно на таких погрешностях... Цитата(Ruslan1 @ Apr 22 2007, 17:12)  Мне сказали, что нужно копать в сторону равенства Парсеваля Это для первой-то гармоники??? Ну ни хрена себе знатоки. ХТО ЭТО СМОРОЗИЛ??? Дайте ссылку!!! Цитата(Ruslan1 @ Apr 22 2007, 17:12)  (вычисление энергии сигнала в частотной и временной областях). Но что-то у меня мозги не воспринимают, как получить нужное мне соотношение погрешностей временной и частотной областей. Ну, типа они одинаковы...  )))
|
|
|
|
|
Apr 22 2007, 20:53
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(st256 @ Apr 22 2007, 16:41)  1. Фаза первой гармоники относительно чего? Тока в сети относительно сетевого же напряжения? Нет. У меня два напряжения на двух входах. Вот между ними и нужно считать. Цитата(st256 @ Apr 22 2007, 16:41)  2. ДПФ тут в принципе не нужна. Нужно выделить первую гармонику узким полосовым фильтром и найти скалярное произведение двух сигналов, между которыми Вы ищите фазу - получите косинус этой фазы. С амплитудой еще проще: возводите отфильтрованную первую гармонику в квадрат и фильтруете хорошим НЧ фильтром с полосой герца 2-4. После чего, извлекаете квадрат из отфильтрованной постоянной составляющей. Спасибо, принято. Но вопрос остаается тот же: как посчитать погрешность при фильтрации? И полоса в несколько герц- что-то боязно. Сколько лишнего хапну из-за ширины? в точность порядка 2е-5 уложусь? Насчет функциональной зависимости погрешности результата от погрешности исходных данных- что значит "нафига"? А как иначе считать, на пальцах или опытным путем? Или Вы имеете в виду, что гораздо проще обсчитать конкретный случай, чем общую формулу выводить? Цитата(st256 @ Apr 22 2007, 16:41)  А зачем так много? 8 кГц, я думаю, хватит. Не знаю, это уже сделано. А какую точность фазы я могу получить при 160 отсчетах на период? Неужто нужные мне полминуты? Цитата(st256 @ Apr 22 2007, 16:41)  У меня иногда случаюся прозрения. Это от бьющей ключом гениальности. Если мое прозрение верно, то время измерения у Вас должно определяться ГОСТ13109-97. Нет. К контролю качества электроэнергии эта задача не относится. Я тож так поначалу подумал. Но тут требования по точности определения фазы и напряжения несколько иные. Цитата(st256 @ Apr 22 2007, 16:41)  Вообще-то, любой. Я добивался лучше, чем 0.01% Это точность по фазе или по напряжению? При каких исходных данных и каким методом? Цитата(st256 @ Apr 22 2007, 16:41)  Не нужно Вам никакого Фурья. Особенно на таких погрешностях... То есть Фурье меня по точности не устроит? Тогда чем?
|
|
|
|
|
Apr 22 2007, 22:23
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(Ruslan1 @ Apr 23 2007, 02:53)  Нет. У меня два напряжения на двух входах. Вот между ними и нужно считать. Вот по подробнее, бы... Что за сигнал? Откуда он? Я его знаю? А то, у меня пока только одни прозрения перемежающиеся с гениальностью. А как выясняется, это вещи, безусловно необходимые, но не достаточные. Цитата(Ruslan1 @ Apr 23 2007, 02:53)  Спасибо, принято. Но вопрос остаается тот же: как посчитать погрешность при фильтрации? И полоса в несколько герц- что-то боязно. Сколько лишнего хапну из-за ширины? в точность порядка 2е-5 уложусь? Без более подробного описания сигнала ничего более говорить на эту тему не стану. Просто не имеет смысла. Цитата(Ruslan1 @ Apr 23 2007, 02:53)  Насчет функциональной зависимости погрешности результата от погрешности исходных данных- что значит "нафига"? А как иначе считать, на пальцах или опытным путем? Или Вы имеете в виду, что гораздо проще обсчитать конкретный случай, чем общую формулу выводить? См. выше. Цитата(Ruslan1 @ Apr 23 2007, 02:53)  Не знаю, это уже сделано. А какую точность фазы я могу получить при 160 отсчетах на период? Неужто нужные мне полминуты? Точность можно получить абсолютно любую даже при 160 отсчетах на период. Только количество периодов должно быть достаточно большим. Цитата(Ruslan1 @ Apr 23 2007, 02:53)  Это точность по фазе или по напряжению? По напряжению. По фазе надо глянуть в протоколы измерения. Но гораздо лучше, чем 1 градус. Вот частоту помню - лучше 0.001 Гц. Соответственно фаза должна быть тоже на уровне. Цитата(Ruslan1 @ Apr 23 2007, 02:53)  При каких исходных данных и каким методом? Ну при 8 кГц частоты дискретизации. А метод я Вам уже описал. Цитата(Ruslan1 @ Apr 23 2007, 02:53)  То есть Фурье меня по точности не устроит? Тогда чем? У меня на 2048 точках Фурье погрешность фазы 1-ой гармоники получилась примерно 0.1 градуса в реальных испытаниях. Но там я сильно не упирался, т.к. мне нужен был всего 1 градус. Может можно получить и Ваши пол минуты. Но я бы рекомендовал 1. отфильтровать первую гармонику полосовым фильтром 2. перемножить сигналы и найти постоянную составляющую 3. найти арккосинус от постоянной составляющей, т.е. - фазу.
|
|
|
|
|
Apr 23 2007, 14:56
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(repairDV @ Apr 23 2007, 20:21)  Да навряд ли с помощью определения арккосинуса можно добиться большой точности. Еще один знаток... Цитата(repairDV @ Apr 23 2007, 20:21)  Во-первых, тут нужен очень качественный фильтр, во-вторых, суперточное совпадение амплитуд. Это кто Вам такое рассказал? Юноша, не надо верить незнакомым дяденькам. Они Вам навяливают одно, а хотят от Вас совсем другое... ...а амплитуды легко определяются банальным измерением, с любой, прямо можно сказать, точностью. После чего оне прекрасно нормируются. Цитата(repairDV @ Apr 23 2007, 20:21)  Обычно везде делается измерение разности фаз более простым способом: нуль-органом выявляется момент прохождения синусоид через 0 и таймером подсчитывается разница в моментах их получения. Ну это уже откровенная лажа. Такое может спороть только слушатель ПТУ.
|
|
|
|
|
Sep 16 2010, 16:30
|
Группа: Новичок
Сообщений: 2
Регистрация: 16-09-10
Пользователь №: 59 524

|
QUOTE (Ruslan1 @ Apr 22 2007, 16:12)  Задача первая. Ответ на первую задачу 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) в вашей задаче нет данных о содержании высших гармоник, поэтому полученная оценка погрешности справедлива при пренебрежимо малом содержании гармоник, или для гармонического сигнала, для оценки влияния спектра требуется хотя бы коэффициент гармоник
Причина редактирования: Оверквотинг
|
|
|
|
|
Sep 17 2010, 04:47
|
Группа: Новичок
Сообщений: 2
Регистрация: 16-09-10
Пользователь №: 59 524

|
QUOTE (Ruslan1 @ Apr 22 2007, 16:12)  Задача вторая: ответ по пункту 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 эти оценки без учета влияния высших гармоник если известен коэффициент гармоник то можно посчитать кстати для измерения фаз используют специальные алгоритмы, более точные
Причина редактирования: Оверквотинг
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|