📄 comp_dwilt.m
字号:
function [coef]=comp_dwilt(coef2,a)%COMP_DWILT Compute Discrete Wilson transform.% % This program is free software: you can redistribute it and/or modify% it under the terms of the GNU General Public License as published by% the Free Software Foundation, either version 3 of the License, or% (at your option) any later version.% % This program is distributed in the hope that it will be useful,% but WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the% GNU General Public License for more details.% % You should have received a copy of the GNU General Public License% along with this program. If not, see <http://www.gnu.org/licenses/>.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 + -