|
|
 |
Ответов
(15 - 29)
|
Jun 2 2015, 07:54
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Artunique @ Jun 2 2015, 10:26)  Поясните пожалуйста про NCO. Я умножаю 14 бит с NCO на 14 бит с АЦП. И на выходе сколько бит можно оставить? 16? я правильно понял? Вы про какой миксер? Я выше про комплексный писал. Если комплексный, то на выходе для реальной части (мнимая аналогично): s_re * m_re - s_im * m_im. При знаковом умножении 14 на 14 полчается 27 бит результата (28ой, самый старший разряд после перемножения можно отбросить, он тоже знаковый), при суммировании - всего 28. Итого (после вычитания)- 28 разрядов выхода в каждом квадратурном канале. Если считать, что на гетеродинном входе смесителя числа от -1 до 1, а на сигнальном - целые, то точка, разделяющая целую и дробную часть выхода смесителя будет после 13 разряда (15 старших - целая часть, затем 13 - дробная). Если на сигнальном входе смесителя реальный сигнал то для действительной части выхода получаем s * m_re. Аналогично, на выходе 14 бит целой части и 13 дробной.
|
|
|
|
|
Jun 2 2015, 08:23
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-11-14
Из: Санкт-Петербург
Пользователь №: 83 820

|
Цитата(andyp @ Jun 2 2015, 10:54)  Вы про какой миксер? Я выше про комплексный писал.
Если комплексный, то на выходе для реальной части (мнимая аналогично):
s_re * m_re - s_im * m_im. При знаковом умножении 14 на 14 полчается 27 бит результата (28ой, самый старший разряд после перемножения можно отбросить, он тоже знаковый), при суммировании - всего 28. Итого (после вычитания)- 28 разрядов выхода в каждом квадратурном канале. Если считать, что на гетеродинном входе смесителя числа от -1 до 1, а на сигнальном - целые, то точка, разделяющая целую и дробную часть выхода смесителя будет после 13 разряда (15 старших - целая часть, затем 13 - дробная).
Если на сигнальном входе смесителя реальный сигнал то для действительной части выхода получаем s * m_re. Аналогично, на выходе 14 бит целой части и 13 дробной. с АЦП шина 14 бит с комплексными отсчетами идет на 2 одинаковых смесителя. В одном смесителе данные с АЦП умножаются на sin, в другом на cos. Цитата(andyp @ Jun 2 2015, 10:54)  Если считать, что на гетеродинном входе смесителя числа от -1 до 1, а на сигнальном - целые, то точка, разделяющая целую и дробную часть выхода смесителя будет после 13 разряда (15 старших - целая часть, затем 13 - дробная). Поясните пожалуйста, как Вы это рассчитали.
Сообщение отредактировал Artunique - Jun 2 2015, 08:24
|
|
|
|
|
Jun 2 2015, 08:33
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Artunique @ Jun 2 2015, 11:23)  Поясните пожалуйста, как Вы это рассчитали. out_re = s_re * m_re - s_im * m_im; m_re = mr*2^-13; m_im = mi*2^-13 m_re, m_im - то, на что надо умножить (-1...+1), mi, mr - представление числа в памяти или регистрах Для сигнального входа представление и само число совпадают. out_re = (s_re*mr - s_im*mi) * 2(-13) - итого, у результата будет тоже 13 дробных разрядов
Сообщение отредактировал andyp - Jun 2 2015, 08:34
|
|
|
|
|
Jun 2 2015, 08:47
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-11-14
Из: Санкт-Петербург
Пользователь №: 83 820

|
Цитата(andyp @ Jun 2 2015, 11:33)  out_re = s_re * m_re - s_im * m_im; m_re = mr*2^-13; m_im = mi*2^-13 m_re, m_im - то, на что надо умножить (-1...+1), mi, mr - представление числа в памяти или регистрах
Для сигнального входа представление и само число совпадают.
out_re = (s_re*mr - s_im*mi) * 2(-13) - итого, у результата будет тоже 13 дробных разрядов Спасибо большое. Только все равно не пойму почему m_re = mr*2^-13; m_im = mi*2^-13. почему именно число 13?
|
|
|
|
|
Jun 2 2015, 09:08
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Artunique @ Jun 2 2015, 11:47)  Спасибо большое. Только все равно не пойму почему m_re = mr*2^-13; m_im = mi*2^-13. почему именно число 13? Всего бит 14 (по условию), 1 бит - знак. Остальные 13 используются для хранения дробных бит значения синуса или косинуса из диапазона (-1..1). Это позволяет при заданной разрядности сохранить в регистре наибольшее количество значащих бит.
|
|
|
|
|
Jun 2 2015, 10:08
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-11-14
Из: Санкт-Петербург
Пользователь №: 83 820

|
Цитата(andyp @ Jun 2 2015, 12:08)  Всего бит 14 (по условию), 1 бит - знак. Остальные 13 используются для хранения дробных бит значения синуса или косинуса из диапазона (-1..1). Это позволяет при заданной разрядности сохранить в регистре наибольшее количество значащих бит. Понял, спасибо. В общем в итоге-то что? 15 старших бит оставляю, а остальное можно выкинуть?
|
|
|
|
|
Jun 2 2015, 10:26
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Artunique @ Jun 2 2015, 13:08)  Понял, спасибо. В общем в итоге-то что? 15 старших бит оставляю, а остальное можно выкинуть? Если есть вещественный смеситель 14x14 (вход умножается на синус или косинус), то из 28 выходных можно отбросить один старший разряд (он повторяет знак) и 13 младших, где сидит дробная часть. Итого останется 14 разрядов.
|
|
|
|
|
Jun 2 2015, 10:43
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-11-14
Из: Санкт-Петербург
Пользователь №: 83 820

|
Цитата(andyp @ Jun 2 2015, 13:26)  Если есть вещественный смеситель 14x14 (вход умножается на синус или косинус), то из 28 выходных можно отбросить один старший разряд (он повторяет знак) и 13 младших, где сидит дробная часть. Итого останется 14 разрядов. Разобрался, спасибо. А еще вопрос про FIR фильтр. Если на выходе режу например 15 младших бит, то динамический диапазон вообще никакой. А если режу 5 старших и 10 младших, то картина лучше становится. Есть ли здесь правила какие-то?
Сообщение отредактировал Artunique - Jun 2 2015, 10:45
|
|
|
|
|
Jun 2 2015, 12:11
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Artunique @ Jun 2 2015, 13:43)  Разобрался, спасибо. А еще вопрос про FIR фильтр. Если на выходе режу например 15 младших бит, то динамический диапазон вообще никакой. А если режу 5 старших и 10 младших, то картина лучше становится. Есть ли здесь правила какие-то? Максимум, на какой может разогнаться сигнал на выходе FIR равен сумме абсолютных величин отсчетов импульсной характеристики. log2 этой суммы даст максимальное увеличение разрядности на выходе. Если редкие переполнения допустимы и фильтр - ФНЧ, то можно оценить требуемое увеличение разрядности просто как сумму отсчетов ИХ (фактически, это коэффициент передачи фильтра на 0).
|
|
|
|
|
Jun 2 2015, 12:30
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-11-14
Из: Санкт-Петербург
Пользователь №: 83 820

|
Цитата(andyp @ Jun 2 2015, 15:11)  Максимум, на какой может разогнаться сигнал на выходе FIR равен сумме абсолютных величин отсчетов импульсной характеристики. log2 этой суммы даст максимальное увеличение разрядности на выходе. Если редкие переполнения допустимы и фильтр - ФНЧ, то можно оценить требуемое увеличение разрядности просто как сумму отсчетов ИХ (фактически, это коэффициент передачи фильтра на 0). А еще в чем смысл производить децимацию в несколько этапов? В чем разница, поставлю я один фильтр с коэффициентом децимации 300 или поставлю два с коэффициентами 15 и 20?
|
|
|
|
|
Jun 2 2015, 13:18
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Artunique @ Jun 2 2015, 15:30)  А еще в чем смысл производить децимацию в несколько этапов? В чем разница, поставлю я один фильтр с коэффициентом децимации 300 или поставлю два с коэффициентами 15 и 20? В количестве вычислениий, которые придется сделать. Это что, блитц из "Что? Где? Когда?"  )
|
|
|
|
|
Jun 2 2015, 13:19
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата А еще вопрос про FIR фильтр. Если фильтр делали сами, то смотрите где у вас там округление (либо на умножениях либо на интеграторе) и порулите им, чтобы прикурить побольше мощности на выходе. Если не взяли готовый, то как вам сказал andyp, все дело в импульсной, нужно её смасштабировать, чтобы поднять мощность на выходе. Если будете варьировать разрядностью только по выходу, то можете немного дБ профукать. Ну и все эти махинации нужно производить для самого большого сигнала, который может прийти на вход приёмника, чтобы ничего не переполнялось. Если после этого у вас чутьё пропадет вдруг, то значит где-то ошибка - неправильно фильтр посчитан, пожелели разрядности и т.д. Цитата А еще в чем смысл производить децимацию в несколько этапов? В чем разница, поставлю я один фильтр с коэффициентом децимации 300 или поставлю два с коэффициентами 15 и 20? Абсолютно никакого смысла в этом нет, если вы сможете сделать это в 1 каскад и еще и обеспечить требования заказчика по согласованности полосы, крутизны фильтра, согласованного с полосой, удовлетворите критерий Найквиста по MSI, если у вас SC и т.д.
|
|
|
|
|
Jun 2 2015, 13:32
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-11-14
Из: Санкт-Петербург
Пользователь №: 83 820

|
Цитата(andyp @ Jun 2 2015, 16:18)  В количестве вычислениий, которые придется сделать. Это что, блитц из "Что? Где? Когда?"  ) Нет, просто мало информации про это все. Приемник заработал, а вот избирательность хромает и непонятно что где крутить )
|
|
|
|
|
Jun 2 2015, 13:55
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(Artunique @ Jun 2 2015, 16:32)  Нет, просто мало информации про это все. Приемник заработал, а вот избирательность хромает и непонятно что где крутить ) Избирательность по соседнему каналу Вашего приемника определяется фильтром, попробуйте загнать усиление АРУ на максимум и посмотреть на спектр того, что на выходе приемника. Должна быть АЧХ Вашего фильтра. Еще, как вариант, где-то что-то перегружается.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|