有很多客戶在比較FFT C-Model仿真和 FFTIP前仿遇到問(wèn)題。今天賽靈思技術(shù)專家對(duì)此提出三種原因和解決辦法。
總結(jié)下來(lái), 原因大概有三種:
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ǔ)碼有符號(hào)數(shù)), 數(shù)據(jù)位寬是 C_INPUT_WIDTH. 小數(shù)點(diǎn)在 C_INPUT_WIDTH – 1, 否則會(huì)報(bào)警. 但 Matlab 的數(shù)據(jù)是 complex double-precisionfloating-point data, 所以需要用到 Matlab 的 quantize 來(lái)把數(shù)據(jù)量化.
顯然 FFT IP 前仿是不需要量化的,因?yàn)閷?duì)于 FPGA 沒(méi)有小數(shù)點(diǎn)位.
為了保證這這個(gè)仿真的輸入數(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]是第一個(gè)數(shù)據(jù), scaling_sch[1] 是第二個(gè),但在 FFT IP 上需要把它們的順序到過(guò)來(lái), 也就是 scaling_sch[0] 是最后一個(gè)數(shù)據(jù), scaling_sch[1] 是倒數(shù)第二個(gè)。
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é)果是沒(méi)有意義的, 需要調(diào)整 scaling 保證沒(méi)有 overflow.
責(zé)任編輯:lq
-
FPGA
+關(guān)注
關(guān)注
1645文章
22036瀏覽量
618124 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7255瀏覽量
91809 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
807瀏覽量
42314
原文標(biāo)題:開(kāi)發(fā)者分享 | 調(diào)試 FFT C-Model 仿真和 FFTIP 前仿
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
變頻器調(diào)參數(shù)必須要和電機(jī)一樣嗎

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

評(píng)論