有很多客戶在比較FFT C-Model仿真和 FFTIP前仿遇到問題。今天賽靈思技術專家對此提出三種原因和解決辦法。
總結下來, 原因大概有三種:
C-Model 的輸入數據和 IP 仿真的輸入不完全一致
C-Model 的參數設置和 IP 的參數設置不完全一致
出現 overflow
C-Model的輸入數據和IP仿真的輸入不完全一致
這里面需要注意的是, FFT C-Model fixedpoint interface 需要的輸入數據范圍在(-1,1)之間, 而且是 signed two's-complement (二進制補碼有符號數), 數據位寬是 C_INPUT_WIDTH. 小數點在 C_INPUT_WIDTH – 1, 否則會報警. 但 Matlab 的數據是 complex double-precisionfloating-point data, 所以需要用到 Matlab 的 quantize 來把數據量化.
顯然 FFT IP 前仿是不需要量化的,因為對于 FPGA 沒有小數點位.
為了保證這這個仿真的輸入數據一致, 建議把量化后的數據也作為 FFT IP 前仿的輸入數據, 因為量化之后是小數, 可以乘以 2^(C_INPUT_WIDTH – 1) ,轉為整數, 注意這還是二進制補碼數.
C-Model的參數設置和IP的參數設置不完全一致
scaling_sch在C-Model和IP core的順序是反的, 例如scaling_sch[0]是第一個數據, scaling_sch[1] 是第二個,但在 FFT IP 上需要把它們的順序到過來, 也就是 scaling_sch[0] 是最后一個數據, scaling_sch[1] 是倒數第二個。
Overflow
如果設置的是 Pipelined, Streaming I/O architecture,出現 overflow,那么 C-Model 和 IP core 前仿的結果是不一致, 也就是 C-Model 的 xk_re 和 xk_im 與 FFT IP 前仿的 xk_re 和xk_im 不一致, 出現 overflow , 看 xk_re 和 xk_im 的結果是沒有意義的, 需要調整 scaling 保證沒有 overflow.
責任編輯:lq
-
FPGA
+關注
關注
1643文章
21954瀏覽量
613979 -
數據
+關注
關注
8文章
7239瀏覽量
90987 -
二進制
+關注
關注
2文章
803瀏覽量
42140
原文標題:開發者分享 | 調試 FFT C-Model 仿真和 FFTIP 前仿
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
變頻器調參數必須要和電機一樣嗎

ADA4932-2差分輸出共模電壓不一致的原因?怎么解決?
射頻類的ADC和非射頻類ADC在電路設計,以及程序控制上是否完全一致?
PCM4220的輸入范圍問題,滿幅輸入量程到底應該是多少?
ADS1293 DRDYB與讀數據的關系為什么與手冊描述的不一致?為什么?
在LTspice中采用運放構建開環仿真,同時構建參數一致的閉環電路進行仿真,發現二者的閉環增益曲線不一致,為什么?
批量音頻檔案拷貝最佳方案:解決播放錯誤與拷貝不完全問題

評論