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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> алгоритм модуляции и демодуляции многочастотной посылки, на микроконтроллере
Alla_student
сообщение Jan 30 2013, 18:53
Сообщение #1


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

Группа: Участник
Сообщений: 84
Регистрация: 5-04-11
Пользователь №: 64 146



Здравствуйте!

Необходимо написать алгоритм обработки сигнала для ARM Cortex M4, а именно следующее:
На вход АЦП приходит многочастотная посылка длительностью td. Частоты выбраны с шагом 5кГц от 55кГц до 135кГц (16 фиксированных частот). Каждая из частот побитно промодулирована по амплитуде двоичным 16-разрядным числом Nd.
Вопрос:
Как проще написать алгоритм модуляции и демодуляции многочастотной посылки?
Какое выбрать время посылки (критерии выбора)?

Сообщение отредактировал Alla_student - Jan 30 2013, 18:54
Go to the top of the page
 
+Quote Post
Serg76
сообщение Jan 30 2013, 19:04
Сообщение #2


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

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Alla_student @ Jan 30 2013, 22:53) *
Вопрос:
Как проще написать алгоритм модуляции и демодуляции многочастотной посылки?

для начала рекомендую разобраться с демодуляцией хотя бы двухпозиционной ЧМ, а уже затем перейти к многопозиционным.
и даже в этом случае в двух словах Вам этого не объяснить, сначала надо почитать книжек sm.gif
Go to the top of the page
 
+Quote Post
Alla_student
сообщение Jan 30 2013, 21:58
Сообщение #3


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

Группа: Участник
Сообщений: 84
Регистрация: 5-04-11
Пользователь №: 64 146



Цитата(Serg76 @ Jan 30 2013, 22:04) *
для начала рекомендую разобраться с демодуляцией хотя бы двухпозиционной ЧМ, а уже затем перейти к многопозиционным.
и даже в этом случае в двух словах Вам этого не объяснить, сначала надо почитать книжек sm.gif

А вы попытайтесь, если знаете суть вопроса. А книжки я читала и читаю и это как бы разумеется и без вашей подсказки, уважаемый Serg76.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Jan 30 2013, 22:08
Сообщение #4


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

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Alla_student @ Jan 31 2013, 01:58) *
А вы попытайтесь, если знаете суть вопроса. А книжки я читала и читаю и это как бы разумеется и без вашей подсказки, уважаемый Serg76.

суть вопроса я знаю, уважаемая(ый) Alla_student, но для начала хотелось бы знать, что вы сделали для решения этой проблемы.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jan 31 2013, 08:35
Сообщение #5


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Первое что в голову приходит :
сдвинуть спектр в "ноль", продецемировать если надо и проделать БПФ чтобы обеспечить разрешение по частоте .
По результатам БПФ - делать выводы о состоянии информационных палок в спектре.

А можно все палки по отдельности скидывать в ноль, фильтровать и демодулировать через огибающую сигнала.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Serg76
сообщение Jan 31 2013, 08:49
Сообщение #6


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

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Lmx2315 @ Jan 31 2013, 12:35) *
А можно все палки по отдельности скидывать в ноль, фильтровать и демодулировать через огибающую сигнала.

Как правило, так и делается.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Jan 31 2013, 10:38
Сообщение #7


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

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(Alla_student @ Jan 30 2013, 22:53) *
Какое выбрать время посылки (критерии выбора)?


Чем длиннее будет посылка - тем легче будет демодулировать.

В случае демодуляции через БПФ - возрастёт разрешение по частоте. Вам какое надо?
ИМХО для получения 16 палок вам надо иметь 32 периода минимальной частоты.
Это в теории.

На практике будет ещё мешать межсимвольная интерференция. В вашем случае наибольшее влияние на длительность посылки будет оказывать разность в приходе в демодулятор 55кГц и 135кГц, т.к. скорость распространения этих частот (через выходные цепи передатчика - среду передачи - входные цепи приёмника/АЦП) различна.
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Jan 31 2013, 11:20
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(_4afc_ @ Jan 31 2013, 14:38) *
Чем длиннее будет посылка - тем легче будет демодулировать.

В случае демодуляции через БПФ - возрастёт разрешение по частоте. Вам какое надо?
ИМХО для получения 16 палок вам надо иметь 32 периода минимальной частоты.
Это в теории.

На практике будет ещё мешать межсимвольная интерференция. В вашем случае наибольшее влияние на длительность посылки будет оказывать разность в приходе в демодулятор 55кГц и 135кГц, т.к. скорость распространения этих частот (через выходные цепи передатчика - среду передачи - входные цепи приёмника/АЦП) различна.


В соседней теме девушка говорит про OFDM. Если это та же задача, то да, все решается через БПФ на 32 (или, может быть, 24) отсчета, плюс защитные интервалы и схемы синхронизации и эквалайзера.
Go to the top of the page
 
+Quote Post
Alla_student
сообщение Jan 31 2013, 22:05
Сообщение #9


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

Группа: Участник
Сообщений: 84
Регистрация: 5-04-11
Пользователь №: 64 146



Цитата(KalashKS @ Jan 31 2013, 14:20) *
В соседней теме девушка говорит про OFDM. Если это та же задача, то да, все решается через БПФ на 32 (или, может быть, 24) отсчета, плюс защитные интервалы и схемы синхронизации и эквалайзера.

Спасибо
Вопросы:
Как определяется защитный интервал?
Назначение эквалайзера и какая математика в нем?
Это все выше было сказано для декодера, а кодер из чего состоит?
Go to the top of the page
 
+Quote Post
STAR_IK
сообщение Feb 1 2013, 04:32
Сообщение #10


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

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Защитный интервал выбирается в зависимости от времени прихода отраженных от чего-либо копий сигнала. Следовательно защитный интервал должен быть больше чем задержка в отраженном канале. Эквалайзер нужен для выравнивания АФЧХ канала, которая в условиях замираний постоянно искажается, вплоть до полного подавления сигнала на некоторых частотах. Если не выравнивать, то сигнал придет кривой. Подробно про эквалайзеры можно глянуть книги Б. Скляра , Дж. Прокиса. И та и другая называется "Цифровая связь"

Сообщение отредактировал STAR_IK - Feb 1 2013, 04:37
Go to the top of the page
 
+Quote Post
novchok
сообщение Feb 1 2013, 05:26
Сообщение #11


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

Группа: Свой
Сообщений: 128
Регистрация: 19-08-10
Из: Смоленск
Пользователь №: 58 991



Цитата(STAR_IK @ Feb 1 2013, 08:32) *
Подробно про эквалайзеры можно глянуть книги Б. Скляра , Дж. Прокиса. И та и другая называется "Цифровая связь"


Я бы не стал советовать студентам эти книжки. Конечно это очень модно, на каждом углу слышишь "Скляр". Но на самом деле написано там настолько сжато, что больше похоже на то, что Скляр хочет сказать "я в теме, приходите ко мне на лекции все расскажу подробно".
Материал бакграунда, который надо знать, читая книгу Скляра такой, что если ты знаешь этот материал, то и Скляр не нужен.
Написано просто жесть, только мозги сломать. Ищите что нибудь попроще и по доступнее.


--------------------
Herz укроп и педрила
Go to the top of the page
 
+Quote Post
STAR_IK
сообщение Feb 1 2013, 06:42
Сообщение #12


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

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Цитата(novchok @ Feb 1 2013, 11:26) *
Я бы не стал советовать студентам эти книжки. Конечно это очень модно, на каждом углу слышишь "Скляр". Но на самом деле написано там настолько сжато, что больше похоже на то, что Скляр хочет сказать "я в теме, приходите ко мне на лекции все расскажу подробно".
Материал бакграунда, который надо знать, читая книгу Скляра такой, что если ты знаешь этот материал, то и Скляр не нужен.
Написано просто жесть, только мозги сломать. Ищите что нибудь попроще и по доступнее.



Открыл Скляра, просмотрел еще раз... по моему для начала самое оно. А альтернатива какая? Чего тогда читать студентам для ввода в курс дела??
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Feb 1 2013, 07:50
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(Alla_student @ Feb 1 2013, 02:05) *
Спасибо
Вопросы:
Как определяется защитный интервал?
Назначение эквалайзера и какая математика в нем?
Это все выше было сказано для декодера, а кодер из чего состоит?


У вас известная система, или вы ее параметры сами подбираете? В первом случае уточните дллину ЗИ у того, кто ставил вам задание.

Схема OFDM модулятора проста: помехоустойчивое кодирование - задание комплексных амплитуд несущих (т.н. mapper)- ОБПФ - вставка ЗИ - то же самое для всех символов. Потом подъем на несущую.
Демодулятор: сброс на нулевую частоту (квадратурный демодулятор) - синхронизация и отброс ЗИ - БПФ - эквалайзер - демодуляция (demapper) - декодер.
Эквалайзер как правило строится по следующей схеме. В сигнале должны быть несущие с известными амплитудами. По ним вычисляется ЧХ канала на соответствующих частотах в соответствующих символах и потом интерполируруется на все нужные частоты и символы. Потом ЧХ правится простым делением, МСКО-алгоритмом (MMSE), или еще каким другим. Воббще информации разной степени подробности - полный интернет.
Go to the top of the page
 
+Quote Post
SyncLair
сообщение Feb 15 2013, 14:26
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197



Уважаемые знатоки! Внимание вопрос! -- А кортекс то справиться с такой задачей если её сильно не оптимизировать, ибо начинающий чаще всего не может сразу выдасть неоптимизированный вариант?


--------------------
Go to the top of the page
 
+Quote Post
Aner
сообщение Feb 15 2013, 19:11
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (SyncLair @ Feb 15 2013, 17:26) *
Уважаемые знатоки! Внимание вопрос! -- А кортекс то справиться с такой задачей если её сильно не оптимизировать, ибо начинающий чаще всего не может сразу выдасть неоптимизированный вариант?

Правильно подметили, не справиться кортекс М4. Не для этой задачи этот проц, не потянет и 1/3. Смотрите в сторону матриц.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Feb 15 2013, 19:53
Сообщение #16


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (Aner @ Feb 15 2013, 23:11) *
Правильно подметили, не справиться кортекс М4. Не для этой задачи этот проц, не потянет и 1/3. Смотрите в сторону матриц.

может речь идёт не о реальном времени, запишет сколько сможет и будет жувать не спеша.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 16 2013, 07:30
Сообщение #17


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Правильно подметили, не справиться кортекс М4. Не для этой задачи этот проц, не потянет и 1/3. Смотрите в сторону матриц.


Я уж не знаю, какой нужно написать говнокод, чтобы не справилось, но у меня модем на LPC1768 обеспечивает обработку OFDM туда и сюда (правда, на уже на нулевой ПЧ, перенос с/на несущую - в аналоге) с размером окна 256 отсчетов (реально используется 150, если мне не изменяет память) и общей скоростью в 140кБод. При этом загрузка процессора порядка 20 процентов.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Feb 16 2013, 08:30
Сообщение #18


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (Rst7 @ Feb 16 2013, 11:30) *
Я уж не знаю, какой нужно написать говнокод, чтобы не справилось, но у меня модем на LPC1768 обеспечивает обработку OFDM туда и сюда (правда, на уже на нулевой ПЧ, перенос с/на несущую - в аналоге) с размером окна 256 отсчетов (реально используется 150, если мне не изменяет память) и общей скоростью в 140кБод. При этом загрузка процессора порядка 20 процентов.


в исходном сообщении верхняя частота 135 кгц итого поток больше чем 300 ксемплов в секунду, надо писать в память , брать кусками перемножать для сброса в ноль, фильтровать. Допустим что перемножать мы можем на лету без задержки, чтобы отфильтровать надо порядка сотни операций - итого 300 ксемплов превращаются в 30 мгц , ещё нужно проделать БПФ 256 - это 4000 тактов итого 30 мгц х 4000 = 30 ГГц .
Где я не прав?


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 16 2013, 08:53
Сообщение #19


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
ещё нужно проделать БПФ 256 - это 4000 тактов итого 30 мгц х 4000 = 30 ГГц.
Где я не прав?


Глобально - тут. БПФ выполняется один раз на 256 отсчетов. Более того, я думаю, что для озвученной задачи нет смысла сносить в 0, надо делать сразу БПФ.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Aner
сообщение Feb 16 2013, 12:27
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Конечно, в OFDM перенос до - это обегчает. Но там и размер окна поболее и скорость повыше.

Хотя вопрос может быть чисто теоретический ( студенческий, не практичный) для архитектуры котрекса М4.
Да и архитектура котрекса М4 в матрицу ложиться без проблем.

... Как проще написать алгоритм модуляции и демодуляции многочастотной посылки?
Вот о простоте алгоритма скорее всего вопрос. БПФ сразу или что-то другое.
Но ведь архитектура котрекса М4 далеко не DSP, чтобы умножением заниматься в какой-то ветке.

... Какое выбрать время посылки (критерии выбора)?
И о времени. Вот и подсказка - для длительной посылки.
--------------
... итого 30 мгц х 4000 = 30 ГГц .
... Где я не прав?
Наверное неправы тут вы в арифметике.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Feb 16 2013, 13:03
Сообщение #21


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (Aner @ Feb 16 2013, 16:27) *
Наверное неправы тут вы в арифметике.

..это было очевидно, расчёт был на то - что кто-нить прикинет "реальные" возможности М4 для данного случая.
Мне тоже интересно.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 16 2013, 17:58
Сообщение #22


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
..это было очевидно, расчёт был на то - что кто-нить прикинет "реальные" возможности М4 для данного случая.
Мне тоже интересно.


Я вообще не вижу проблем.

Берем частоту дискретизации 320кГц. Каждые 64 выборки - БПФ32, имеем 32 I- и Q- составляющие (32 из 64, ибо мнимая часть сигнала равна 0). Составляющие как раз с шагом 5кГц. Берем только те, которые интересуют (соответствующие диапазону от 55 до 135кГц). Декодер можно делать самый простой - bit=sqrt(I^2+Q^2)>Threshold?1:0.

На межсимвольные дела можно положить, скажем, 16 отсчетов (более грамотно выбирать исходя из данных по дисперсии в канале связи).

Итого каждые 80 отсчетов (250мкс) нужно сделать БПФ на 32 точки как самое ресурсоемкое. На частоте 50МГц имеем на все про все 12500 тактов, что перекрывает с огромным запасом.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Alla_student
сообщение Feb 24 2013, 21:13
Сообщение #23


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

Группа: Участник
Сообщений: 84
Регистрация: 5-04-11
Пользователь №: 64 146



Пока я болела, тема продолжала обсуждаться.
Попробую использвать предложенные здесь варианты реализации и сделать что то практическое.
Спасибо всем за обсуждение!
Go to the top of the page
 
+Quote Post
Alla_student
сообщение Feb 25 2013, 10:24
Сообщение #24


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

Группа: Участник
Сообщений: 84
Регистрация: 5-04-11
Пользователь №: 64 146



Цитата(Rst7 @ Feb 16 2013, 21:58) *
Я вообще не вижу проблем.

Rst7 личную почту посмотрите пожалуйста!
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Mar 5 2013, 12:04
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(Rst7 @ Feb 16 2013, 21:58) *
Я вообще не вижу проблем.

Берем частоту дискретизации 320кГц. Каждые 64 выборки - БПФ32, имеем 32 I- и Q- составляющие (32 из 64, ибо мнимая часть сигнала равна 0). Составляющие как раз с шагом 5кГц. Берем только те, которые интересуют

Какой БПФ, какие I и Q, вы вообще о чём? Пусть хоть ожидаемое ОСШ для начала назовёт. Раз речь идёт об АМ, то явно ОСШ должно быть дицибелл 20 как минимум. Где это всё работать будет? Если это надо диффпарой на несколько сотен метров передать, то нахрена огород городить - обычный частотомерный способ: мерьте частоты по пересечению уровня и будет вам счастье. С такой задачей даже "восьмерёночек" справится.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Mar 5 2013, 12:16
Сообщение #26


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..жёстко вы нас всех, вот так вот - мордой об стол.
Т.е. если справится восьмерёночек (кто это?) то никак иначе и делать нельзя?
БПФ реализовать гораздо интереснее и пользы больше, особливо если самому(самой) реализовать.
А комплексную форму сигнала за что не любите?


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Aner
сообщение Mar 5 2013, 13:11
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Незнает он про БПФ, какие-то I и Q, ... всего то. Да и как пишутся эти единицы не знает ...дицибелл. И что вы от него хотите?
Вон интересно как "восьмерёночек" потянет это ...промодулирована по амплитуде двоичным 16-разрядным числом Nd.
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Mar 5 2013, 15:50
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(Aner @ Mar 5 2013, 17:11) *
Незнает он про БПФ, какие-то I и Q, ... всего то. Да и как пишутся эти единицы не знает ...дицибелл. И что вы от него хотите?
Вон интересно как "восьмерёночек" потянет это ...промодулирована по амплитуде двоичным 16-разрядным числом Nd.

Зато вы профессионал, сразу видно: предрались к опечатке, браво, поздравляю! Я ещё раз поясню, если не понятно: профессионалы отличаются тем, к вашему сведению, что начинают разговор с постановки задачи, а не действуют по принципу "слышу звон - не знаю где он". Или вы тоже так свои проекты делаете? Сначала делаете абы делать, а потом начинаете о ТЗ думать?
Go to the top of the page
 
+Quote Post
Aner
сообщение Mar 5 2013, 16:58
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (Kluwert @ Mar 5 2013, 18:50) *
Зато вы профессионал, сразу видно: предрались к опечатке, браво, поздравляю! Я ещё раз поясню, если не понятно: профессионалы отличаются тем, к вашему сведению, что начинают разговор с постановки задачи, а не действуют по принципу "слышу звон - не знаю где он". Или вы тоже так свои проекты делаете? Сначала делаете абы делать, а потом начинаете о ТЗ думать?

... предрались...
Совсем плохо, да ... было с русским? Похоже не знаете, что такое опечатка. Кроме флуда, есть что по делу сказать?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th August 2025 - 05:50
Рейтинг@Mail.ru


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