幾種常用的FPGA係數表產生方法

2021-09-02 10:10:49 字數 1781 閱讀 4586

[size=medium][b]1 濾波器係數表[/b][/size]

%%****************************************

%%==fpga濾波器核係數轉換

%%==把matlab產生的濾波器係數檔案".mat"格式

%%==轉換為fpga濾波器核用的係數檔案

%%****************************************

clear all;close all;clc;

load('input_file_name.mat');

s = h;

s = round(s*(2^10)/max(abs(s))); %%量化(這裡為10bit)

for( k = 1:length(s) ) %%求補碼

if ( s(k)<0 )

s1(k) = 2^12 + s(k);

else

s1(k) = s(k);

endend

%%==按fpga格式儲存

fid_s = fopen('coefilterh.coe','wt');

fprintf = (fid_s,'%s\n','radix = 10;');

fprintf = (fid_s,'%s\n','coefdata =');

fprint = (fid_s,'%0.0f,\n',s(1 : end-1));

fprint = (fid_s,'%0.0f;\n',s(end));

fclose(fid_s);

disp('*****===轉換完成*****===');

return;

[size=medium][b]2 ram係數表[/b][/size]

%%****************************************

%%==fpga核初值轉換

%%==把matlab產生的ram初值表".mat"格式

%%==轉換為fpga的ram核用的初值檔案

%%****************************************

clear all;close all;clc;

load('input_file_name.mat')'

s=str;

s = round(s*(2^10)/max(abs(s))); %%量化(這裡為10bit)

for( k = 1:length(s) ) %%求補碼

if ( s(k)<0 )

s1(k) = 2^12 + s(k);

else

s1(k) = s(k);

endend

%%==按fpga格式儲存

fid_s = fopen('coedata.coe','wt');

fprintf = (fid_s,'%s\n','memory_initialization_radix = 10;');

fprintf = (fid_s,'%s\n','memory_initialization_vector =');

fprintf = (fid_s,'%0.0f,\n',s(1 : end-1));

fprintf = (fid_s,'%0.0f;\n',s(end));

fclose(fid_s);

disp('*****===轉換完成*****===');

return;

TextBox中只能輸入數字的幾種常用方法 C

private void tbox keypress object sender,keypresseventargs e catch private void textbox keypress object sender,keypresseventargs e 或者private void text...

ios 中陣列,字典 集合型別的幾種常用列舉方法

nsmutablearray array nsmutablearray alloc initwithobjects ab aa aac nil 排序 array sortusingcomparator nscomparisonresult strong id obj1,strong id obj2 ...

Windows 安裝計算機系統的幾種常用方法

原文 1安裝計算機系統的幾種常用方法 第一種方法 製作u盤啟動盤安裝系統。這種方法適合絕大多數的計算機,但也有少數計算機的主機板沒有usb啟動設定,這型別的計算機不能用u盤安裝系統的方法來安裝系統。用u盤安裝計算機系統的要點 3 用u盤安裝系統時,向計算機usb介面插入u盤啟動盤,開機,按del鍵或...