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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Демодуляция АМ сигнала
Allregia
сообщение Sep 2 2011, 09:09
Сообщение #16


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

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



Цитата(sup-sup @ Sep 2 2011, 09:57) *
Все-таки, в общем случае, если нужно просто отловить энергию сигнала в полосе 600-3000 Гц, то схема с детектором огибающей способом свертки сигнала с двумя полосовыми FIR, с синусным и косинусным заполнением, решает задачу сразу. Никаких других фильтров не нужно. Нужно просчитывать две свертки один раз в 20 мс. Если 8 каналов, то одно вычисление в 1.25 мс.
Еще вариант, умножить сигнал на частоту 2.5 кГц (умножать на 0, +1, 0, -1, 0, +1, и т.д.), отфильтровав перед этим верхние частоты. Перейти на частоту 5 кГц и сделать ФНЧ на ~2 кГц, чтобы отсечь бывшие 600 Гц низких частот. После этой промежуточной фильтрации - децимации - фильтрации будет меньше нагрузка на 8 каналов обработки.


Я честно говоря, не очень силен в этом. Как делать IIR/FIR я знаю, а вот свертку - понятия не имею sad.gif
Хоть бы пример какой...
Go to the top of the page
 
+Quote Post
thermit
сообщение Sep 2 2011, 09:40
Сообщение #17


Знающий
****

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



Цитата(Allregia @ Sep 2 2011, 12:09) *
Я честно говоря, не очень силен в этом. Как делать IIR/FIR я знаю, а вот свертку - понятия не имею sad.gif
Хоть бы пример какой...



FIR == апериодическая свертка
Go to the top of the page
 
+Quote Post
Allregia
сообщение Sep 2 2011, 09:42
Сообщение #18


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

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



Цитата(thermit @ Sep 2 2011, 11:40) *
FIR == апериодическая свертка


Тогда я не очень понимаю как сделать: "схема с детектором огибающей способом свертки сигнала с двумя полосовыми FIR, с синусным и косинусным заполнением"
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Sep 2 2011, 09:54
Сообщение #19


Знающий
****

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



Цитата(Allregia @ Sep 2 2011, 12:09) *
Я честно говоря, не очень силен в этом. Как делать IIR/FIR я знаю, а вот свертку - понятия не имею sad.gif
Хоть бы пример какой...

Свертка, все-таки, это базовая операция FIR. Каждое выходное значение FIR вычисляется операцией свертки выборок АЦП с импульсной характеристикой фильтра (ядром). На пальцах, или как это выполняется на рассыпухе или на ПЛИС - в один регистр загоняем импульсную характеристику FIR на все время работы, а в другой (рядом) проталкиваем данные из АЦП (или уже обработанную последовательность данных. Как только данные встали рядом перемножаем соседние значения данных и ИХ фильтра и все произведения складываем. Это и есть свертка. Следующим шагом сдвигаем данные на один шаг (сэмпл) (или на несколько шагов, если применяем децимацию) и опять делаем свертку (перемножение со сложением - или MAC - операцию).
А так как мы вычисляем модуль огибающей, а его можно вычислить из комплексного сигнала, то нам нужны два значения (I и Q). По другому, мы принимаем сигнал с неизвестной фазой. То есть, фильтр нужен для комплексного сигнала (или с комплексной ИХ).

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


.
******

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



Цитата
Все-таки, в общем случае, если нужно просто отловить энергию сигнала в полосе 600-3000 Гц

Бесполезная в данной задаче вещь.

В идеале было бы аппаратно-программное решение. Пиковый детектор со сбросом и его опрос/оцифровка на 50 Гц или меньше. А для вычета постоянки НЧ фильтр на минимальную частоту. Собственно, если 10 кгц оцифровка даёт хорошее качество, а это итак 1000 кратный оверсэмплинг, то и что ещё надо.

Несучка непредсказуема и шумоподобна. Поэтому все методы, что здесь перечислены не будут работать. Они все не из той оперы.

Я только не понял, 8 каналов это с 8-ми разных линий или с одной, но на разных несучках?

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


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


Знающий
****

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



Цитата(GetSmart @ Sep 2 2011, 12:55) *
Бесполезная в данной задаче вещь.

В идеале было бы аппаратно-программное решение. Пиковый детектор со сбросом и его опрос/оцифровка на 50 Гц или меньше. А для вычета постоянки НЧ фильтр на минимальную частоту. Собственно, если 10 кгц оцифровка даёт хорошее качество, а это итак 1000 кратный оверсэмплинг, то и что ещё надо.

Несучка непредсказуема и шумоподобна. Поэтому все методы, что здесь перечислены не будут работать. Они все не из той оперы.

Так задачи еще и не было. Похоже на полосу телефона.
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Sep 2 2011, 10:20
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(GetSmart @ Sep 2 2011, 14:05) *
Несучка непредсказуема и шумоподобна.

Как я понял если модуляции нет, то это идеальная синусоида с хаотически меняющейся частотой, но имеющая не менее 800 и не более 2500 полных периодов в секунду и все максимумы строго одинаковые. А если модуляция есть, то отличаются на +- 3%. Это так? Или что-нибудь еще похуже?


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 2 2011, 10:45
Сообщение #23


.
******

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



Цитата(SPACUM @ Sep 2 2011, 15:20) *
Как я понял если модуляции нет, то это идеальная синусоида с хаотически меняющейся частотой, но имеющая не менее 800 и не более 2500 полных периодов в секунду и все максимумы строго одинаковые. А если модуляция есть, то отличаются на +- 3%. Это так? Или что-нибудь еще похуже?

Как буд-то я ТС sm.gif
Я сам слабо представляю шумоподобный сигнал с постоянной амплитудой. Хотя представил. Но не факт, что то, что у ТС.
Пусть ТС покажет картинку с сигналом например 500 сэмплов.

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


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


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

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



Цитата(GetSmart @ Sep 2 2011, 12:05) *
Я только не понял, 8 каналов это с 8-ми разных линий или с одной, но на разных несучках?


8 разных линий и разных сигналов.
Описанный выше сигнал идет по 6-ти из них, еще по 2-м - там тоже нужна фильтрация но сигнал другой, с ними проблем нет.

Цитата
Как я понял если модуляции нет, то это идеальная синусоида с хаотически меняющейся частотой, но имеющая не менее 800 и не более 2500 полных периодов в секунду и все максимумы строго одинаковые. А если модуляция есть, то отличаются на +- 3%. Это так?


Да, примерно так.

Цитата
Пусть ТС покажет картинку с сигналом например 500 семплов.


Ммм, я не на работе сейчас, в КПК есть только старый искуственный сигнал, там модуляция выше.
Сейчас попробую из него картинку сделать.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 2 2011, 11:16
Сообщение #25


.
******

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



Цитата(Allregia @ Sep 2 2011, 16:11) *
Сейчас попробую из него картинку сделать.

Сверху и снизу одно и то же, только масштаб разный?

Upd.
На синусоиду мало похоже. Шумоподобный это да.

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


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


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

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



Да, я зум сделал.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 2 2011, 11:21
Сообщение #27


.
******

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



Цитата(Allregia @ Sep 2 2011, 16:16) *
Да, я зум сделал.

А откуда такая несущая и как происходит модуляция?

И вдогонку. Качество демодуляции, описанное в первом посте, устраивает?

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


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


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

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



Цитата(GetSmart @ Sep 2 2011, 13:21) *
А откуда такая несущая и как происходит модуляция?


С датчика хмических процессов. Извините, но что там в датчике и как происходит - и от меня скрыто.
Цитата
И вдогонку. Качество демодуляции, описанное в первом посте, устраивает?


К сожалению, средняя амплитуда несущей может меняться от процесса к процессу, и нет обратной связи с датчиком, в плане его коэффициента усиления перед АЦП, его можно только на самом датчике менять переключателем. Поэтому выставляем такой Ку, чтобы гарантированно не было перегрузки АЦП (он в самом датчике).
На сильном сигнале, когда несущая занимает хотя-бы треть шкалы - все в приницпе устраивает, но когда сигнал слабый (1/8 шкалы) - хотелось бы С/Ш немного повысить.
Собственно, почему я хотел как-нибудь отсечь постоянку после взятия модуля (детектора sm.gif) - чтобы на вход последних фильтров приходило побольше, а том ожет быть проблемы в округлениях пир вычислениях - тот-же алгоритм на РС дает на том-же сигнале выше СШ, колеги отрабатывали в Матлабе.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 2 2011, 12:01
Сообщение #29


.
******

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



Цитата(Allregia @ Sep 2 2011, 16:43) *
Собственно, почему я хотел как-нибудь отсечь постоянку после взятия модуля (детектора sm.gif) - чтобы на вход последних фильтров приходило побольше, а том ожет быть проблемы в округлениях пир вычислениях - тот-же алгоритм на РС дает на том-же сигнале выше СШ, колеги отрабатывали в Матлабе.

А FLOAT на какой стадии используется?
И в остальных местах сколько бит целочисленная арифметика?
Вообще, при 1000 кратном оверсэмплинге после фильтров можно иметь разрешение на порядки выше, чем в АЦП.


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


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(Allregia @ Sep 1 2011, 11:38) *
Вопрос первый - так ли это (типа "а не дурк ли я?" sm.gif), и второй - как лучше выделить эту константу (постоянную составляющую)?

Все сделано разумно, только фильтр IIR_LPF_20Гц должен быть 32-битным. Так лишние разряды и появятся. Ваш процессор имеет быстрое умножение 64 = 32 * 32 и быстрые сдвиги 32 разрядных чисел. Операции с числами long и longlong намного быстрее и точнее, чем с float.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post

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

 


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


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