chebyshev Beam size control

조회 수: 5 (최근 30일)
종영
종영 2024년 4월 4일
답변: Avadhoot 2024년 4월 17일
function Chebyshev_real = Chebyshev_real(N,ste)
R_dB=30;
R=10^(R_dB/20);
N=10;
m=N-1;
x0=cosh((1/m)*acosh(R));
u=sind(-89:0.05:89);
% u=-1:2/1800:1;
psi=pi*u;
x=x0*cos((psi-ste*pi/180*pi)/2);
% x=x0*cos(psi/2);
T_real(1,:)=ones(1,length(x));
T_real(2,:)=x;
if m>1
for i=3:m+1
T_real(i,:)=2*x.*T_real(i-1,:)-T_real(i-2,:);
end
else
end
B=(1/R)*T_real(m+1,:); % 1/R 은 normalize
plot(asind(u),10*log10((abs(B)).^2),'LineWidth',1.5)
[mx_a,id_a] = max(20*log10(abs(B)));
beam_rec_pos_deg = asind(u(id_a)); % beamformed position in deg
% P = mx_a;
xlim([-90 90])
ylim([-50 0])
% xlabel("\theta")
% ylabel("Normalized Pattern [dB]")
% title("Dolph-Chebyshev Beam Pattern")
% grid on
Chebyshev_real = B;
% save("Chev_30dB_m5deg_89","Chev_30dB_m5degree")
in this case I would like to weight 10 elements for this situation.
The weight is 10*1, but the Chevyshev beam is 1*3561.
Can't you just form the same shape with 10*3561 to multiply the weights?

답변 (1개)

Avadhoot
Avadhoot 2024년 4월 17일
From your question I understand that you have calculated the Chebyshev beam output but you want it in a specific form so that you can multiply it with your weights. The current dimension of the output is 1x3561 but you have a 10x1 array to multiply it with so you need to extend the Chebyshev beam to match the dimensions. In this case you can just extend your matrix so that it will be of the required dimension i.e 10x3561. Refer to the below line of code to understand how to do it.
expanded_Chebyshev = repmat(Chebyshev_real, 10, 1);
This line of code uses "repmat" to replicate the "Chebyshev_real" array 10 times along the vertical axis, resulting in a 10x3561 matrix. Each row of "expanded_Chebyshev" will be identical and contain the original Chebyshev weights calculated for your beam pattern.
For more information on the "repmat" function, refer to the below documentation:
I hope this helps.

카테고리

Help CenterFile Exchange에서 Downloads에 대해 자세히 알아보기

제품


릴리스

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by