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

 
 
> Цифровой фильтр, Требования к точности Fs
IGK
сообщение Mar 29 2007, 10:54
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



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

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

Буду признателен за ссылку на первоисточник, где не очень заумно рассматривается влияние стабильности Fs на выходной сигнал. Или, может, кто-то поделится личным опытом...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vladv
сообщение Apr 1 2007, 02:12
Сообщение #2


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

Группа: Участник
Сообщений: 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%.

Кстати, а какой входной сигнал?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:39
Рейтинг@Mail.ru


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