资源简介
该程序为小数时延滤波器matlab程序,实现小数倍采样周期时延,可以应用在许多场合,如语音处理、测距定位等。
![](http://www.nz998.com/pic/45067.jpg)
代码片段和文件信息
function ap = apeqp2(Napxwp)
% APEQP2.M
% MATLAB m-file for ALLPASS fractional delay design
% using EQUIRIPPLE PHASE approximation
% format: ap = apeqp2(Napxwp)
% Input: Nap = filter order N
% x = fractional delay (0 < x <= 1)
% wp = passband edge of approximation (0 < wp < 1)
% Output: Filter coefficient vector ap = ap(1)...ap(N+1)
% (Note that ap(1)=1 always)
% Subroutines: standard MATLAB & SP Toolbox functions &
% numint2.m eigsolv2.m envelop2.m
% Timo Laakso 27.02.1993
% Revised 15.01.1996 by Timo Laakso
% 17.01.1996 by Vesa Valimaki
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Initialization:
%
dw = wp/200; % 201-point approximation grid
%dw = wp/511; % 512-point approximation grid (VPV 9.12.1996)
wf = [0:dw:wp]; % vector of freq. pts
%
thP = -(Nap+x)*wf; % prescribed phase
%
% beta and initializations
%
beta = -0.5*x*wf; beta2=2*beta;
sinB = sin(beta); cosB = cos(beta);
wc = wf-wf; WW = wc; W0 = wc+1-wc; % weight vectors
ap = zeros(1Nap+1); ap(1)=1; % allpass coefficient vector
P4 = zeros(Nap+1); % eigenfilter matrix
Nap1=Nap-1;
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Compute P4:
%
EP = 2; % initial exponent parameter
% initial value ap from P1!
lser=1000; it=0;
%while ((lser>1.0E-8)&(it<51));
while ((lser>1.0E-12)&(it<171)); % VPV 9.12.1996
if (EP<51)
if (lser<1.0E-4)
if (EP<4) EP = EP+1;
elseif (EP<10) EP = EP+2;
else EP = EP+5;
end; % 3rd if
lser = 1000;
end % 2nd if
end % 1st if
it = it+1; % iteration number
Hap = freqz(ap1wf); % weight function from the previous solution
wc = cosB.*real(Hap) - sinB.*imag(Hap);
thAP4 = -Nap*wf+2*unwrap(angle(freqz(1apwf)));
deltaT4 = thP-thAP4;
wenv = envelop2(deltaT4); % create the envelope for equiripple weighting
W = (wenv.^EP)./(wc.^2);
for k=1:Nap+1
k1wf = (k-1)*wf;
cT(k) = numint2(W.*cos(k1wf));
cH(k) = numint2(W.*cos(beta2-k1wf));
rH(k) = numint2(W.*cos(beta2-(k+Nap1)*wf));
end % for k
T1 = toeplitz(cT); H1 = hankel(cHrH);
P4 = T1-H1; apold = ap;
ap= eigsolv2(P4Nap+1); % solve the eigenvalue problem
ap = (ap+(EP-1)*apold)/EP;
dif=apold-ap; lser=dif*dif‘;
end % while lserit
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2496 1996-12-09 10:21 apeqp2.m
文件 2563 1996-12-12 16:11 apeqpd2.m
文件 2525 1996-02-01 12:58 apfar2.m
文件 692 1996-02-01 12:58 apflat2.m
文件 1483 1996-02-01 12:58 aplsp2.m
文件 1540 1996-02-01 12:58 aplspd2.m
文件 1855 1996-02-01 12:58 aplspdi2.m
文件 1742 1996-02-01 12:58 aplspi2.m
文件 323 1996-02-01 12:58 bincof2.m
文件 288 1996-02-01 12:58 eigsolv2.m
文件 767 1996-02-01 12:58 envelop2.m
文件 7693 1996-02-01 12:58 fdap2.m
文件 12337 1996-02-01 12:58 fdfir2.m
文件 2458 1996-02-01 12:58 firfar2.m
文件 679 1996-02-01 12:58 hcontro2.m
文件 758 1996-02-01 12:58 heqrip2.m
文件 1045 1996-02-01 12:58 hgls2.m
文件 869 1996-02-01 12:58 hlagr2.m
文件 957 1996-02-01 12:58 hsincw2.m
文件 971 1996-02-01 12:58 hsplin2.m
文件 1747 1996-02-01 12:58 iniheq2.m
文件 957 1996-02-01 12:58 inihip2.m
文件 1152 1996-02-01 12:58 inihsin2.m
文件 440 1996-02-01 12:58 numint2.m
- 上一篇:平坦衰落信道的仿真
- 下一篇:模糊滑膜控制matlab
相关资源
- 引导图像滤波器 Matlab实现
- 基于matlab的窗函数法FIR数字滤波器设
- 有源电力滤波器的Matlab仿真_高勇
- 基于FPGA分布式算法FIR滤波器verilog代码
- IIR数字滤波器设计实验报告
- 高压直流输电系统的滤波器设计及仿
- 高压直流输电系统的滤波器设计及S
- 数字滤波器的MATLAB与FPGA实现——杜勇
- 基于 MATLAB 的滤波器设计 (fdatool使用
- 基于FPGA的自适应滤波器的实现
-
Simuli
nk的低通数字滤波器的仿真分析 -
基于Simuli
nk的匹配滤波器设计 - 网络化控制系统的H∞滤波器设计本科
- 基于Matlab和FPGA的FIR数字滤波器设计及
- MATLAB在卡尔曼滤波器中应用的理论与
- matlab带通滤波器
- FIR滤波器的VHDL实现
- 最佳接收机的实现与仿真,matlab仿真
- 高斯混合概率假设密度滤波器
- 高斯混合PHD滤波器扩展目标跟踪
- MATLAB设计FPGA实现联合ISE和Modelsim仿真
- 有源电力滤波器
- 自适应滤波器设计及Matlab实现
- 信号处理滤波器设计——基于MATLAB和
- 基于FPGA与MATLAB的fir滤波器实现Verilo
- ARM官方DSP库FIR滤波器的实现
- 基于MATLAB的数字滤波器设计
- Kalman滤波器理论与应用——基于MATL
- FIR滤波器的设计及DSP实现
- 优秀数字信号处理课程设计 matlab滤波
评论
共有 条评论