📄 qut_filt_plot.m
字号:
%------------------算法的 Quartus 仿真结果------------------%
% f1=150; %
% f2=330; %
% fs=1000; %
% fir_coef=0.5; %
% i=3.1415926; %
% dets=1/fs; %
% fp=fir_coef*fs/2; %
%-------------------------------------------------------------------%
%-----------------读入的数据总数是158个--------------------%
%-------------------------------------------------------------------%
disp('%--------滤波算法的 Quartus 仿真结果--------%');
indata_plot;
fs=1000;
dets=1/fs;
fid=fopen('..\matlab\filter.tbl','r');
k=0;
%for i=1:530 %-- i 的取值与要读入的数据总数有关。每多一个点,则循环次数加2。
A1='1';
A1_next='0';
while A1_next~='X'
A1_next=fscanf(fid,'%s',1);
if (A1_next=='0')
A1='0';
A1_next=fscanf(fid,'%s',1);
end;
if(A1=='0')
A1_next=fscanf(fid,'%s',1);
A1_next=fscanf(fid,'%s',1);
A1_next=fscanf(fid,'%s',1);
if(A1_next=='1')
A1='1';
A1_next=fscanf(fid,'%s',1); %取出‘=’
A1_next=fscanf(fid,'%s',1);
data=A1_next;
k=k+1;
wauk_bin=dec2bin(hex2dec(data),18);
%wauk_hao(k)=0;
if (wauk_bin(1)==dec2bin(1))
for j=1:18
if wauk_bin(j)==dec2bin(1)
wauk_bin(j)=dec2bin(0);
else
wauk_bin(j)=dec2bin(1);
end;
end;
wauk_hao(k)=-(bin2dec(wauk_bin)+1);
else
wauk_hao(k)=hex2dec(data);
end;
end;
end;
end;
fclose(fid);
subplot(2,2,3);
plot([0:k-1]*dets,wauk_hao*2/32767,'-m');
axis([0.006,0.1,-2,2]);
title ('Quartus的输出数据时域','fontsize',8);
xlabel ('时间t(秒)','fontsize',8);
ylabel ('幅度y','fontsize',8);
subplot(2,2,4);
stem(abs(fft(wauk_hao*2/32767)),'*m');
axis([0,80,0,80]);
title ('Quartus的输出数据频域','fontsize',8);
xlabel ('频率(赫兹)','fontsize',8');
ylabel ('幅度Y','fontsize',8);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -