Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Бит ту бит модель Xilinx fft
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Грендайзер
Здравствуйте. Хочу написать в 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

Понимаю, что здесь что то с квантованием, но вот что именно никак понять не могу. Читал, читал, уже голова не соображает..
x736C
В случае (generics.C_USE_FLT_PT == 0) производится квантование входного массива данных.
Параметры квантования рассчитываются функцией q = quantizer(); с заданными свойствами.
Само квантование осуществляется функцией input = quantize(q,input_raw);
Обе команды хорошо документированы, есть множество примеров в Сети.
Не очень понятна проблема. Зачем это делается? Физический смысл?
Dr.Alex
Цитата(Грендайзер @ Aug 15 2017, 14:56) *
Здравствуйте. Хочу

Имхо теряете время.
Фурье слишком простая и "хорошо изученная" операция, чтобы непонятно во имя чего возиться с такой рутинно-геморной штукой как бит-аккуратная модель.
Stanislav
Цитата(Dr.Alex @ Aug 22 2017, 03:54) *
Имхо теряете время.
Фурье слишком простая и "хорошо изученная" операция, чтобы непонятно во имя чего возиться с такой рутинно-геморной штукой как бит-аккуратная модель.
Вообще-то, это есть стандартный способ верификации данного конкретного решения.
Ради него как раз и стоит возиться.

Не вдаваясь в суть задачи, просто реплика.
Грендайзер
x736C, Спасибо, уже сам разобрался sm.gif
Цитата
Имхо теряете время.

Нууу... как сказать...
Грендайзер
Ещё раз здравствуйте. Снова упёрся. Понимаю, что где то рядом, но понять не могу. Вообщем в этой модели, значения входного вектора должны лежать в пределах -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, и тогда они, после перемножения на такие же малые числа, выскачат за предел разрядной сетки. Не могу понять, как в таком случае произвести верификацию кода для ПЛИС?
D.I.M.A
Очевидно, конечно, но я бы порекомендовал Вам обратиться в официальную службу поддержки.
petrov
Цитата(Грендайзер @ Aug 27 2017, 22:42) *
Не могу понять, как в таком случае произвести верификацию кода для ПЛИС?


Для понимния поможет сделать в симулинке простой проект с умножителем и различным положением точки в операндах, разобраться с блоком convert, типом fixdt(...), сгенерировать HDL умножителя.
Грендайзер
Цитата
Для понимния поможет сделать в симулинке...

Мда... наверное это самое правильное...
yanusa
Симулинка думаете поможет?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.