📄 comp_dwilt.m
字号:
function [coef]=comp_dwilt(coef2,a)%COMP_DWILT Compute Discrete Wilson transform.% M=size(coef2,1)/2;N=size(coef2,2);W=size(coef2,3);L=N*a;coef=zeros(2*M,N/2,W);% Unmodulated case.coef(1,:,:)=coef2(1,1:2:N,:);% odd value of mcoef(2:2:M,:,:)=1/sqrt(2)*i*(coef2(2:2:M,1:2:N,:)-coef2(2*M:-2:M+2,1:2:N,:));coef(M+2:2:2*M,:,:)=1/sqrt(2)*(coef2(2:2:M,2:2:N,:)+coef2(2*M:-2:M+2,2:2:N,:));% even value of mcoef(3:2:M,:,:)=1/sqrt(2)*(coef2(3:2:M,1:2:N,:)+coef2(2*M-1:-2:M+2,1:2:N,:));coef(M+3:2:2*M,:,:)=1/sqrt(2)*i*(coef2(3:2:M,2:2:N,:)-coef2(2*M-1:-2:M+2,2:2:N,:));% Nyquest caseif mod(M,2)==0 coef(M+1,:,:) = coef2(M+1,1:2:N,:);else coef(M+1,:,:) = coef2(M+1,2:2:N,:);end;coef=reshape(coef,M*N,W);if 0 % This code will work only if the input is known to come from a real valued % signal. % XXX This never happens, because the input coefficients are always % complex, and it is a difficult task to derive whether they are WPE in % frequency % If the input coefficients are real, the calculations can be % be simplified. The complex case code also works for the real case. % cosine, first column. coef(3:2:M,:,:)=sqrt(2)*real(coef2(3:2:M,1:2:N,:)); % sine, second column coef(M+3:2:2*M,:,:)=-sqrt(2)*imag(coef2(3:2:M,2:2:N,:)); % sine, first column. coef(2:2:M,:,:)=-sqrt(2)*imag(coef2(2:2:M,1:2:N,:)); % cosine, second column coef(M+2:2:2*M,:,:)=sqrt(2)*real(coef2(2:2:M,2:2:N,:));end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -