Давайте порассуждаем...
У нас есть частота сэмплирования Fs. Сигнал Fsig от 13 до 22 Гц (напомню 1 сек сигнал, 1 сек пауза).
Что нам нужно прежде всего? Это задаться критерием
1) если уровень сигнала в Nsig-noise раз больше шума то он считается активным, точнее запускает механизм определения активного сигнала;
2.1) если в течении более одной секунды уровень(среднее, rms что угодно) сигнала от max до min был в диапазоне Nkoridor-noise ( = max/min) то этот уровень считается шумом.
2.2) или если в течении =< одной секунды за интервал 2 секунды, сигнал имел теже критерии что в 2.2, а в другой интервал (который длился больше 0.4-0.8 сек) уровень сигнала превышал Nsig-noise. То первый интервал это шум, второй активный сигнал.
Сейчас для определения уровня шума я собираю статистику по L интервалам по 1/Fsig-min (напомню 13Гц)/4. L интервалы перекрывают 2 секунды. Почему я взял четверть волны наверное понятно?
т.е. сейчас у меня массивчик статистики представляет примерно такую картину:
3 3 2 3 4 3 5 3 2 3 4 7 8 6 7 7 8 6 7 т.е. тут чётко выражен рост уровня сигнала.
Вот на первой "семерке" я и запускаю механизм поиска активного сигнала. Вот тут вопрос какой алгоритм лучше всего подойдет? поиск пиков синусоиды, поиск перехода через ноль...?
И какой вариант определения уровня сигнала на интервале лучше всего? RMS, среднее и т.д. чтоб его потом с самим сигналом сравнивать
Детектирование пачки сигнала на уровне шума
Re: Детектирование пачки сигнала на уровне шума
Не тот не другой. Это два идентичных алгоритма, но они не используют свойства периодичности и синусоидальность формы сигнала. А хуже того что из за шума и помех такой алгоритм не устойчив.Вот тут вопрос какой алгоритм лучше всего подойдет? поиск пиков синусоиды, поиск перехода через ноль...?
Лучше с начало сравнить. А потом уровень определишь.И какой вариант определения уровня сигнала на интервале лучше всего? RMS, среднее и т.д. чтоб его потом с самим сигналом сравнивать
Перебираем уровень смотрим насколько сигнал отличается от шаблона. Где минимум тот и уровень.
Тут сравнивать можно как угодно.
Правда, стоит вспомнить поговорку лучшее враг хорошего. Возможно стоит оставить вначале определения мощности сигнала, а затем сравнить с шаблоном.
Что касается вашего алгоритма, то RMS лучше борется с иголками и выбросами чем среднее. Для борьбы с иголками вообще лучше медианная фильтрация или адаптивная.
В любом случае у вас должна быть фильтрация шумов перед тем как вы будете выделять сигнал и определять его мощность.
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: Детектирование пачки сигнала на уровне шума
Прежде всего надо убедиться самому (и убедить создателя ТЗ), что решить эту задачу в реальном времени невозможно...bullit писал(а):Давайте порассуждаем...
У нас есть частота сэмплирования Fs. Сигнал Fsig от 13 до 22 Гц (напомню 1 сек сигнал, 1 сек пауза).
Что нам нужно прежде всего?
А решение в квазиреальном времени допускает использование преобразования Фурье.
Давайте порассуждаем...
Мы имеем класиический АМ сигнал с несущей Fsig . Несущая АМ сигнала никакой информации не несёт.
Так что наш целевой информационный сигнал Fам = 0.5 Гц
Таким образом, после демодуляции частота сэмплирования Fs > 1 Гц.(напомню 1 сек сигнал, 1 сек пауза).
Алгоритм решения задачи:
1. Получение сигнала с Fs= 10 кГц
2. Фильтрация (режекторный 50 Гц + селекторный Fsig )
3. Демодуляция
4. Децимация Fs = 10 Гц.
5. БПФ демодулированного сигнала
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Детектирование пачки сигнала на уровне шума
Это задача классического обнаружения импульса. Решается она путем когерентного или некогерентного корреляционного приемника. В вашем случае просто снести частоту в ноль, выделить амплитудную огибающую и сравнить выход коррелятора с порогом. Все до вас уже решено сто лет назад. Вы же изобретаете велосипед.
Жаль что меня никто не слышит.
Жаль что меня никто не слышит.
- Santik
- Сообщения: 609
- Зарегистрирован: 28 дек 2010, 08:04
- Откуда: Мирный (Якутия)
- Контактная информация:
Re: Детектирование пачки сигнала на уровне шума
Бахурин Сергей писал(а):Это задача классического обнаружения импульса. Решается она путем когерентного или некогерентного корреляционного приемника. В вашем случае просто снести частоту в ноль, выделить амплитудную огибающую и сравнить выход коррелятора с порогом. Все до вас уже решено сто лет назад. Вы же изобретаете велосипед.
Жаль что меня никто не слышит.
Вас слышат, только, наверное, не совсем понимают.Бахурин Сергей писал(а):гуглить по словам Корреляционный приемник без вариантов
- подразумевается, что несущую частоту?просто снести частоту в ноль
Или умножить исходный сигнал x(t) на ?
- подразумевается, что надо сделать преобразование Гильберта исходного сигнала x(t)?выделить амплитудную огибающую
Или пропустить комплексный сигнал через ФНЧ ?
- подразумевается, что у нас ещё и коррелятор есть?сравнить выход коррелятора с порогом
А чего с чем коррелировать? Исходный сигнал x(t) с синусом/косинусом несущеё частоты?
Или сигнал y(t) с синусом/косинусом 0.5 Гц?
Я лично бы тоже хотел, чтобы на сайте http://dsplib.ru поднимались исключительно "диссертабельные" темы. И все участники были, как минимум, кандидатами наук ( Это снобизм! ) И темы поднимались исключительно типа :"Помогите с выбором темы кандидатской диссертации". ( Я прямо чуть не прослезился от умиления). А то на сайте, кроме ленивых студентов, еще и "челноки" из Китая появляются (к счастью, благополучно забаненные)...Все до вас уже решено сто лет назад. Вы же изобретаете велосипед.
Меня лично только радует, что существуют люди, в которых теплится хоть малейший интерес к ЦОС. И считаю, что таких людей надо всемерно поддерживать, а не посылать на..., то есть в ... Гугл, причём "без вариантов".
Re: Детектирование пачки сигнала на уровне шума
to Бахурин Сергей:
Я бы с удовольствием бы не изобретал велосипед, но к сожалению мои знания в этой области стремятся к нулю! Как в прочем и знания в ЦОС.
Ранее таких задач и близко не было - были куда проще! И рад что у меня есть возможность по изучать ЦОС, но к сожалению нет времени на теорию, по крайней мере сейчас. Поэтому сейчас мне приходится изобретать свой кривой велосипед.
PS должен согласиться с Santik, чем больше к.т.н и к.м.н. тем лучше сайту, но этот сайт будет посещать только они. Возможно для Вас мои вопросы, вовсе не вопросы, но мы тоже должны когда то учиться. И такие вот задачи подталкивают к изучению. Нет лучше стимулятора чем реальная задача!
PPS я часто вижу как люди задают по моим меркам простые, а порой глупые вопросы. Но они спрашивают, они пытаются узнать понять. Кто то ленив, кто-то заблудился.. Но им нужно помочь. Точнее направить!
PPPS со своей стороны обещаю подтянуть теорию по ЦОС. С силу мер, знаний и лени))
Спасибо!
Я бы с удовольствием бы не изобретал велосипед, но к сожалению мои знания в этой области стремятся к нулю! Как в прочем и знания в ЦОС.
Ранее таких задач и близко не было - были куда проще! И рад что у меня есть возможность по изучать ЦОС, но к сожалению нет времени на теорию, по крайней мере сейчас. Поэтому сейчас мне приходится изобретать свой кривой велосипед.
PS должен согласиться с Santik, чем больше к.т.н и к.м.н. тем лучше сайту, но этот сайт будет посещать только они. Возможно для Вас мои вопросы, вовсе не вопросы, но мы тоже должны когда то учиться. И такие вот задачи подталкивают к изучению. Нет лучше стимулятора чем реальная задача!
PPS я часто вижу как люди задают по моим меркам простые, а порой глупые вопросы. Но они спрашивают, они пытаются узнать понять. Кто то ленив, кто-то заблудился.. Но им нужно помочь. Точнее направить!
PPPS со своей стороны обещаю подтянуть теорию по ЦОС. С силу мер, знаний и лени))
Спасибо!