|
|
  |
Бит ту бит модель Xilinx fft, Ничего не понимаю |
|
|
|
Aug 15 2017, 11:56
|
Местный
  
Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451

|
Здравствуйте. Хочу написать в 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 Понимаю, что здесь что то с квантованием, но вот что именно никак понять не могу. Читал, читал, уже голова не соображает..
Сообщение отредактировал Грендайзер - Aug 15 2017, 11:56
|
|
|
|
|
Aug 22 2017, 01:55
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Dr.Alex @ Aug 22 2017, 03:54)  Имхо теряете время. Фурье слишком простая и "хорошо изученная" операция, чтобы непонятно во имя чего возиться с такой рутинно-геморной штукой как бит-аккуратная модель. Вообще-то, это есть стандартный способ верификации данного конкретного решения. Ради него как раз и стоит возиться. Не вдаваясь в суть задачи, просто реплика.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Aug 24 2017, 11:14
|
Местный
  
Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451

|
x736C, Спасибо, уже сам разобрался Цитата Имхо теряете время. Нууу... как сказать...
Сообщение отредактировал Грендайзер - Aug 24 2017, 11:15
|
|
|
|
|
Aug 27 2017, 19:42
|
Местный
  
Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451

|
Ещё раз здравствуйте. Снова упёрся. Понимаю, что где то рядом, но понять не могу. Вообщем в этой модели, значения входного вектора должны лежать в пределах -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, и тогда они, после перемножения на такие же малые числа, выскачат за предел разрядной сетки. Не могу понять, как в таком случае произвести верификацию кода для ПЛИС?
|
|
|
|
|
Aug 28 2017, 10:54
|
Местный
  
Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451

|
Цитата Для понимния поможет сделать в симулинке... Мда... наверное это самое правильное...
|
|
|
|
|
Sep 26 2017, 15:50
|
Группа: Участник
Сообщений: 5
Регистрация: 26-09-17
Пользователь №: 99 485

|
Симулинка думаете поможет?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|