Jump to content

    
Sign in to follow this  
Alla_student

алгоритм модуляции и демодуляции многочастотной посылки

Recommended Posts

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

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

Share this post


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

 

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

Share this post


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

 

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

Где я не прав?

Share this post


Link to post
Share on other sites
ещё нужно проделать БПФ 256 - это 4000 тактов итого 30 мгц х 4000 = 30 ГГц.

Где я не прав?

 

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

Share this post


Link to post
Share on other sites

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

 

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

Да и архитектура котрекса М4 в матрицу ложиться без проблем.

 

... Как проще написать алгоритм модуляции и демодуляции многочастотной посылки?

Вот о простоте алгоритма скорее всего вопрос. БПФ сразу или что-то другое.

Но ведь архитектура котрекса М4 далеко не DSP, чтобы умножением заниматься в какой-то ветке.

 

... Какое выбрать время посылки (критерии выбора)?

И о времени. Вот и подсказка - для длительной посылки.

--------------

... итого 30 мгц х 4000 = 30 ГГц .

... Где я не прав?

Наверное неправы тут вы в арифметике.

 

Share this post


Link to post
Share on other sites
Наверное неправы тут вы в арифметике.

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

Мне тоже интересно.

Share this post


Link to post
Share on other sites
..это было очевидно, расчёт был на то - что кто-нить прикинет "реальные" возможности М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 тактов, что перекрывает с огромным запасом.

Share this post


Link to post
Share on other sites

Пока я болела, тема продолжала обсуждаться.

Попробую использвать предложенные здесь варианты реализации и сделать что то практическое.

Спасибо всем за обсуждение!

Share this post


Link to post
Share on other sites
Я вообще не вижу проблем.

 

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

Какой БПФ, какие I и Q, вы вообще о чём? Пусть хоть ожидаемое ОСШ для начала назовёт. Раз речь идёт об АМ, то явно ОСШ должно быть дицибелл 20 как минимум. Где это всё работать будет? Если это надо диффпарой на несколько сотен метров передать, то нахрена огород городить - обычный частотомерный способ: мерьте частоты по пересечению уровня и будет вам счастье. С такой задачей даже "восьмерёночек" справится.

 

Share this post


Link to post
Share on other sites

..жёстко вы нас всех, вот так вот - мордой об стол.

Т.е. если справится восьмерёночек (кто это?) то никак иначе и делать нельзя?

БПФ реализовать гораздо интереснее и пользы больше, особливо если самому(самой) реализовать.

А комплексную форму сигнала за что не любите?

Share this post


Link to post
Share on other sites

Незнает он про БПФ, какие-то I и Q, ... всего то. Да и как пишутся эти единицы не знает ...дицибелл. И что вы от него хотите?

Вон интересно как "восьмерёночек" потянет это ...промодулирована по амплитуде двоичным 16-разрядным числом Nd.

 

Share this post


Link to post
Share on other sites
Незнает он про БПФ, какие-то I и Q, ... всего то. Да и как пишутся эти единицы не знает ...дицибелл. И что вы от него хотите?

Вон интересно как "восьмерёночек" потянет это ...промодулирована по амплитуде двоичным 16-разрядным числом Nd.

Зато вы профессионал, сразу видно: предрались к опечатке, браво, поздравляю! Я ещё раз поясню, если не понятно: профессионалы отличаются тем, к вашему сведению, что начинают разговор с постановки задачи, а не действуют по принципу "слышу звон - не знаю где он". Или вы тоже так свои проекты делаете? Сначала делаете абы делать, а потом начинаете о ТЗ думать?

Share this post


Link to post
Share on other sites
Зато вы профессионал, сразу видно: предрались к опечатке, браво, поздравляю! Я ещё раз поясню, если не понятно: профессионалы отличаются тем, к вашему сведению, что начинают разговор с постановки задачи, а не действуют по принципу "слышу звон - не знаю где он". Или вы тоже так свои проекты делаете? Сначала делаете абы делать, а потом начинаете о ТЗ думать?

... предрались...

Совсем плохо, да ... было с русским? Похоже не знаете, что такое опечатка. Кроме флуда, есть что по делу сказать?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this