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

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

評論