Грендайзер 0 15 августа, 2017 Опубликовано 15 августа, 2017 (изменено) · Жалоба Здравствуйте. Хочу написать в matlab модель с использованием бит ту бит модели fft xilinx. Однко испытываю некоторые трудности с пониманием кода, а именно: В xilinx модели присутствуют следующие строки: % Create input data frame: constant data constant_input = 0.5 + 0.5j; input_raw(1:samples) = constant_input; if generics.C_USE_FLT_PT == 0 % Set up quantizer for correct twos's complement, fixed-point format: one sign bit, C_INPUT_WIDTH-1 fractional bits q = quantizer([generics.C_INPUT_WIDTH, generics.C_INPUT_WIDTH-1], 'fixed', 'convergent', 'saturate'); % Format data for fixed-point input input = quantize(q,input_raw); else % Floating point interface - use data directly input = input_raw; end Понимаю, что здесь что то с квантованием, но вот что именно никак понять не могу. Читал, читал, уже голова не соображает.. Изменено 15 августа, 2017 пользователем Грендайзер Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 18 августа, 2017 Опубликовано 18 августа, 2017 · Жалоба В случае (generics.C_USE_FLT_PT == 0) производится квантование входного массива данных. Параметры квантования рассчитываются функцией q = quantizer(); с заданными свойствами. Само квантование осуществляется функцией input = quantize(q,input_raw); Обе команды хорошо документированы, есть множество примеров в Сети. Не очень понятна проблема. Зачем это делается? Физический смысл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dr.Alex 0 22 августа, 2017 Опубликовано 22 августа, 2017 · Жалоба Здравствуйте. Хочу Имхо теряете время. Фурье слишком простая и "хорошо изученная" операция, чтобы непонятно во имя чего возиться с такой рутинно-геморной штукой как бит-аккуратная модель. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 22 августа, 2017 Опубликовано 22 августа, 2017 · Жалоба Имхо теряете время. Фурье слишком простая и "хорошо изученная" операция, чтобы непонятно во имя чего возиться с такой рутинно-геморной штукой как бит-аккуратная модель. Вообще-то, это есть стандартный способ верификации данного конкретного решения. Ради него как раз и стоит возиться. Не вдаваясь в суть задачи, просто реплика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Грендайзер 0 24 августа, 2017 Опубликовано 24 августа, 2017 (изменено) · Жалоба x736C, Спасибо, уже сам разобрался :) Имхо теряете время. Нууу... как сказать... Изменено 24 августа, 2017 пользователем Грендайзер Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Грендайзер 0 27 августа, 2017 Опубликовано 27 августа, 2017 · Жалоба Ещё раз здравствуйте. Снова упёрся. Понимаю, что где то рядом, но понять не могу. Вообщем в этой модели, значения входного вектора должны лежать в пределах -1=< 0 < 1, т.к. само ядро может работать с числами с плавающей точкой. Я работаю с фиксированой. И так. Я получил вектор входного воздействия (пусть входные числа знаковые и имеют 8 разрядов с учётом знака) x = [127, -127, 127, -127]. Что бы загнать их в заданный интервал я делю вектор на 128 тогда x_norm = [0,9921875, -0,9921875, 0,9921875, -0,9921875] далее числа квантуются. После того как я получил преобразование, я хочу умножить полученный спектр на некоторую ф-цию. Фу-ция так же отнормирована и квантована. И тут вопрос. Если значения преобразования функции например, такие же, как у сигнала, то в плисе у меня наступит переполнение. Но матлабе никакого переполнения не наступит, т.к. после преобразования, я хоть и получу числа < 1, но всё же достаточно большие что бы не вылезти за предел разрядной сетки. С другой стороны, если бы на входе fft были бы одни единицчы, то в плисе переполнение не наступило бы (1*1 = 1 < 127), а вот в матлабе на выходе FFT будут числа << 1, и тогда они, после перемножения на такие же малые числа, выскачат за предел разрядной сетки. Не могу понять, как в таком случае произвести верификацию кода для ПЛИС? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 28 августа, 2017 Опубликовано 28 августа, 2017 · Жалоба Очевидно, конечно, но я бы порекомендовал Вам обратиться в официальную службу поддержки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 28 августа, 2017 Опубликовано 28 августа, 2017 · Жалоба Не могу понять, как в таком случае произвести верификацию кода для ПЛИС? Для понимния поможет сделать в симулинке простой проект с умножителем и различным положением точки в операндах, разобраться с блоком convert, типом fixdt(...), сгенерировать HDL умножителя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Грендайзер 0 28 августа, 2017 Опубликовано 28 августа, 2017 · Жалоба Для понимния поможет сделать в симулинке... Мда... наверное это самое правильное... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yanusa 0 26 сентября, 2017 Опубликовано 26 сентября, 2017 · Жалоба Симулинка думаете поможет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться