dwindowt.m

来自「matlab时频工具箱」· M 代码 · 共 82 行

M
82
字号
%function dwindowt%DWINDOWT Unit test for the function DWINDOW.%	O. Lemoine - March 1996.N=5000; % Rectangular windowh=window(N,'rect');Dh1=[1;zeros(N-2,1);-1];Dh2=dwindow(h);if any(abs(Dh1-Dh2)>sqrt(eps)), error('dwindow test 1 failed');end;% Hanning windowh=window(N,'hanning');Dh1=pi*sin(2*pi*(1:N)'/(N+1))/(N+1);Dh2=dwindow(h);if any(abs(Dh1(2:N-1)-Dh2(2:N-1))>sqrt(eps)), error('dwindow test 2 failed');end;% Bartlett windowh=window(N,'bartlett');Dh1=[2*ones(N/2-1,1);1;-1;-2*ones(N/2-1,1)]/N;Dh2=dwindow(h);if any(abs(Dh1(2:N-1)-Dh2(2:N-1))>sqrt(eps)*10), error('dwindow test 3 failed');end;% Papoulis windowh=window(N,'papoulis');Dh1=pi*cos(pi*(1:N)'/(N+1))/(N+1);Dh2=dwindow(h);if any(abs(Dh1(2:N-1)-Dh2(2:N-1))>sqrt(eps)*10), error('dwindow test 4 failed');end;% Gaussian windowK=0.02; h=window(N,'gauss',K);t=linspace(-1,1,N)';Dh1=4*log(K)*t.*exp(log(K)*t.^2)/N;Dh2=dwindow(h);if any(abs(Dh1(2:N-1)-Dh2(2:N-1))>sqrt(eps)*10), error('dwindow test 5 failed');end;N=4977; % Rectangular windowh=window(N,'rect');Dh1=[1;zeros(N-2,1);-1];Dh2=dwindow(h);if any(abs(Dh1-Dh2)>sqrt(eps)), error('dwindow test 6 failed');end;% Hanning windowh=window(N,'hanning');Dh1=pi*sin(2*pi*(1:N)'/(N+1))/(N+1);Dh2=dwindow(h);if any(abs(Dh1(2:N-1)-Dh2(2:N-1))>sqrt(eps)), error('dwindow test 7 failed');end;% Papoulis windowh=window(N,'papoulis');Dh1=pi*cos(pi*(1:N)'/(N+1))/(N+1);Dh2=dwindow(h);if any(abs(Dh1(2:N-1)-Dh2(2:N-1))>sqrt(eps)*10), error('dwindow test 8 failed');end;% Gaussian windowK=0.02; h=window(N,'gauss',K);t=linspace(-1,1,N)';Dh1=4*log(K)*t.*exp(log(K)*t.^2)/N;Dh2=dwindow(h);if any(abs(Dh1(2:N-1)-Dh2(2:N-1))>sqrt(eps)*10), error('dwindow test 9 failed');end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?