- Mismatch Between LSM and IFT Approaches: The LSM directly computes weights that best match the desired beam pattern given the array geometry and element positions. The IFT approach assumes a direct Fourier relationship, which is more nuanced in practical antenna array design.
- The warning "Using only the real component of complex data" from 'stem(ifft(B2))' suggests that the IFT produces complex values, of which only the real parts are plotted. This discrepancy indicates that the transformation and its inverse might not be directly applicable without considering phase information and complex amplitude.
- The resampling of 'B1' to 'B2' changes the data's structure. Be cautious about how this affects the IFT's ability to recover original weights. The number of samples and their distribution (linear vs angular space) significantly impact the Fourier and Inverse Fourier Transform.
Comparing Weight Values with LSM and ifft
2 views (last 30 days)
Show older comments
clc; clear all; close all
%% array parameters
c = 3e8;
f = 3e8; % nominal frequency for array antenna interval setting
lambda = c/f;
d = lambda/2; % array spacing
Na = 10; % number of array elements
Ns = 2^10;
theta = -90:0.05:90; % turn table scan angle
theta_w = linspace(-pi,pi,Ns);
beta = 2*pi/lambda;
ste = 0;
u_delta = 2*pi/Na;
z = exp(1j*pi*(0:Na-1)'*sind(theta_w));
%% Desired Beam
Th_start = 0; % degree unit
B1 = Chebyshev_real1(Na,ste);
B2 = resample(B1,Ns,length(theta))';
% plot(pi*sind(theta),10*log10((abs(B1)).^2),'LineWidth',1.5)
plot(theta_w,10*log10((abs(B2)).^2),'LineWidth',1.5)
xlim([-pi pi])
ylim([-50 0])
xlabel("\theta")
ylabel("Normalized Pattern [dB]")
title("Dolph-Chebyshev Beam Pattern")
grid on
% Xd = exp(1j*beta*d*(0:N-1)'*sind(theta));
% Xd1 = sum(Xd,1);
% Xd2 = abs(Xd1/max(Xd1));
%% weighting LSM
w_lsm = z.' \ B2;
%% ifft
w_ifft = stem(ifft(B2));
w_ifft2 = ifft(B2);
wn_s = maxk(w_ifft2,10);
function Chebyshev_real = Chebyshev_real1(N,ste)
R_dB=20;
R=10^(R_dB/20);
m=N-1;
x0=cosh((1/m)*acosh(R));
u=sind(-90:0.05:90);
psi=pi*u;
x=x0*cos((psi-ste*pi/180*pi)/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
Chebyshev_real = B;
% save("Chev_30dB_m5deg_89","Chev_30dB_m5degree")
end
When comparing weight values through LSM and ift for the Desired beam, I think similar values should be obtained for the two values. Where is it wrong?
0 Comments
Accepted Answer
Balavignesh
on 21 May 2024
As per my understanding, you are designing an antenna array beam pattern using Dolph-Chebyshev weighting and then attempt to recover these weights through two methods: least squares method (LSM) and inverse Fourier transform (IFT). You're expecting similar weight values from both the methods, but there seems to be a discrepancy. Here could be some potential issues:
For a more direct conversion, ensure that the data fed into both LSM and IFT processes are as similar as possible in terms of sampling, representation, and format (e.g., consider the effects of resampling and ensure consistent use of angular frequencies vs. linear indices).
Hope that helps!
Balavignesh
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!