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

 
 
 
Reply to this topicStart new topic
> выделение квадратур с помощью ПЛИС, выделение квадратур
guxa
сообщение Oct 15 2008, 08:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 17-12-06
Пользователь №: 23 612



Скажите пожалуйста.
Есть ли возможность реализовать на ПЛИС разложение сигнала, приходящего с АЦП на квадратуры?

Чисто математически эту задачу представляю, а как реализовать в логику ПЛИС - не пойму. help.gif
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 15 2008, 09:25
Сообщение #2


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Поставить в ПЛИС NCO, настроенный на частоту несущей и тупо умножить его выходы (синус и косинус) на данные от ADC.
Go to the top of the page
 
+Quote Post
guxa
сообщение Oct 15 2008, 09:42
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 17-12-06
Пользователь №: 23 612



А что есть NCO? 07.gif
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 15 2008, 09:48
Сообщение #4


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(guxa @ Oct 15 2008, 13:42) *
А что есть NCO? 07.gif

Numericaly Controlled Oscillator. Это блок, чаще всего библиотечный, который выдает в численном виде значения синуса и/или косинуса некоторой частоты. Значение этой частоты (а также ее фазы) может быть задано константно, или изменяться во время функционирования схемы путем подачи управляющих сигналов на вход блока.
Go to the top of the page
 
+Quote Post
guxa
сообщение Oct 15 2008, 09:58
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 17-12-06
Пользователь №: 23 612



Спасибо.

В АЛЬТЕРЕ такого блока нет, но могу ли я сделать его сама? Как понимаю, если мне известна частота я итак смогу вычислить значения синуса и косинуса. Верно?

Мне тут еще шепнули, что если частота дискритизации ровно в 4 раза выше, чем частота несущей, я могу просто брать четные и нечетные дискреты - это и будут квадратуры, это так?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 15 2008, 10:36
Сообщение #6


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(guxa @ Oct 15 2008, 13:58) *
В АЛЬТЕРЕ такого блока нет, но могу ли я сделать его сама?
Есть такой блок, так и называется, NCO. Ищите в MegaWizard Plug-in Manager, DSP/Signal generation.

Цитата(guxa @ Oct 15 2008, 13:58) *
Как понимаю, если мне известна частота я итак смогу вычислить значения синуса и косинуса. Верно?
Можете, безусловно. Но просто обычно требуется достаточно высокая точность, значений будет много, при формировании таблицы можно где-то ошибиться... Проще взять готовое.

Цитата(guxa @ Oct 15 2008, 13:58) *
Мне тут еще шепнули, что если частота дискритизации ровно в 4 раза выше, чем частота несущей, я могу просто брать четные и нечетные дискреты - это и будут квадратуры, это так?
Ну да, учетверенная частота - это фазы 0, 90, 180 и 270 градусов. Синус в этих точках - 0, 1, 0 и -1 соответственно. Косинус наверное понятно как.

Только сложность нередко в том, что в реальном приборе несущая и частота дискретизации формируются в разных местах (несущая в передатчике, а частота дискретизации - в приемнике), и "ровно" в 4 раза отличаться скорее всего не будут, будет небольшая разница (реально - от нескольких милионных до нескольких сот). Более того, эта разница может заметно плавать во времени от температуры и напряжения . Для этого и сделан NCO - сигнал предварительно декодируется, высняется ошибка частоты, и частота NCO корректируется, чтобы как можно более точно соответствовать частоте, которую сгенерировал передатчик. Вам, однако, такая точность может, конечно, и не потребоваться.
Go to the top of the page
 
+Quote Post
guxa
сообщение Oct 16 2008, 05:37
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 17-12-06
Пользователь №: 23 612



Спасибо огромное, будем изучать.
Go to the top of the page
 
+Quote Post
Гяук
сообщение Oct 17 2008, 13:09
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 6-12-04
Из: г. Таганрог
Пользователь №: 1 346



Цитата(DmitryR @ Oct 15 2008, 14:36) *
...сигнал предварительно декодируется, высняется ошибка частоты, и частота NCO корректируется, чтобы как можно более точно соответствовать частоте, которую сгенерировал передатчик...

А можно в этом месте поподробнее - не могу взять в толк, что значит "сигнал предварительно декодируется"? Это Вы предлагаете сделать квадратуры, по этим квадратурам получить спектр и найти смещение максимума несущей от нуля? Похоже, что я что-то не так понял smile.gif

2 guxa
С учетверенной все получается действительно легко и нересурсоемко, но...
Во-первых Вам нужно помнить, что вы не просто разбрасываетесь отсчетами: четный - синус, нечетный - косинус, но и не забываете про нули, то есть когда четный уходит в синус - в косинусе на его месте стоит ноль.
Во вторых вариант с частотой дискретизации, равной учетверенной несущей приводит к тому, что в прямой спектр сигнала у Вас попадает еще его третья гармоника. Иногда это оказывается критичным - тут как говорится нужно смотреть от задачи.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 17 2008, 13:28
Сообщение #9


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Гяук @ Oct 17 2008, 17:09) *
А можно в этом месте поподробнее - не могу взять в толк, что значит "сигнал предварительно декодируется"? Это Вы предлагаете сделать квадратуры, по этим квадратурам получить спектр и найти смещение максимума несущей от нуля? Похоже, что я что-то не так понял smile.gif
Я вобщем-то ниего не предлагал, я сказал, что так делается wink.gif Какой конкретно алгоритм - я не скажу, не так глубоко силен в этом, но в том, что вы сказали ничего фантастического не вижу. Знаю есть еще поисковые алгоритмы, которые прочесывают спектр в поисках мест, где есть сигнал (это в случаях, когда в полосе может быть несколько каналов).
Go to the top of the page
 
+Quote Post
bve
сообщение Oct 17 2008, 21:00
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 316
Регистрация: 20-02-05
Из: Ленинградская обл.
Пользователь №: 2 765



Неплохо бы еще отфильтровать получающийся комплексный сигнал фильром низкой частоты.
Соответственно, в библиотеке у ALTERA есть мегафункция
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Oct 18 2008, 08:39
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(DmitryR @ Oct 15 2008, 13:25) *
Поставить в ПЛИС NCO, настроенный на частоту несущей и тупо умножить его выходы (синус и косинус) на данные от ADC.



Вы забыли несколько "не очень важных моментов".
1. После "тупого" умножения, нужно не забыть отфильтровать ВЧ сигнал
2. Частота NCO для умножения должна быть выбрана так, чтобы не произошло наложение участков спектра сигнала. Т.е. для распространенных видов сигналов - не менее половины ширины спектра. Это при условии что у вас будет идеальный ФНЧ.
Go to the top of the page
 
+Quote Post

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

 


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


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