1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56Vmpxv
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
在滤波器的某些附加条件下,与分析滤波器组和合成滤波器组相关联的变换是正交的。正态性意味着样品的能量在转换过程中保持不变。如果满足这些条件,滤波器具有以下显著特性:合成滤波器是分析滤波器的时间反转版本,高通滤波器是低通滤波器的调制版本,即,其中K是整数延迟。这种滤波器通常被称为正交镜滤波器(QMF)、共轭正交滤波器(CQF)或功率互补滤波器,因为两个低通(分别为高通)滤波器具有相同的频率响应,并且低通和高通滤波器的频率响应通过功率互补特性,适用于所有频率。滤波器h0(n)被视为原型滤波器,因为它自动确定其他三个滤波器。
4.部分源码
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
% 由单带滤波器得到半带滤波器
for j=1:N+1
tmp(2*j-1)=0.5*hsb(j);
tmp(2*j)=0;
end
hlf=tmp(1:(2*N+1));
hlf(N+1)=hlf(N+1)+0.5;
wf=0:pi/N0:pi*(N0-1)/N0;
wff=0:0.5/N0:(N0-1)/N0/2;
a=1;
Gw= freqz(hlf,a,wf);
Ew=exp(i*2*N*wf/2);
Gr=Ew.*Gw;
% Gr 现在是零相位半带滤波器的频率特性,,其虚部应为零,实际上是滤波器的“增益”
mmax=max(real(Gr))
mmin=min(real(Gr))
subplot(222)
plot(wff,real(Gr));grid;
%title('half band filter HLF(z)')
% 获得“增益”恒正的半带滤波器, P+
hlf(N+1)=hlf(N+1)+abs(mmin);
p=hlf*0.5/(0.5+abs(mmin));
subplot(223)
stem(p,'.');grid;
%title('halfband filter p(n)');
Gw= freqz(p,a,wf);
Gr=Ew.*Gw;
subplot(224)
plot(wff,real(Gr));grid;
%title('halfband filter P(z)');
%save p.mat p;
%---------------------------------------------------------------------
% 谱分解部分,求出 h0(n);
l=2*N+1;
A=zeros(l,1);
A(1)=1;
A=A';
[Z,P,K]=tf2zp(p,A);
Z1=sort(Z)
ll=length(Z1)/2;
ZZ=Z1(1:ll);
temp=1;
for m=1:ll
temp=(-ZZ(m))*temp;
end
if imag(temp)<0.0001
temp=real(temp);
end
KK=sqrt(K/temp);
l2=length(ZZ);
PP=zeros(l2,1);
[h0,P1]=zp2tf(ZZ,PP,KK);
subplot(122)
zplane(h0,P1);
title('the zeros and poles after resolve')
%-----------------------------------------------------------------------------
% 利用CQMFB四个滤波器之间的关系,得到 h1, g0, g1;
h1=qmf(h0,1);
g0=-wrev(h0);
g1=qmf(g0);
% 求出并画出分析滤波器组的对数幅频特性;
[H0,w]= freqz(h0,a,N0,Fs);
[H1,w]= freqz(h1,a,N0,Fs);
absH0=abs(H0);
absH1=abs(H1);
ah0=20*log10(absH0);
ah1=20*log10(absH1);
aA229