【MATLAB】产生FPGA中ROM需要的余弦表

产生的二进制数为带符号二进制数,最高位是符号位。

function [ DATA ] = cos_gen( Num_addr,Num_out )
% 用来产生ROM需要的余弦表,输出为有符号二进制数
% Num_addr:总的地址的数目,如:4096
% Num_out:输出的数据的总位数,包括符号位,如:12

Y=round((2^(Num_out-1)-1).*cos(0:pi*2/(Num_addr):2*pi));
for i = 1:1:Num_addr   
    if(Y(i) < 0)
        Y(i) = 2^(Num_out)+Y(i)+1;
    else
        Y(i) = Y(i);
    end
end
Y=Y(1:Num_addr);
DATA = dec2bin(Y,(Num_out-1));

end

  

posted @ 2017-10-24 16:04  BeWild  阅读(594)  评论(0编辑  收藏  举报