📄 fft16_wd.m
字号:
clear;
clc;
close all;
%DFT滤波器组
%参数:旁瓣——13dB 主瓣3dB点——0.086*pi 滤波器点数:16
%窗函数:类型——chebwin 旁瓣——52dB 主瓣3dB点——0.06*pi 窗长:16 使用wintool导出窗函数
cheb_win=[0.042801160512687;0.112201686044951;0.229854742182045;0.390725905576248;...
0.578513046974515;0.764844954740932;0.91556878709034;1;1;0.91556878709034;0.764844954740932;...
0.578513046974515;0.390725905576248;0.229854742182045;0.112201686044951;0.042801160512687;]
%窗函数:类型——hammingwin 旁瓣——40dB 主瓣3dB点——0.08*pi 窗长:16
hamming_win=[0.08;0.119769089484404;0.232199921074925;0.397852182587524;0.588083093103121;0.77;0.912147817412476;...
0.989947896337551;0.989947896337551;0.912147817412476;0.77;0.588083093103121;0.397852182587524;0.232199921074925;0.119769089484404;0.08;]
fiter16_f=hamming_win*ones(1,16).*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,-100,2])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -