📄 half_band_filter.m
字号:
%半带滤波器的设计
%半带滤波器的系数满足如下条件
%h(n)=0, when n=+2/-2,+4/-4,...,+2k/-2k, and k!=0;
%设计内插因子为2的半带滤波器
%截取符号数为10
clear;
clc;
M=8;
w=blackman(17); %Blackman窗的数据
for n=0:2*M
i=n+1;
H(i)=sinc((n-M)/2)*w(i); %sinc=sin(pi*x)/(pi*x);
if abs(H(i))<1e-10
H(i)=0;
end;
end;
% 量化比特数为8,最高位为符号位;
L=8;
Hb_8bit=round(H*2^(L-1));
save hb_8bit.mat Hb_8bit;
%给出频率响应
Hb_8bit=Hb_8bit/sum(Hb_8bit);
freqz(Hb_8bit,1,'whole');
% 量化比特数为10,最高位为符号位;
L=10;
Hb_10bit=round(H*2^(L-1));
save hb_10bit.mat Hb_10bit;
%给出频率响应
Hb_10bit=Hb_10bit/sum(Hb_10bit);
freqz(Hb_10bit,1,'whole');
% 量化比特数为12,最高位为符号位;
L=12;
Hb_12bit=round(H*2^(L-1));
save hb_12bit.mat Hb_12bit;
%给出频率响应
Hb_12bit=Hb_12bit/sum(Hb_12bit);
%freqz(Hb_12bit,1,'whole');
% 0 1 0 -19 0 89 0 -300 0 1252 2048 1252 0 -300 0 89 0 -19 0 1 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -