[an error occurred while processing this directive]
Ответ (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)
|
Отправлено
homekvn 31 октября 2006 г. 15:25
В ответ на: Ответ: отправлено
st256 31 октября 2006 г. 14:07
|
|
|
|
Хорошо. Не смотрите таблицу. Я коротко спрошу: какая должна быть длина КИХ-фильтра в канале, частотный диапазон которого 250Гц... 20кГц и в котором надо обеспечить разрешение минимум в 25 Герц? (Частота дискретизации 44100 Гц)
По поводу 21 разряда. У нас могут быть сигналы сильно отличающиеся по уровню. Если мы не отказываемся от БПФ (а мы пока не отказываемся в силу обстоятельств, изложенных в первом абзаце), то при слабом уровне сигнала фиксед-пойнт БПФ 16бит даст нам соотношение сигнал-шум довольно слабенькое и шумы будут слышны. Поэтому надо будет использовать 32-битное БПФ - а это уже накладно. Шарк справляется с этой задачей гораздо быстрее. Кроме того, я совершенно могу не думать о нормировке сигнала (для КИХ-фильтрации, правда это не так актуально, как для БИХ). У меня он делает 2 32-разрядных БПФ сразу за время, за которое Блекфин не сделает и одного (32-разрядного).
То же касается и БИХ-фильтров. Вот в прошлом проекте заказчика устроили и БИХи. Вот у нас получилось. На Блекфине ВСЕГО можно было реализовать 300 32-разрядных БИХов. На Шарке их число равнялось 1700. Разница есть, я полагаю. Стоимость процессоров примерно одна и та же (т.е. дешевому Блекфину я всегда сопоставлю дешевый Шарк, сопоставимый по цене; Шарки стартуют от 5.25 долларов).
Кроме того, если я буду реализовывать БИХи в последовательном виде, то для того, чтобы гарантированно не иметь геморроя, связанного с производимыми этими БИХами шумами мне надо обеспечить, чтобы сигнал на входе каждого каскада был бы нормирован. А как это обеспечить? особенно, когда soundset может перестраиваться динамически?
Ну я соглашусь, что какое-нибудь решение Вы предложите для фиксед-пойнт такое, что оно будет работать на все случаи жизни, при любом взаимном расположении БИХ-фильтров. Но оно будет по затратам (не только человеко-часам, но прежде всего по процессорным ресурсам) несопоставимо с дизайном на флоатинг-пойнт процессоре.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Ответ. Окончательный и обсуждению не подлежащий. — st256 (31.10.2006 16:16 217.151.231.218, 1062 байт)
- Ответ (ну я не настаиваю на окончательности моего ответа и на его необсуждаемости) — homekvn (31.10.2006 16:47 212.185.161.237, 1778 байт)
- А еще по поводу fixed и floating... (+) — ASergej_R19 (31.10.2006 17:24 80.250.160.170, 326 байт)
- Да я и это не оспаривал (+) — homekvn (31.10.2006 17:45 212.185.161.237, 1479 байт)
- Вот пример не в отрыве... (+) — ASergej_R19 (31.10.2006 18:16 80.250.160.170, 67 байт)
- Ответ (+) — homekvn (31.10.2006 18:26 212.185.161.237, 258 байт)
- Ответ — ASergej_R19 (31.10.2006 18:46 80.250.160.170, 330 байт)
- Ответ (+) — homekvn (31.10.2006 19:14 212.185.161.237, 2314 байт)
- Я же Вам писал по поводу Блекфина... (+) — ASergej_R19 (31.10.2006 19:45 80.250.160.170, 348 байт)
- А вот еще последний гвоздь (+) — homekvn (31.10.2006 19:27 212.185.161.237, 773 байт)
- Вообще-то я ничего не сдвигаю - просто складываю раздельно сумму и число отсчетов... (+) — ASergej_R19 (31.10.2006 19:40 80.250.160.170, 165 байт)
- Уж не знаю как там у блэкфина, но делить каждое число перед возведением в квадрат - это какое-то особенный шик, больше напоминающий извращение. Вот Вам навскидку метОд. Отдельно суммируете старшие 16-ти разрядные чапсти квадратов, отдельно младшие. Потом суммы сшиваете и результат делите. Или сначала делите, потом сшиваете, пофигу. И гвоздь Ваш совсем ржавый в результате получился. — -=ВН=- (31.10.2006 19:36 193.125.71.140, пустое)
- Можно эту операцию расписать для того примера, что я привел ранее (+) — homekvn (31.10.2006 19:53 212.185.161.237, 552 байт)
- А я Вам ответил, что точный результат получается за время ~2*N. И если нужно деление (считается средний квадрат), то делится означенный точный результат, а вовсе не каждый операнд. И годится это дело для любого вектора, хорошего ли, плохого ли. 2*N гораздо хуже, чем N, гораздо, но много лучше деления каждого отсчета, много лучше. — -=ВН=- (31.10.2006 20:02 193.125.71.140, пустое)
- А никто и не говорил, что у Блекфина производительность больше чем у Шарка... (+) — ASergej_R19 (31.10.2006 20:02 80.250.160.170, 222 байт)
- А если использовать оба аккумулятора A0 и A1, то посчитает за время вдвое меньшее.. — quark (31.10.2006 20:06 62.140.241.223, пустое)
- С последним утверждением я не спорю и не возражал против него. Просто пример Вы привели, на мой взгляд, не очень удачный для демонстрации этого утверждения. Вот там-то я и завозражал. — homekvn (31.10.2006 20:05 212.185.161.237, пустое)
- А я начал возражать Вам, потому что Вы возражали неправильным применением fixed point... :-) (+) — ASergej_R19 (31.10.2006 20:21 80.250.160.170, 398 байт)
- Ну, про точность я готов продолжить. Приведите, если Вам не трудно, пример наихудшего для floating-point вычислений вектора, где бы начались проблемы с точностью, но при этом 32-битный fixed-point подобных проблем бы не имел. — homekvn (31.10.2006 20:29 212.185.161.237, пустое)
- Не в состоянии прочитать всю дискуссию, но сейчас особенно моден формат ieee754. Каковой для флоата обычного оговаривает на все прол все 32-х разряда. С учетом этого сложите во float 2 числа и доложите результат. Первое число=1073741823, второе =1073741822. — -=ВН=- (31.10.2006 20:38 193.125.71.140, пустое)
- Ну-у! Так и я могу. А теперь Вы сложите серию чисел вроде 8.21e+48 или (e-48), которые также соответствуют приведенному Вами стандарту. И потом Вы мне исходные числа приведите, которые надо в квадрат возвести, а потом просуммировать. А потом сами на блекфине сделайте то же самое. — homekvn (31.10.2006 21:08 212.185.161.237, пустое)
- Вы подменили вопрос. 8.21e+48 не входят в ДИАПАЗОН 32-х разрядных чисел целых. Не входят. А приведенные мной числа в ДИАПАЗОН флоата одинарной точности входят. Я ведь не просил Вас складывать в одинарном флоате числа порядка 8.21e+16799. Нехорошо, нехорошо, Вы пытаетесь меня обмануть :-((( — -=ВН=- (31.10.2006 21:18 193.125.71.140, пустое)
- Да признаюсь, перебрал. Докладываю результат 3,9999997 И что? Кстати (+) — homekvn (31.10.2006 21:41 212.185.161.237, 635 байт)
- Да где Вы видели, что кто-то Ваш Шарк принижал? :-) Это ж разные процессоры, заточены под разные вещи... (+) — ASergej_R19 (31.10.2006 22:05 80.250.160.170, 339 байт)
- Вы знаете, я как-то догадывался, что Шарик и с целыми числами умеет, я даже с шариком работал, правда это было давно, шарик старый был, 21065, подох наверное уже. И мне в общем по барабану, кто кого сделает, шарик блэкфина или наоборот. Вы задаете вопрос или приводите пример, я Вам в ответ на это и только на это и демонстрирую всякие ноу и даже хау. — -=ВН=- (31.10.2006 21:48 193.125.71.140, пустое)
- Отлично! :-) (+) — ASergej_R19 (31.10.2006 20:42 80.250.160.170, 289 байт)
- Вот кстати и так тоже можно... (-) — ASergej_R19 (31.10.2006 19:41 80.250.160.170, пустое)
- В силу последнего замечания для нахождения RMS Блекфин даже и точнее-то ну никак не будет (ввиду обязательной нормировки входного вектора). — homekvn (31.10.2006 19:33 212.185.161.237, пустое)
- Конечно все познается в сравнении... (+) — ASergej_R19 (31.10.2006 17:14 80.250.160.170, 635 байт)
- Ответ: — st256 (31.10.2006 17:06 217.151.231.218, 53 байт)
- Очепятка: Шарк, конечно же, не только для аудиосигналов годится. — homekvn (31.10.2006 16:50 212.185.161.237, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание