|
|
 |
Ответов
|
Jun 1 2015, 06:24
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата Я бы добавил: на NCO тоже надо заложить увеличение разрядности не менее чем на 2. С чем это связано? В моём понимание на смесителе (вы же имеете в виду не сам NCO а смеситель?) динамический диапазон никак не изменяется, т.к. сигнал от NCO идёт в полную шкалу, соответственно, если у нас с NCO сигнал, например, 16 бит, то на перемножение мы добавляем 16 бит, а после спокойно можем их отнять, ничего не потеряв. Вы предлагаете отнять не 16 а 14, правильно я понял? С чем это связано? Цитата В теории - да, в жизни - если в ПЛИСе есть место, почему бы не добавить системе помехоустойчивости? Вы добавляете не помехоустойчивость а точность. Есть например приёмник. На тепловой шум отводится 6-8 разрядов, арифметический шум - 1 разряд. В таком случае очевидно, что тепловой шум много больше арифметического, следовательно арифметическим шумом можно принебречь и оптимальный приём будет работать как в учебнике. Добавляя разрядности, вы увеличиваете точность квантования теплового шума. Т.к. от этого сигнал-шум не поменяется, откуда взяться выигрышу в помехоустойчивости. Другое дело, если у вас рекурсивная схема, в ней 1 битный арифметический шум может вырасти и стать сравнимым или даже большим чем шум тепловой, снизив помехоустойчивость. Или другой пример - выделение сверхмалого сигнала на фоне большой помехи. Если выбрать малую разрядность, то в процессе обработки малый сигнал потеряется, т.к. в процессе выделения используется корреляционная обработка (т.е. фактически эквивалент возведению в квадрат, а это приведет к двукратному росту динамического диапазона, отбросив разрядность очень легко потерять слабый сигнал, который после возведение в квадрат станет еще слабее). С практической точки зрения разрядность все таки уменьшать стоит, но не более чем до разрядности умножителя ПЛИС.
Сообщение отредактировал serjj - Jun 1 2015, 06:27
|
|
|
|
|
Jun 1 2015, 07:22
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(serjj @ Jun 1 2015, 09:24)  С чем это связано? В моём понимание на смесителе (вы же имеете в виду не сам NCO а смеситель?) динамический диапазон никак не изменяется, т.к. сигнал от NCO идёт в полную шкалу, соответственно, если у нас с NCO сигнал, например, 16 бит, то на перемножение мы добавляем 16 бит, а после спокойно можем их отнять, ничего не потеряв. Вы предлагаете отнять не 16 а 14, правильно я понял? С чем это связано? Пр повороте вектора длина проекции может увеличиться. Т.е. если на входе ты закладываешься на максимальное значение в каждой квадратуре K, то на выходе надо иметь sqrt(2) * K
|
|
|
|
|
Jun 2 2015, 07:26
|
Участник

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

|
Цитата(andyp @ Jun 1 2015, 10:22)  Пр повороте вектора длина проекции может увеличиться. Т.е. если на входе ты закладываешься на максимальное значение в каждой квадратуре K, то на выходе надо иметь sqrt(2) * K Поясните пожалуйста про NCO. Я умножаю 14 бит с NCO на 14 бит с АЦП. И на выходе сколько бит можно оставить? 16? я правильно понял?
Сообщение отредактировал Artunique - Jun 2 2015, 07:26
|
|
|
|
|
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?
|
|
|
|
Сообщений в этой теме
Artunique Выбор разрядности на выходе фильтров May 27 2015, 08:24 farbius Цитата(Artunique @ May 27 2015, 11:24) Чт... May 27 2015, 10:07 Artunique Цитата(farbius @ May 27 2015, 13:07) Разр... May 27 2015, 10:16  farbius Цитата(Artunique @ May 27 2015, 13:16) Я ... May 27 2015, 10:33 des00 считайте по эффектиной разрядности = разрядность н... May 27 2015, 10:39 Artunique Цитата(des00 @ May 27 2015, 13:39) считай... May 27 2015, 11:49  des00 Цитата(Artunique @ May 27 2015, 18:49) Сп... May 27 2015, 12:55 stealth-coder Из собственного опыта:
1. Везде использовать матем... May 28 2015, 18:49 serjj ЦитатаВезде использовать математическое округление... May 29 2015, 08:01 stealth-coder Цитата(serjj @ May 29 2015, 11:01) Его ну... May 29 2015, 17:26 Hose Я бы добавил: на NCO тоже надо заложить увеличение... May 30 2015, 05:25   thermit Цитата(Artunique @ Jun 2 2015, 10:26) Поя... Jun 2 2015, 07:43             andyp Цитата(Artunique @ Jun 2 2015, 15:30) А е... Jun 2 2015, 13:18              Artunique Цитата(andyp @ Jun 2 2015, 16:18) В колич... Jun 2 2015, 13:32               andyp Цитата(Artunique @ Jun 2 2015, 16:32) Нет... Jun 2 2015, 13:55                Artunique Цитата(andyp @ Jun 2 2015, 16:55) Избират... Jun 2 2015, 14:06                 andyp Цитата(Artunique @ Jun 2 2015, 17:06) Как... Jun 2 2015, 14:23                  Artunique Цитата(andyp @ Jun 2 2015, 17:23) FIR на ... Jun 2 2015, 14:33                   andyp Цитата(Artunique @ Jun 2 2015, 17:33) Как... Jun 2 2015, 15:21              Corner Цитата(Krys @ Aug 21 2015, 07:16) Выигрыш... Sep 20 2015, 21:21               Krys Цитата(Corner @ Sep 21 2015, 04:21) Более... Oct 13 2015, 08:32 serjj ЦитатаПр повороте вектора длина проекции может уве... Jun 1 2015, 07:34 serjj ЦитатаА еще вопрос про FIR фильтр.
Если фильтр дел... Jun 2 2015, 13:19 Artunique Цитата(serjj @ Jun 2 2015, 16:19) Если фи... Jun 24 2015, 12:43 serjj А вот тут то и начнётся самое интересное. В случае... Jun 2 2015, 20:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|