matlab中产生FIR滤波器和测试数据并导入到FPGA中仿真。
1.生成测试数据。采样率fs=20MHZ,正弦信号f0=1MHZ,f1=4MHZ.matlab代码如下:
fs=20e6;
f0=1e6;
f1=4e6;
N=16;
t=1/fs:1/fs:1;
%s=simout(1:500:length(simout));
s0=sin(2*pi*f0*t);
s1=sin(2*pi*f1*t);
s=s1+s0;
s=s(1:10240); %%截取10240点方便导入FPGA
ss=s/max(abs(s));
fss=20*log10(abs(fft(ss)));
sss=fss-max(fss);
%x=0:length(sss)-1;
x=1:length(sss)-1;
sss=sss(1:(length(sss)-1));
x=x/length(x)*fs;
plot(x,sss);
Q_si=round(s*(2^(N-1)-1));
fid=fopen('F:\shuzixinhao\fir_test1\fir_xs.txt','w');
for i=1:(length(s))
B_si=dec2bin(Q_si(i)+(Q_si(i)<0)*2^N,N);
for j=1:N
if B_si(j)=='1'
tb=1;