📄 fft16_d.m
字号:
clear;
clc;
close all;
%DFT滤波器组
%参数:旁瓣——-13dB 主瓣3dB点——0.1*pi 滤波器点数:16
fiter16_f=dftmtx(16);
fiter_r=abs(real(fiter16_f));
fiter_i=abs(imag(fiter16_f));
fiter_m=max(max(max(fiter_r)),max(max(fiter_i)));
fiter16_f=round(fiter16_f/fiter_m*(2^15-1));
fvtool(fiter16_f(:,1),1,fiter16_f(:,2),1,fiter16_f(:,3),1,fiter16_f(:,4),1,fiter16_f(:,5),1,fiter16_f(:,6),1,fiter16_f(:,7),1,fiter16_f(:,8),1,...
fiter16_f(:,9),1,fiter16_f(:,10),1,fiter16_f(:,11),1,fiter16_f(:,12),1,fiter16_f(:,13),1,fiter16_f(:,14),1,fiter16_f(:,15),1,fiter16_f(:,16),1);
N_point=256;
inval=2*pi/N_point;
f_point= linspace(0,2*pi-inval,256);
nomiga=(0:15)'*ones(1,256)*diag(f_point);
f_points=exp(j*nomiga);
f_r=abs(real(f_points));
f_i=abs(imag(f_points));
f_m=max(max(max(f_r)),max(max(f_i)));
f_points=round(f_points/f_m*(2^15-1));
f_points=conj(f_points');
% f_r=abs(real(f_points));
% f_i=abs(imag(f_points));
outiq=f_points*fiter16_f;
y=abs(outiq);
y_max=round(max(max(y)));
y_bin=dec2base(y_max,2)
y_bin_size=size(y_bin)
y=y/y_max;
y=20*log10(y+eps);
plot(f_point/pi,y, 'DisplayName', 'y');
axis([0,2,-35,2])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -