|
Как убрать постоянную составляющую из сигнала., Сингал 50Гц |
|
|
|
Oct 31 2005, 11:57
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(Pat @ Oct 31 2005, 15:12) Сигнал 50 Гц сдвинут относительно нуля. Измерение производим АЦП с частотой выборки 5000Гц. Надо получить его же только относительно нуля. Все зависит от того, когда Вам и для чего необходимо убрать постоянную составляющую сигнала. В электронной схемотехнике это делается разделительными конденсаторами, либо используя операционный усилитель можно компенсировав смещение напряжения на входе или специальной предназначенной регулировкой добиться требуемого положения нуля на выходе (балансировка нуля). Для обработки сигнала в нереальном времени используется вычитание значения вычисленного среднего значения , тем самым цифровой сигнал получается относительно 'квази нуля'.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Oct 31 2005, 12:30
|

Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480

|
Цитата(moonrock @ Oct 31 2005, 14:51) Вам нужно до АЦП сдвинуть или уже из отсчетов убрать ПС? Мне надо из отсчетов убрать. АЦП не умеет измерять отрицательные значения. Цитата(moonrock @ Oct 31 2005, 14:51) Если после, то вычисляем среднее арифметическое из какого-то кол-ва отсчетов, например за период. Полученное значение и будет равно постоянному напряжению. Ну а затем просто из каждого отсчета и вычитаем среднее значение. Дело в том, что памяти маловато и все отсчеты хранить не получается.
|
|
|
|
|
Oct 31 2005, 14:38
|

Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480

|
Цитата(Vic @ Oct 31 2005, 17:23) Можно не накапливать а вычитать на каждый отсчет, если уровень постоянной заранее известен, а я так понял Вам он известен и вы его сами вводите вгоняя сигнал в диапазон АЦП? Или это не так? Да это так. Уровень то известен, но он тоже не совершенен. Я ему проводил мониторинг, плавает он. Опорник на него делать не очень хочется, поэтому сдвиг формируется обычным резистивным делителем от источника питания. Само устройство питается от бестрансформаторно блока питания с гасящим конденсатором. Можно конечно найти среднее за предыдущий период, и его потом прикладывать к текущему.
|
|
|
|
|
Oct 31 2005, 17:32
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 6-01-05
Из: Украина
Пользователь №: 1 831

|
Цитата(bmf @ Oct 31 2005, 18:23) dc_bias += ((((int32_t) sample << 15) - dc_bias) >> 14); clean_sample = sample - (dc_bias >> 15); примерно так HP - high pass filter формула для 1-го порядка: y(n) = x(n) - x(n-1) + R * y(n-1) "R" 0.9 .. 1 для -3dB: R = 1 - (pi*2 * frequency /samplerate) ну а то что в выше - просто реализация что бы небыло дробного умножения немного теории: http://ccrma.stanford.edu/~jos/filters/http://ccrma.stanford.edu/~jos/filters/DC_Blocker.html
|
|
|
|
|
Oct 31 2005, 17:48
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 6-01-05
Из: Украина
Пользователь №: 1 831

|
Цитата(bmf @ Oct 31 2005, 20:32) y(n) = x(n) - x(n-1) + R * y(n-1) может более привычный вид 1-st Order Filter of the Form: y(n)=b0*x(n)+b1*x(n-1)+a1*y(n-1)
|
|
|
|
|
Oct 31 2005, 18:24
|
Частый гость
 
Группа: Свой
Сообщений: 150
Регистрация: 13-10-05
Пользователь №: 9 614

|
Цитата(Pat @ Oct 31 2005, 17:38) Цитата(Vic @ Oct 31 2005, 17:23) Можно не накапливать а вычитать на каждый отсчет, если уровень постоянной заранее известен, а я так понял Вам он известен и вы его сами вводите вгоняя сигнал в диапазон АЦП? Или это не так? Да это так. Уровень то известен, но он тоже не совершенен. Я ему проводил мониторинг, плавает он. Опорник на него делать не очень хочется, поэтому сдвиг формируется обычным резистивным делителем от источника питания. Само устройство питается от бестрансформаторно блока питания с гасящим конденсатором. Можно конечно найти среднее за предыдущий период, и его потом прикладывать к текущему. Лучше всего использовать для сдвига половину опорного напряжения самого АЦП. В Вашем случае это невозможно в принципе?
|
|
|
|
|
Oct 31 2005, 18:57
|

Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480

|
Цитата(ms1 @ Oct 31 2005, 21:24) Лучше всего использовать для сдвига половину опорного напряжения самого АЦП. В Вашем случае это невозможно в принципе? Не особо хочется, там 220В через делители, без какой либо развязки. Я думал над этим, но как то стремно питать сдвиг нуля от опроника. Источник питания более мощная вещь. Спасибо всем сейчас пробую варианты, отчет о проделанноей работе напишу завтра
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|