Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Оцифровка зашумлённого сигнала
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
_Anatoliy
Коллеги, кто занимался этой темой?Можете подбросить ссылок по теме?
Сразу скажу что сигнал нерегулярный и на усреднение времени нет,нужно отработать ситуацию вплоть до оцифровки единичного импульса.
Нужно реализовать примерно то,что по ссылке(только в цифре),рисунок 7.4
регенератор цифровой последовательности
Уж очень заманчивая картинка шумов там нарисована...
Похоже эта схема для сигнала типа меандр, а у меня скважность 100...10000 и SNR примерно 3дБ:-(

Может попадались кому модели для матлаб по этой теме?
bahurin
Цитата(_Anatoliy @ Sep 11 2009, 12:53) *
Коллеги, кто занимался этой темой?Можете подбросить ссылок по теме?
Сразу скажу что сигнал нерегулярный и на усреднение времени нет,нужно отработать ситуацию вплоть до оцифровки единичного импульса.
Нужно реализовать примерно то,что по ссылке(только в цифре),рисунок 7.4
регенератор цифровой последовательности
Уж очень заманчивая картинка шумов там нарисована...
Похоже эта схема для сигнала типа меандр, а у меня скважность 100...10000 и SNR примерно 3дБ:-(

Может попадались кому модели для матлаб по этой теме?


Сколько весит килограмм гвоздей если от холодильника открутить гайку? Вот примерно так я понял ваш вопрос. Подробнее опишите вашу проблему, понять невозможно что вас тревожит.
_Anatoliy
Цитата(bahurin @ Sep 11 2009, 11:37) *
Сколько весит килограмм гвоздей если от холодильника открутить гайку? Вот примерно так я понял ваш вопрос. Подробнее опишите вашу проблему, понять невозможно что вас тревожит.


Мне казалось что статья по ссылке подробно освещает задачу.
Нужно оцифровать компаратором сигнал примерно такой как указано на рисунке 7.4 по ссылке.Длительность импульса 0,1...100мкс.
Если Вы считаете что при SNR 3дБ эта задача легко решается - поделитесь информацией,плз.Мне не удаётся при использовании компаратора с гистерезисом опуститься ниже 10 дБ SNR чтобы не было ложных срабатываний.
bahurin
Цитата(_Anatoliy @ Sep 12 2009, 10:42) *
Мне казалось что статья по ссылке подробно освещает задачу.
Нужно оцифровать компаратором сигнал примерно такой как указано на рисунке 7.4 по ссылке.Длительность импульса 0,1...100мкс.
Если Вы считаете что при SNR 3дБ эта задача легко решается - поделитесь информацией,плз.Мне не удаётся при использовании компаратора с гистерезисом опуститься ниже 10 дБ SNR чтобы не было ложных срабатываний.


думаю что скажу тривиальную вещь, но если компаратор приводит к ложным срабатываниям нужно изменить границы срабатывания компаратора. Если SNR такое, что компаратор всегда дает ложные срабатывания (несрабатывания) при любых порогах, то надо увеличить SNR (например фильтр поставить до компаратора) или же отказаться от использования компаратора и применять другие методы обработки.
_Anatoliy
Цитата(bahurin @ Sep 13 2009, 07:52) *
думаю что скажу тривиальную вещь, но если компаратор приводит к ложным срабатываниям нужно изменить границы срабатывания компаратора.

Спасибо.
Да,тривиальную вещь.Изменяя гистерезис компаратора можно добиться его надёжного срабатывания,только SNR при этом будет около 8...10дБ.Это гробит чувствительность.А я своими глазами видел устройство надёжно срабатывающее при SNR 4дБ.
Цитата(bahurin @ Sep 13 2009, 07:52) *
или же отказаться от использования компаратора и применять другие методы обработки.


Я сразу отказался и всё выполняю в цифре,а вот с методами проблема.Сам пытаюсь изобрести,добавил дифференциатор для принятия решения - удалось снизить SNR с 10дБ до 8 дб,а ниже не удаётся опуститься.Если у Вас есть какая литература по этой теме,поделитесь пожалуйста.А фильтр гробит фронт сигнала,для меня это важно.Чтобы не искажать фронт импульса длительностью 100нс нужна большая полоса пропускания а тогда шумы он сильно не ослабит.
baken
Цитата(_Anatoliy @ Sep 13 2009, 12:28) *
Я сразу отказался и всё выполняю в цифре,а вот с методами проблема.Сам пытаюсь изобрести,добавил дифференциатор для принятия решения - удалось снизить SNR с 10дБ до 8 дб,а ниже не удаётся опуститься.Если у Вас есть какая литература по этой теме,поделитесь пожалуйста.А фильтр гробит фронт сигнала,для меня это важно.Чтобы не искажать фронт импульса длительностью 100нс нужна большая полоса пропускания а тогда шумы он сильно не ослабит.

Форму сигнала приведите пожалуйста, то что на картинке слишком расплывчато. Точную форму сигнала, импульса и шумов на нем, если два рабочих уровня, тогда период, два периода. Если не затруднит.
_Anatoliy
Цитата(baken @ Sep 13 2009, 09:46) *
Форму сигнала приведите пожалуйста, то что на картинке слишком расплывчато. Точную форму сигнала, импульса и шумов на нем, если два рабочих уровня, тогда период, два периода. Если не затруднит.

Увы,сейчас не смогу,может завтра получится.
sysel
Может быть копнуть в сторону гребенчатых фильтров?
bahurin
Цитата(_Anatoliy @ Sep 13 2009, 13:08) *
Увы,сейчас не смогу,может завтра получится.

в вашем случае целесообразно использовать фильтр скользящего среднего вот пример.
Код
clear;
N0 = 100;    %отсчетов нуля (задают скважность)
N1 = 20;    %отсчетов единицы
%сигнал
b0 = zeros(1,N0);
b1 = ones(1,N1);
s = [b0 b1];
s = [s s];
s = [s s];
s = [s s];
s = [s s];

n= (randn(1,length(s)))*0.36;%шум
sn = s+n; %сигнал + шум
SNR = 10*log10(sum(s.^2)/sum(n.^2))%SNR

L = 10; %длина фильтра

sd = conv(sn,ones(1,L)/L); %сверка с фильтром

subplot(211),plot(1:length(s),sn,'k',1:length(s),s,'r')%до обработки
subplot(212),plot(1:length(sd),sd,'k')%после обработки
_Anatoliy
Цитата(bahurin @ Sep 14 2009, 09:56) *

Я пробовал обычный ФНЧ,а о MAF и не вспомнил.Старею....А он похоже сюда просится.Спасибо,попробую насколько он подойдёт для моей задачи.
D.I.M.A
Добрый день. Если использовать модель от bahurin, то не будет ли лучшим удлинить линию задержки фильтра до длительности импульса (сигнал b1)? Не получим ли мы тогда согласованный фильтр для прямоугольного импульса, который максимизирует отношение сигнал-шум?!
Artem_Petrik
Цитата(_Anatoliy @ Sep 14 2009, 14:30) *
Я пробовал обычный ФНЧ,а о MAF и не вспомнил.Старею....А он похоже сюда просится.Спасибо,попробую насколько он подойдёт для моей задачи.

Главное помнить понятие "Оптимальный фильтр", а то, что в данном случае в качестве оптимального подойдет MAF (если импульс прямоугольный конечно) это уже дело десятое.
_Anatoliy
Цитата(D.I.M.A @ Sep 14 2009, 15:28) *
Добрый день. Если использовать модель от bahurin, то не будет ли лучшим удлинить линию задержки фильтра до длительности импульса (сигнал b1)? Не получим ли мы тогда согласованный фильтр для прямоугольного импульса, который максимизирует отношение сигнал-шум?!

Нет,не с чем согласовывать.Длительность импульса неизвестна(диапазон 100нс..1мс),пауза между импульсами тоже неизвестна(500нс...100мкс).

Цитата(bahurin @ Sep 14 2009, 10:56) *

Похоже не очень подходит такое решение.MAF сильно увеличивает длину фронтов,при коротких импульсах остаются одни фронты,а мне ещё длительность нужно измерять.
Artem_Petrik
Цитата(_Anatoliy @ Sep 15 2009, 09:13) *
Нет,не с чем согласовывать.Длительность импульса неизвестна(диапазон 100нс..1мс),пауза между импульсами тоже неизвестна(500нс...100мкс).

Да, с такими длительностями импульсов сильно не нафильтруешся... Собственно фильтр нужно согласовывать с самым коротким из возможных импульсов. Правда, в данном случае, он не сильно много чего отфильтрует. То, что импульс (самый короткий) после фильтра станет треугольником  не страшно, определяйте амплитуду, а потом по уровню 0,5 меряйте длительность. Конечно большой уровень шума приведет к большой погрешности измерения длительности, но от этого уже никуда не денешся.

Еще вариант: Можно сделать банк фильтров, согласованных на импульсы разной длительности. Такой подход позволит увеличить достоверность обнаружения длинных импульсов. Коротким это правда не поможет.
_Anatoliy
Цитата(Artem_Petrik @ Sep 15 2009, 08:59) *
Да, с такими длительностями импульсов сильно не нафильтруешся... Собственно фильтр нужно согласовывать с самым коротким из возможных импульсов. Правда, в данном случае, он не сильно много чего отфильтрует. То, что импульс (самый короткий) после фильтра станет треугольником  не страшно, определяйте амплитуду, а потом по уровню 0,5 меряйте длительность. Конечно большой уровень шума приведет к большой погрешности измерения длительности, но от этого уже никуда не денешся.

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


Спасибо.
У меня короткие и вызывают головную боль...
Странно что теоретического материала по этой теме не находится.
Artem_Petrik
Цитата(_Anatoliy @ Sep 15 2009, 10:44) *
Спасибо.
У меня короткие и вызывают головную боль...
Странно что теоретического материала по этой теме не находится.


Наверно не там ищете smile.gif


Давайте пока остановимся именно на поиске коротких импульсов. Будем считать, что длинный - это несколько коротких подряд без перерыва. Получаестя, что у нас есть бинарный сигнал на фоне шума, и нам нужно его принять без ошибок. Типичная задача в цифровой связи. Там как раз эта тема исследована дальше некуда. Есть и теоретический предел достоверности приема (вероятности ошибки) в зависимости от соотношения сигнал/шум. Только боюсь, что при С/Ш 3дБ величина MSE Вас не сильно порадует. Смотреть надо что-то типа книг "Цифровая связь" Б. Скляра, или, там, прокиса. К сожалению сейчас под рукой нет никакой литературы по данному вопросу, поэтому более конкретно ничего не посоветую. 
bahurin
Поймите, что при одной и тойже частоте дискретизации, при увелиении скважности идет пропорциональное уменьшение SNR. Посмотрите мой пример, который я приводил выше. Например увеличте N0 в 10 раз и SNR пропорционально уменьшится на 10 dB при одной и тойже шумовой дорожке, т.е. если SNR был 3 dB, то при увеличении скважности SNR станет -7 dB. Это возникает из за того что на каждый импульс приходится в 10 раз меньше отсчетов сигнала. В такой постановке говорить о точности измерения фронтов не приходится. Для увеличения точности измерения положения фронта необходимо при увеличении скважности увеличивать частоту дискретизации. В этом случае фильтр скользящего среднего обеспечит хорошую точность. Если же у вас ШИМ, то необходимо выбрать частоту дискретизации исходя из минимальной длительности импульса, уровня шумов и трбуемой точности оценки длительности импульса.

PS. Все это будет работать если шум некоррелирован с сигналом, и у него нулевое среднее. Фильтр скользящего среднего в этом случае являтся оптимальным фильтром Виннера и обеспечиваем минимальную мощность шума на выходе. Меняя длительность фильтра скользящего среднего можно увеличить шум на выходе, но и увеличить крутизну фронта импульса, длительность которого требуется померить.
_Anatoliy
Цитата(bahurin @ Sep 16 2009, 06:56) *
Поймите, что при одной и тойже частоте дискретизации, при увелиении скважности идет пропорциональное уменьшение SNR.

Это Вы так думаете. Я сейчас одинаково хорошо оцифровываю сигнал при SNR 8дБ в диапазоне длительностей 100нс...100мкс при периоде 200мкс(т.е. если для длинных импульсов SNR=8дБ,то для коротких по Вашим расчётам становится -52дБ!!!).Если считать по Вашему то я бы такой импульс даже не обнаружил.А макет работает.
bahurin
Цитата(_Anatoliy @ Sep 16 2009, 15:15) *
Это Вы так думаете. Я сейчас одинаково хорошо оцифровываю сигнал при SNR 8дБ в диапазоне длительностей 100нс...100мкс при периоде 200мкс(т.е. если для длинных импульсов SNR=8дБ,то для коротких по Вашим расчётам становится -52дБ!!!).Если считать по Вашему то я бы такой импульс даже не обнаружил.А макет работает.


SNR = Ps/Pn, где Ps - средняя мощность сигнала на периоде повторения, Pn - средняя мощность шума (дисперсия). Пусть сигнал представляет собой переодическую последовательность импульсов со скважностью Q, тогда Ps = tau/T *A^2, где A - амплитуда импульса, tau - длительность импульса, Т - переод повторения. Очевидно, что tau/T = 1/Q и тогда средняя мощность сигнала зависит от скважности как Ps = A^2/Q, т.е. при увеличении скважности длительность импульса уменьшается, и средняя мощность сигнала тоже уменьшается, а поскольку дисперсия шума не меняется то и SNR уменьшается. Если система с ШИМ то коротким импульсам соответствуют малые значения амплитуд и при обработке вы не почувствуете этого уменьшения SNR, поскольку шумит себе там около нуля и шумит, а на самом деле и шумит то оно как раз из того что короткий импульс плохо обрабатывается из за низкого SNR, вы его практически не обнаруживаете в шумах.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.