⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iqmf.m

📁 英文书《Digital Signal Processing with Examples in MATLAB》附带的MATLAB实例
💻 M
字号:
function x=iqmf(y,N,window)
% x=iqmf(y,N,window)
%
% Single-stage inverse transform - reverses qmf transform.
% 
% Inputs:
%   y(:,2) =low/high frequency vector - output of qmf.
%   N      =number of weights used in execution of qmf.
%   window =window used in qmf.
%
% Output:
%   x = recovered signal (input to qmf) in a column vector.
%       The length of x is twice that of each column of y.
%       (x is left-shifted to remove the qmf delay.
%        The final N-1 samples of x are zeros.)
%
% See also: qmf, wavelet1, wavelet2, iwavelet1, iwavelet2

N=2*floor(N/2)+1;                       % N must be odd
[K,nc]=size(y);
if(nc~=2)
	error('Input to iqmf must have 2 columns.');
end
x=zeros(2*K,1);
b=[1 1]'*fir_weights(N,1,window,.25);   % Lowpass weights
b(2,:)=-b(1,:).*(-1).^[1:N];
for i=1:2,
	u=zeros(2*K,1);
	u(1:2:2*K-1)=y(:,i);
	x=x+filter(b(i,:),.5,u);            % recovered vector, x(1:2*K)
end
shft=N-1;                               % x will be shifted left N-1 samples
x=[x(1+shft:2*K); zeros(shft,1)];       % Append zeros so length(x) =2*K

⌨️ 快捷键说明

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