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

 
 
> Квадратурный смеситель и постоянная составляющая
qwa
сообщение Jul 5 2015, 13:15
Сообщение #1


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

Группа: Участник
Сообщений: 80
Регистрация: 8-02-15
Из: Санкт-Петербург
Пользователь №: 85 020



Всем привет.

Реализовал на ПЛИС квадратурный смеситель. Дальнейшую обработку упоминать не буду,ибо она вся многократно проверена и точно работает корректно. Поэтому соль в том,что при просмотре спектра выходного сигнала со смесителя я вижу в спектре гармонику на нулевой частоте (которой быть не должно,поскольку на входе,по сути,просто шум). Таким образом, где-то в моем смесителе возникла постоянная составляющая. У кого есть идеи,откуда она могла взяться?

Подробности:

Входной сигнал 16 бит поступает на умножители. Умножается он там на синус/косинус разрядностью 26 бит. Выходные сигналы с умножителей - 18 бит.

Эти 18 бит подаются на вход КИХ фильтра,который понижает частоту дискретизации. Выход фильтра - 16 бит (2 сигнала),которые потом записываются в сигнал 64 бита.

ПЛИС: Xilinx Virtex 5

Ядра, которые я использовал:
-DDS Compiler (синтезатор частоты);
-FIR Compiler (КИХ фильтр);
-Multiplier (умножитель).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
iiv
сообщение Jul 6 2015, 10:25
Сообщение #2


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(qwa @ Jul 5 2015, 18:15) *
Входной сигнал 16 бит поступает на умножители. Умножается он там на синус/косинус разрядностью 26 бит. Выходные сигналы с умножителей - 18 бит.

Почему косинус и синус у Вас выбирается со значительно большей точностью, чем входные данные? Я бы взял те же 16 бит. А вот после умножения бы оставил все 32 бита и все их пользовал бы в фильтре, и только после фильтра округлял бы. При умножении 16 бит на 26 бит и последующем округлении до 18 бит Вы ни при каких обстоятельствах не будете использовать значения синусов больше 18+2 бит. В то же время, выбрасывать что-то после умножения на осциллирующую функцию, а потом усреднять (Ваш фильтр) то у Вас будут накапливаться ошибки от того, что большие и маленькие числа с разным знаком складываются.

Я не в курсе, как устроена DDS, но если ее строить на линейной аппроксимации, то для 26 бит точности она будет хотеть 2 умножителя и таблицу в 200кбит, а для большего порядка точности будет необходимо 4 умножителя и тоже десятки килобит.

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

Хотя мне почему-то кажется, что у Вас нулевая частота из-за неправильного или неточного синуса получается.

Цитата(qwa @ Jul 5 2015, 18:15) *
... вижу в спектре гармонику на нулевой частоте... где-то в моем смесителе возникла постоянная составляющая

а дурацкий вопрос, а в Вашем белом входном шуме постоянной составляющей точно нет? Может посчитать другими средствами, на всякий случай интеграл?
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jul 6 2015, 10:46
Сообщение #3


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Точность описания сигнала гетеродина определяется требованиями к избирательности по соседнему каналу и/или к блокированию

Пример дизайна NCO для гетеродина:

фазовый аккумулятор: 32 бита
LUT: 4096x18
на выходе: 22 бита

макс уровень внеполосных составляющих: ~-116-117 dBc

Цитата(iiv @ Jul 6 2015, 11:25) *
Почему косинус и синус у Вас выбирается со значительно большей точностью, чем входные данные?
Go to the top of the page
 
+Quote Post
iiv
сообщение Jul 6 2015, 11:40
Сообщение #4


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(Fat Robot @ Jul 6 2015, 16:46) *
Точность описания сигнала гетеродина определяется требованиями к избирательности по соседнему каналу и/или к блокированию

с точностью задания самой частоты - я полностью согласен. А вот с битностью синуса - не понимаю.

Давайте рассмотрим такой пример, пусть исходная функция - суть синус с частотой омега, + случайный шум s порядка -16 бит (точность входных). Пусть мы имеем сгенеренный гетеродинный синус с той же частотой и некоторой новой заданной точностью r.

Результат точного интегрирования будет

\int (sin(omega*t)+s)*(sin(omega*t)+r) dt =
\int sin(omega*t)^2 dt + \int sin(omega*t)*(s+r) dt + \int s+r dt

тогда ошибка интегрирования будет определяться нормой шума s или r, причем то, что больше, то и будет эту ошибку определять. Посему я продолжаю не понимать зачем брать больше 16 бит при генерации синуса, и, если кто доступно и математически меня сможет переубедить, буду очень благодарен.
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jul 6 2015, 11:58
Сообщение #5


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Желаем принимать полезный сигнал на частоте
На частоте присутствует сигнал помехи, превышающий по мощности полезный

принимаемый сигнал



сигнал идеального гетеродина



Сигнал "шумного" гетеродина. Шум упрощенный - единственная спектральная составляющая на частоте .





Цитата(iiv @ Jul 6 2015, 12:40) *
Go to the top of the page
 
+Quote Post
iiv
сообщение Jul 6 2015, 12:04
Сообщение #6


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(Fat Robot @ Jul 6 2015, 16:58) *
Сигнал "шумного" гетеродина

как точность-битность вычисления синуса влияет на ???
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- qwa   Квадратурный смеситель и постоянная составляющая   Jul 5 2015, 13:15
- - rloc   После DDS или умножителя, например, нет округления...   Jul 5 2015, 13:39
- - qwa   Цитата(rloc @ Jul 5 2015, 16:39) После DD...   Jul 5 2015, 14:49
|- - rloc   Предпочтения должны определяться задачей. https:/...   Jul 5 2015, 15:11
- - qwa   Округляю так: КодLIBRARY ieee; USE ieee.std_logic...   Jul 5 2015, 18:20
|- - Fat Robot   Округляете вы правильно, но описываете это коряво....   Jul 5 2015, 19:30
- - qwa   Цитата(Fat Robot @ Jul 5 2015, 22:30) Окр...   Jul 5 2015, 19:41
|- - Fat Robot   Я полагал, что у вас есть верификационная оснастка...   Jul 5 2015, 19:52
- - qwa   Итак,вот что я увидел. На вход - синус,частота его...   Jul 5 2015, 21:13
- - Golikov A.   Цитатаостаточно без всяких условий к разряду, пред...   Jul 6 2015, 04:37
|- - qwa   Цитата(Golikov A. @ Jul 6 2015, 07:37) А ...   Jul 6 2015, 07:26
|- - Fat Robot   Подтянулась тяжелая артиллерия... -0.7 в вашем пр...   Jul 6 2015, 08:36
- - Golikov A.   Ваша правда, вот проверил на пальцах.... 6 битное...   Jul 6 2015, 09:17
|- - des00   Цитата(Golikov A. @ Jul 6 2015, 17:17) Ва...   Jul 6 2015, 18:00
- - qwa   В общем,я обнаружил,что умножал просто на синус, а...   Jul 6 2015, 10:14
|- - Fat Robot   В реальности шум квантования NCO (для фазы, LUT ad...   Jul 6 2015, 12:09
- - serjj   ЦитатаПочему косинус и синус у Вас выбирается со з...   Jul 6 2015, 10:28
|- - iiv   Цитата(serjj @ Jul 6 2015, 15:28) После у...   Jul 6 2015, 10:35
|- - qwa   Цитата(serjj @ Jul 6 2015, 13:28) Большая...   Jul 6 2015, 11:18
- - serjj   Цитатада, но фильтром Вы интегрируете осциллирующу...   Jul 6 2015, 10:57
|- - Fat Robot   Я имею в виду приемник. Соседний или блокирующий к...   Jul 6 2015, 11:01
|- - iiv   Цитата(serjj @ Jul 6 2015, 16:57) Вы може...   Jul 6 2015, 11:21
- - serjj   ЦитатаЯ имею в виду приемник. Соседний или блокиру...   Jul 6 2015, 11:06
- - serjj   ЦитатаВозьмите несколько периодов синуса на равном...   Jul 6 2015, 11:32
- - serjj   Цитататогда ошибка интегрирования будет определять...   Jul 6 2015, 11:53
- - qwa   Попробую написать блок работы с файлами,чтобы в си...   Jul 6 2015, 12:20
- - Golikov A.   да про это написано в приведенной раньше ссылке пр...   Jul 6 2015, 19:04
- - qwa   Я сделал вот какую вещь : я посмотрел сигнал с вы...   Jul 7 2015, 17:08
- - qwa   Разобрался,что я делал не так с ядром фильтра.   Jul 8 2015, 22:31
|- - _Anatoliy   Цитата(qwa @ Jul 9 2015, 01:31) Разобралс...   Jul 9 2015, 04:00
|- - qwa   Цитата(_Anatoliy @ Jul 9 2015, 07:00) Вы ...   Jul 9 2015, 08:34
- - qwa   Тема остается актуальной. Со всеми округлениями и...   Jul 14 2015, 17:15
|- - Fat Robot   Я предположу, что где-то в умножителях знаковые да...   Jul 14 2015, 18:05
- - qwa   Цитата(Fat Robot @ Jul 14 2015, 21:05) Я ...   Jul 14 2015, 18:13
|- - Fat Robot   На 1м входе смесителя постоянное значение. На 2м в...   Jul 14 2015, 18:17
|- - qwa   Цитата(Fat Robot @ Jul 14 2015, 21:17) На...   Jul 14 2015, 20:32
|- - Fat Robot   Оставьте в покое фильтр до поры. К нему мы еще вер...   Jul 14 2015, 20:53
- - qwa   Всем привет! В общем, как это обычно и бывает...   Jul 16 2015, 11:15
- - Самурай   Цитата(qwa @ Jul 16 2015, 15:15) ... В об...   Jul 19 2015, 08:00


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

 


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


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