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

📄 l4n_parameters.m

📁 MATLAB Code for Optimal Quincunx Filter Bank Design Yi Chen July 17, 2006 This file introduces t
💻 M
字号:
function [Hd_hat, Sd_hat, Cd_hat]= L4n_parameters(N, M1, M2, ws, wp, Vr_hat, x1, y1, x2, y2, x3, y3, xs_hat, phin, D)
% compute the parameters for the quadratic constraint for L4n
% Copyright (c) 2006 Yi Chen

syms w0 w1

Hd = zeros(size(Vr_hat'*Vr_hat));   
Sd = zeros(length(Vr_hat(1,:)),1);
Cd = 0;

weight = weight_sep(N, M1, M2, wp, ws);
H_ideal = D*(1-diamond(N+1,N+1));

for w0n = -pi:2*pi/N:pi-2*pi/N
    for w1n = -pi:2*pi/N:pi-2*pi/N
        
        [Ny, Nx] = meshgrid(1:y1, 1:x1);
        V1w = [reshape(2*cos((Nx-Ny-x1/2)*w0n+(Nx+Ny-x1/2-1)*w1n), [x1*y1,1]); zeros(x2*y2+x3*y3, 1)];
        
        [Ny, Nx] = meshgrid(1:y2, 1:x2);
        V2w = [zeros(x1*y1, 1); reshape(2*cos((Nx-Ny-x2/2)*w0n+(Nx+Ny-x2/2-1)*w1n), [x2*y2,1]); zeros(x3*y3, 1)];
        
        [Ny, Nx] = meshgrid(1:y3, 1:x3);
        V3w = [zeros(x1*y1+x2*y2, 1); reshape(2*cos((Nx-Ny-x3/2)*w0n+(Nx+Ny-x3/2-1)*w1n), [x3*y3,1])];
        
        av = Vr_hat'*V1w;
        bs = 1 + xs_hat'*V1w;
        cs = 1 + xs_hat'*V2w*V3w'*xs_hat;
        dv = Vr_hat'*(V2w*V3w'+V3w*V2w')*xs_hat;
        em = Vr_hat'*V2w*V3w'*Vr_hat;
        fv = Vr_hat'*V3w;
        gs = xs_hat'*V3w;
        
        A_delta = (av*phin'*em*phin + phin'*av*em*phin + phin'*av*em'*phin) + (av*dv' + bs*em + dv*av' + bs*em')*phin + (fv+av*cs+bs*dv);
        b_delta = phin'*av*phin'*em*phin + phin'*(av*dv' + bs*em)*phin + phin'*(fv + av*cs + bs*dv) + gs + bs*cs;
        
        b_temp(round((w0n+pi)/(2*pi/N))+1,round((w1n+pi)/(2*pi/N))+1) = b_delta;
        
        const = (2*pi/N)^2*weight(round((w0n+pi)/(2*pi/N))+1,round((w1n+pi)/(2*pi/N))+1);
        
        Hd = Hd + A_delta*A_delta'*const;
    
        Sd = Sd + (A_delta+A_delta)*(b_delta - H_ideal(round((w0n+pi)/(2*pi/N))+1,round((w1n+pi)/(2*pi/N))+1))*const;
    
        Cd = Cd + (b_delta - H_ideal(round((w0n+pi)/(2*pi/N))+1,round((w1n+pi)/(2*pi/N))+1))^2*const;
    end
end

[Uhd,Shd,Vhd] = svd(Hd);

Hd_hat = sqrt(Shd)*Uhd';
Sd_hat = 0.5*pinv(Hd_hat')*Sd;
Cd_hat = Cd - Sd_hat'*Sd_hat;

⌨️ 快捷键说明

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