📄 l3n_parameters.m
字号:
function [Hd_hat, Sd_hat, Cd_hat]= L3n_parameters(N, M1, M2, ws, wp, Vr_hat, x1, y1, x2, y2, xs_hat, phin, D)
% compute the parameters for the quadratic constraint for L3n.m
% Copyright (c) 2006 Yi Chen
Hd = zeros(size(Vr_hat'*Vr_hat));
Sd = zeros(length(Vr_hat(1,:)),1);
Cd = 0;
weight = weight_sep(N, M1, M2, ws, wp);
H_ideal = D*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-1)*w0n+(Nx-Ny-x1/2)*w1n), [x1*y1,1]); zeros(x2*y2, 1)];
[Ny, Nx] = meshgrid(1:y2, 1:x2);
V2w = [zeros(x1*y1, 1); reshape(2*cos((Nx+Ny-x2/2-1)*w0n+(Nx-Ny-x2/2)*w1n), [x2*y2,1])];
H_phi = Vr_hat'*V1w*V2w'*Vr_hat;
S_phi = Vr_hat'*V2w + Vr_hat'*(V1w*V2w'+V2w*V1w')*xs_hat;
C_phi = V2w'*xs_hat + xs_hat'*V1w*V2w'*xs_hat + 1;
C_phi1 = phin'*H_phi*phin + phin'*S_phi + C_phi - H_ideal(round((w0n+pi)/(2*pi/N))+1,round((w1n+pi)/(2*pi/N))+1);
const = (2*pi/N)^2*weight(round((w0n+pi)/(2*pi/N))+1,round((w1n+pi)/(2*pi/N))+1);
Hd = Hd + ((H_phi+H_phi')*phin + S_phi)*((H_phi+H_phi')*phin + S_phi)'*const;
Sd = Sd + 2*((H_phi+H_phi')*phin + S_phi)*C_phi1*const;
Cd = Cd + C_phi1^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 + -