Перейти к содержанию

детектор несущей

подскажите пожалуйста алгоритм детектирования несущей 10 мгц длительностью 7 мкс. планирую выполнить iq преобразование и затем обработать два канала на стм32. что использовать. гильберта.? какой минимальный контроллер? бюджет ограничен. надо подешевле

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ДПФ на требуемую гармонику или Алгоритм Гёрцеля .
Вам надо оцифровать 7 мкс с требуемой точностью , чем точнее тем быстрее надо оцифровывать и записывать .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Lmx2315 @ Apr 18 2018, 08:28) <{POST_SNAPBACK}>
ДПФ на требуемую гармонику или Алгоритм Гёрцеля .
Вам надо оцифровать 7 мкс с требуемой точностью , чем точнее тем быстрее надо оцифровывать и записывать .


я делал нечто подобное. сносил частоту вниз и герцелем выделял. но здесь проблема в том что точная частота неизвестна. приемник скачет с шагом 100кгц и проверяет
наличие вспышки сигнала. оцифровывать и обрабатывать сразу 10 мег дорого для этого проекта. поэтому как вариант сдвиг вниз с iq а там еже полосу в несколько сот кгц
можно обработать и оцифровать дешевым стм32

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
насколько шагов по 100кГц частота ускакать может?
как уже сказал в соседней теме, LPC4370 - 10$, оцифровать все 10МГц, снести вниз в цифре и сделать на низкой частоте несколько Герцелей или Фурье в зависимости от того как далеко частота уйти может.
ну или даже без переноса вниз можно просто оценивать частоту, как отношение среднеквадратичного производной и сигнала перед тем как Герцеля на этой частоте делать. ну или даже потом несколько Герцелей окресности, интерполяция и поиск максимума для уточнения частоты. для нескольких частот быстрее Фурье будет.

выйдет не дороже огорода с внешним смесителем и STM32.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Если не надо оценивать частоту, и если SNR хороший, то почему бы не усреднить оценку abs() от комплексного сигнала?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(coding4dsp @ Apr 18 2018, 09:47) <{POST_SNAPBACK}>
Если не надо оценивать частоту, и если SNR хороший, то почему бы не усреднить оценку abs() от комплексного сигнала?

да. вы правы. так пожалуй и будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
насколько шагов по 100кГц частота ускакать может?

как уже сказал в соседней теме, LPC4370 - 10$, оцифровать все 10МГц, снести вниз в цифре и сделать на низкой частоте несколько Герцелей или Фурье в зависимости от того как далеко частота уйти может.

ну или даже без переноса вниз можно просто оценивать частоту, как отношение среднеквадратичного производной и сигнала перед тем как Герцеля на этой частоте делать. ну или даже потом несколько Герцелей окресности, интерполяция и поиск максимума для уточнения частоты. для нескольких частот быстрее Фурье будет.

 

выйдет не дороже огорода с внешним смесителем и STM32.

 

Добрый день\

На данный момент наш пульс стал короче) Вот то что имеем

Пдскажите для регистрации подобных достаточно коротких импульсов необходимо исп стандартные процедуры как вы описали или в этом случае может быть есть какие то более эфективные алгоритмы ?

Интересует так же возможность и эфективность применения быстрой АРУ. имеет ли смысл использовать?

post-99572-1529916205_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

эти данные в каком-нибудь текстовом/бинарном формате бы приложили вместо картинки.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
эти данные в каком-нибудь текстовом/бинарном формате бы приложили вместо картинки.

 

Можно несколько упростить вопрос так как выложить в табличном виде проблематично

Достаточно точно можно считать что имеем импульс колоколообразной формы длительностью 1мкс и заполнением 10 мгц. т.е отнешение периода заполняющей частоты к длительнсти пульса около 10

В этом случаем действуем так же? несколько герцелей или фурье? Или для подобных достаточно коротких соотношений есть какие то нюансы или более оптимальные алгоритмы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как зашумлены данные и с какой точностью надо найти частоту никто кроме вас не знает.

может быть и простого отношения среднеквадратичного отклонения производной сигнала к среднеквадратичному значению сигнала будет вполне достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
как зашумлены данные и с какой точностью надо найти частоту никто кроме вас не знает.

может быть и простого отношения среднеквадратичного отклонения производной сигнала к среднеквадратичному значению сигнала будет вполне достаточно.

По поводу зашумленности то необходима максимальная чувствительность. Т.е задача устройства идентифицировать сигнал при минимальном уровне сигнал шум насколько это возможно.

так как оцифрованный пакет имеет всего лишь 1 мкс то говорить об ускополосной фильтрации пакета как я понимаю нельзя.

т.е берем выбоки в пакете . герцелем определяем амплитуду. и так для нескольких соседних полос где я ожидаю получить вспышку. затем сравниваем с порогом

както так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

возмите окно размером в ваши несколько мкс, по этому окну посчитайте среднеквадратичное значение сигнала, которое даст информацию о том есть ли там вообще какой-либо сигнал или нет.

потом возмите производную от сигнала, и посчитайте среднеквадратичное значение от производной.

поделив его на среднеквадратичное значение сигнала полученное на шаге 1, помножив на частоту дискретизации (и ещё поделив на 2pi из-за производной) получите оценку частоты.

если надо точнее, можно автокорреляцию вокруг этого значения посчтитать и посмотреть где максимум, ну или Фурье, опять же не весь, а Герцелем около интересующей частоты.

а если вам торопиться некуда, то и считайте весь спектр через FFT, ищите где у него максимум и сравнивайте с порогом.

если же надо совсем из шумов вытащить, может быть какой-нибудь фит наименьшими квадратами функции amp*Exp[-(t-t0)^2/2/sigma^2]*Sin[w*t+phi] даст лучший результат чем Фурье.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
возмите окно размером в ваши несколько мкс, по этому окну посчитайте среднеквадратичное значение сигнала, которое даст информацию о том есть ли там вообще какой-либо сигнал или нет.

потом возмите производную от сигнала, и посчитайте среднеквадратичное значение от производной.

поделив его на среднеквадратичное значение сигнала полученное на шаге 1, помножив на частоту дискретизации (и ещё поделив на 2pi из-за производной) получите оценку частоты.

если надо точнее, можно автокорреляцию вокруг этого значения посчтитать и посмотреть где максимум, ну или Фурье, опять же не весь, а Герцелем около интересующей частоты.

а если вам торопиться некуда, то и считайте весь спектр через FFT, ищите где у него максимум и сравнивайте с порогом.

если же надо совсем из шумов вытащить, может быть какой-нибудь фит наименьшими квадратами функции amp*Exp[-(t-t0)^2/2/sigma^2]*Sin[w*t+phi] даст лучший результат чем Фурье.

спасибо

времени должно хватить

для начала FFT попробую. потом уже буду играться с сшумамим

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
спасибо

времени должно хватить

для начала FFT попробую. потом уже буду играться с сшумамим

 

Немгного конкретики появилось.

Сейчас есть АЦП 14бит 25mgs

пллата тестовая почти готова .

есть еще 12bit 80mps LPC4370 две платы купили

Начал делать на первом варианте пока так как это с СТМ32 и хочеться хоть чтото пока получить

второй вариант выглядит лучше по всем параметрам но задвинул на второую очередь так как надо немного времени разобраться с NXP

 

Итак в чем сомнения. Сигнал имееть ширину около 2 мкс по уровню гдето 1/4 от максимуму по амплитуде с довольно резким спадом ао обоми краям . Основной спектр сигнала находиться в полосе 1 мегагерц.

Условно можно считать что частота сигнала с достаточной точностью известна.

Теперь применяем герцеля . При скорости 25мпс получим за 2мкс 50выборок . полоса одного бина 25000/50 = 500кгц. В принципе все более менее нормально. Можно взять при необходимости два бина и сложить

Проблемма есть в том что могут быть помехи в виде несущей на различном удалении от нашей частоты. И чем больше я их отфильтрую тем лучше. Теперь как я понимаю с такими параментрами ацп мне выше 500кгц разрешения по частоте не видать? а хотелось бы фильтровать помехи отстоящия от сигнала на 200-300кгц .

Если я буду исп ворой вариант то полоса бина уменьшиться в 3 раза и будет уже порядка 150 кгц что уже намного лучше. Я смогу вырезать из своей 1мгц полосы 150кгц куски имеющие пораженки. Те бью герцелем или ффт спектр на куски и при наличии сильных пиков отстоящих от ожидаемого максимумуа удаляю этот кусок спектра

Это мои рассуждения дилетанта

Подскажите правильно ли я рассуждаю. Может чтото еще для удаления помех можно исп

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация