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

 
 
> Демодуляция АМ сигнала
Allregia
сообщение Sep 1 2011, 07:38
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Есть сигнал, несущая около 1кгц, промодулированная (АМ) низкочастотным (0.1-10гц) сигналом.
Сигнал приходит (с АЦП) в виде uint16 /10kHz SR.
Нужно выделить модулирующий сигнал и сделать децимацию на 50гц.

Сейчас я делаю просто: output=IIR_LPF_20Гц (abs(input));
Затем беру каждый 20-й отсчет.

Все работает, но - так как индекс модуляции весьма мал (3-5%), то и сигнал на выходе я получаю весьма маленькой амплитуды (разрядности). Вместе с тем, когда я беру модуль входного сигнала, он содержит большую постоянную составляющую. Если перед тем как делать LPF вычесть константу из этого модуля, то наверное можно повысить разрядность выходного сигнала.
Вопрос первый - так ли это (типа "а не дурк ли я?" sm.gif), и второй - как лучше выделить эту константу (постоянную составляющую)? Амплитуда несущей может быть разной, это непредсказуемо.
Выделять по простому, поставить еще один LPF, с частотой среза ниже нижней частоты полезного сигнала, и вычитать его выход их модуля входного сигнала, перед основым LPF и децимацией?

P.S. Все происходит не на ДСП а на обычном МК (АРМ7).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fontp
сообщение Sep 1 2011, 08:33
Сообщение #2


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цифровой детекторный приемник? Круто, мечта начинающего радиолюбителя cool.gif

Попробуйте сделать супергетеродинный с переносом частоты.
Если несущая фиксирована, перенос частоты для прямого преобразования можно сделать на биениях, просто сразу прорежая входной сигнал
Go to the top of the page
 
+Quote Post
Allregia
сообщение Sep 1 2011, 11:47
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(fontp @ Sep 1 2011, 10:33) *
Цифровой детекторный приемник?


Ага sm.gif

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


Несущая не фиксирована и не стабильна.
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Sep 1 2011, 16:10
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(Allregia @ Sep 1 2011, 14:47) *
Несущая не фиксирована и не стабильна.

Все-таки, какая-то полоса есть? Если это так, то наверняка, полезен будет полосовой фильтр для отделения сигнала от помех. Таким образом, уйдет постоянная составляющая. А разрядность 'сама повысится' на выходе фильтра.
Можно сразу решить задачу с помощью квадратурного приема огибающей. Для вычисления каждой точки огибающей нужно выполнить две свертки (сразу с нужным прореживанием, т.е. один раз в 20 мс). Делать свертку сигнала (перемноженного на окно эквивалентного фнч, выбранное в зависимости от болтанки несущей + полоса сигнала) с синусом и косинусом центральной частоты. Для получения точки огибающей нужно векторно сложить результаты сверток (сумма квадратов под корнем). Чем узкополоснее будет фильтр (длиннее ядро), тем выше разрядность выходного сигнала. Останется только отбросить младшие разряды.
PS. Скорее всего, нужен будет еще один полосовой фильтр уже для огибающей

Сообщение отредактировал sup-sup - Sep 1 2011, 16:29
Go to the top of the page
 
+Quote Post
Allregia
сообщение Sep 1 2011, 19:13
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(sup-sup @ Sep 1 2011, 18:10) *
Все-таки, какая-то полоса есть? Если это так, то наверняка, полезен будет полосовой фильтр для отделения сигнала от помех.


Полоса есть конечно, примерно 800-2500 гц. Полосовой фильтр есть - после АЦП стоит HPF 4 порядка на 600гц, без него там вообще все в НЧ гумах и наводках потонуло бы.


Цитата
Таким образом, уйдет постоянная составляющая. А разрядность 'сама повысится' на выходе фильтра.


В исходном сигнале постоянной составляющей нет - там сигнал через несколко конденсаторов еще до АЦП проходит. Она появляется когда я модуль беру (abs)

Цитата
Можно сразу решить задачу с помощью квадратурного приема огибающей. Для вычисления каждой точки огибающей нужно выполнить две свертки (сразу с нужным прореживанием, т.е. один раз в 20 мс). Делать свертку сигнала (перемноженного на окно эквивалентного фнч, выбранное в зависимости от болтанки несущей + полоса сигнала) с синусом и косинусом центральной частоты. Для получения точки огибающей нужно векторно сложить результаты сверток (сумма квадратов под корнем). Чем узкополоснее будет фильтр (длиннее ядро), тем выше разрядность выходного сигнала. Останется только отбросить младшие разряды.
PS. Скорее всего, нужен будет еще один полосовой фильтр уже для огибающей


Врядли успею в реалтайме, но попробую.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 2 2011, 04:13
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Сначала вы говорите

Цитата
Есть сигнал, несущая около 1кгц, промодулированная (АМ) низкочастотным (0.1-10гц) сигналом.
Сигнал приходит (с АЦП) в виде uint16 /10kHz SR.
Нужно выделить модулирующий сигнал и сделать децимацию на 50гц.


А потом

Цитата(Allregia @ Sep 1 2011, 23:13) *
Полоса есть конечно, примерно 800-2500 гц. Полосовой фильтр есть - после АЦП стоит HPF 4 порядка на 600гц, без него там вообще все в НЧ гумах и наводках потонуло бы.


Я себе очень слабо представляю как модулируя АМ 10 -ти герцовым сигналом можно добиться полосы 2500 Гц да еще и на несущей 1 кГц.

Цитата
Врядли успею в реалтайме, но попробую.


Да бросьте 10 кГц SampleRate можно даже в столбик на листочке успеть в реал тайме обработать. 7 arm схавает и даже не заметит.

Сообщение отредактировал bahurin - Sep 2 2011, 04:20
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 2 2011, 04:28
Сообщение #7


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(bahurin @ Sep 2 2011, 09:13) *
Сначала вы говорите
...
А потом
...
Я себе очень слабо представляю как модулируя АМ 10 -ти герцовым сигналом можно добиться полосы 2500 Гц да еще и на несущей 1 кГц.

А в промежутке было
Цитата
Несущая не фиксирована и не стабильна" ... примерно 800-2500 гц.


Разве не очевидно?

Цитата(bahurin @ Sep 2 2011, 09:13) *
10 кГц SampleRate можно даже в столбик на листочке успеть в реал тайме обработать

sm.gif
Это смотря какой алгоритм, сколько у него будет мат.операций на 1 сэмпл.

Сообщение отредактировал GetSmart - Sep 2 2011, 04:28


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 2 2011, 04:52
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(GetSmart @ Sep 2 2011, 08:28) *
А в промежутке было


Разве не очевидно?


sm.gif
Это смотря какой алгоритм, сколько у него будет мат.операций на 1 сэмпл.


Не передергиваете сказано было что около 1 кГц. 2.5 кГц это уже нифига не около согласитесь. Это первое. Во вторых полоса 2500 Гц и нестабильность несущей в пределах 2500 Гц это совершенно 2 разные вещи. Если несущая частота меняется от 800 до 2500 Гц, то надо знать на каком временном интервале это может происходить. Потому что изменение несущей во времени приводит к паразитной частотной модуляции на выходе, которая в свою очередь сопровождается паразитной АМ, которая в свою очередь изничтожит полезную АМ с глубиной 3-5%. Постановка задачи совершенно не понятна. Поэтому я и спросил.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Sep 2 2011, 07:03
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(bahurin @ Sep 2 2011, 06:52) *
Не передергиваете сказано было что около 1 кГц. 2.5 кГц это уже нифига не около согласитесь.


В среднем - 1кгц.


Цитата
Это первое. Во вторых полоса 2500 Гц и нестабильность несущей в пределах 2500 Гц это совершенно 2 разные вещи. Если несущая частота меняется от 800 до 2500 Гц, то надо знать на каком временном интервале это может происходить.


На любом, несущая - псевдошумоподобный сигнал. На 3гц она обрезана сверху антиалиасным фильтром на входе АЦП.

АЦП - 16 бит.

Цитата
Потому что изменение несущей во времени приводит к паразитной частотной модуляции на выходе, которая в свою очередь сопровождается паразитной АМ, которая в свою очередь изничтожит полезную АМ с глубиной 3-5%. Постановка задачи совершенно не понятна. Поэтому я и спросил.


Нет там никакой ПАМ, это не радиоприемник с контуром на входе. Во всяком случае - я ее не вижу.

Цитата
Да бросьте 10 кГц SampleRate можно даже в столбик на листочке успеть в реал тайме обработать. 7 arm схавает и даже не заметит.


Их таких 8 каналов, имеющийся алголритм успевает, но загрузка 72мгц проца уже под 80%. т.к.. один из фильтров (LPF) приходится делать во float.
Go to the top of the page
 
+Quote Post
fontp
сообщение Sep 2 2011, 07:08
Сообщение #10


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (Allregia @ Sep 2 2011, 11:03) *
Их таких 8 каналов, имеющийся алголритм успевает, но загрузка 72мгц проца уже под 80%. т.к.. один из фильтров (LPF) приходится делать во float.



В любом случае оптимальное решение - синхронный детектор с ФАПЧ.
Вычислительная сложность его совсем не велика - табличный ГУН, умножитель, пропорционально-интегрирующий фильтр и IIR-ФНЧ на выходе
Другое дело, что ФАПЧ нужно проектировать - так есть литература.

Детекторный приемник - решение далеко не оптимальное. Да и у Вас возможности улучшений почти отсутствуют . Что остается - сделать полосовой фильтр на входе до взятия абсолюта, убирать постоянную составляющую на выходе узкополосным режектором, пожалуй что всё...
Go to the top of the page
 
+Quote Post
Allregia
сообщение Sep 2 2011, 07:42
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(fontp @ Sep 2 2011, 09:08) *
В любом случае оптимальное решение - синхронный детектор с ФАПЧ.


Я не знаю как себя поведет PLL на шумоподобном сигнале.

Цитата
Детекторный приемник - решение далеко не оптимальное. Да и у Вас возможности улучшений почти отсутствуют . Что остается - сделать полосовой фильтр на входе до взятия абсолюта, убирать постоянную составляющую на выходе узкополосным режектором, пожалуй что всё...


Полосовой фильтр перед взятием модуля и так стоит, а вот про узкополсный фильтр - можно поподробнее ? На какие частоты его сделать?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Демодуляция АМ сигнала   Sep 1 2011, 07:38
|- - GetSmart   Цитата(bahurin @ Sep 2 2011, 09:52) Не пе...   Sep 2 2011, 05:31
||- - fontp   QUOTE (Allregia @ Sep 2 2011, 11:42) Я не...   Sep 2 2011, 08:13
|- - sup-sup   Все-таки, в общем случае, если нужно просто отлови...   Sep 2 2011, 07:57
|- - Allregia   Цитата(sup-sup @ Sep 2 2011, 09:57) ...   Sep 2 2011, 09:09
|- - thermit   Цитата(Allregia @ Sep 2 2011, 12:09) Я че...   Sep 2 2011, 09:40
||- - Allregia   Цитата(thermit @ Sep 2 2011, 11:40) FIR =...   Sep 2 2011, 09:42
|- - sup-sup   Цитата(Allregia @ Sep 2 2011, 12:09) Я че...   Sep 2 2011, 09:54
- - SPACUM   Цитата(Allregia @ Sep 1 2011, 11:38) инде...   Sep 1 2011, 14:54
- - GetSmart   ЦитатаВсе-таки, в общем случае, если нужно просто ...   Sep 2 2011, 10:05
|- - sup-sup   Цитата(GetSmart @ Sep 2 2011, 12:55) Бесп...   Sep 2 2011, 10:07
|- - SPACUM   Цитата(GetSmart @ Sep 2 2011, 14:05) Несу...   Sep 2 2011, 10:20
||- - GetSmart   Цитата(SPACUM @ Sep 2 2011, 15:20) Как я ...   Sep 2 2011, 10:45
|- - Allregia   Цитата(GetSmart @ Sep 2 2011, 12:05) Я то...   Sep 2 2011, 11:11
|- - GetSmart   Цитата(Allregia @ Sep 2 2011, 16:11) Сейч...   Sep 2 2011, 11:16
- - Allregia   Да, я зум сделал.   Sep 2 2011, 11:16
|- - GetSmart   Цитата(Allregia @ Sep 2 2011, 16:16) Да, ...   Sep 2 2011, 11:21
|- - Allregia   Цитата(GetSmart @ Sep 2 2011, 13:21) А от...   Sep 2 2011, 11:43
|- - GetSmart   Цитата(Allregia @ Sep 2 2011, 16:43) Собс...   Sep 2 2011, 12:01
- - SPACUM   Цитата(Allregia @ Sep 1 2011, 11:38) Вопр...   Sep 2 2011, 12:03
- - Allregia   Об этом я уже думал, у меня коэфф. фильтра самый б...   Sep 2 2011, 15:09
- - GetSmart   Цитата(Allregia @ Sep 2 2011, 20:09) Об э...   Sep 3 2011, 02:02
- - Allregia   Цитата(GetSmart @ Sep 3 2011, 04:02) Я бы...   Sep 3 2011, 06:48


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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 04:37
Рейтинг@Mail.ru


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