Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 3
Регистрация: 06.01.2018
Сообщений: 77
1
Matlab 2018

Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки

13.02.2021, 15:22. Показов 1315. Ответов 0

Author24 — интернет-сервис помощи студентам
ТЗ: необходимо запрограммировать формулы для исследования скрытности РЭС(см. рис1). По цифрам все получается, но необходимо добавить рисунок с ДНА антенны и расположением на нем соотв. собственного приемника и разведприемника с расстоянием из numericedit fields.

Что имею: рис 2.

ДНА антенны, который нужно получить: рис 3.

Для чего: в формулах(рис 5) используется КНД антенны по азимуту, например для того, если разведприемник находится не в направлении главного лепестка, как в исходной ТЗ программе.

В поиске по темам форума нашел следующий код:

Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
clear all
clc
 
lym=1;
% lym- длина волны
m=7;
n=7;
% где m-число излучателей по оси x, n-число излучателей по оси y
N = m*n;
% N-кол-во излучателей
dx2=0.5*lym;
dy2=0.5*lym;
% где dx,dy шаг решётки по оси x и y
k=2*pi/lym;
% k-волновое число
deltapsix2=0.5;
deltapsiy2=0.5;
ksix2=deltapsix2/(k*dx2);
ksiy2=deltapsiy2/(k*dy2);
% где ksix,ksiy-коэффициенты замедления
theta = (-90:0.58:90)/180*pi;
fi1 = 0; fi2= 90*pi/180;
p3=k*dx2/2; p4=k*dy2/2;
alfa3=p3*((sin(theta).*cos(fi1))-ksix2);
alfa4=p3*((sin(theta).*cos(fi2))-ksix2);
beta3=p4*((sin(theta).*sin(fi1))-ksiy2);
beta4=p4*((sin(theta).*sin(fi2))-ksiy2);
% где alfa и beta -обобщённые аргументы
Fp3 = (sin(m*alfa3)./sin(alfa3));
Fp4 = (sin(m*alfa4)./sin(alfa4)).*(sin(n*beta4)./sin(beta4));
Fp3=abs(Fp3);
Fp4=abs(Fp4);
% где Fp1,2,3,4,5,6 - множитель направленности антенной решётки
F1=cos(theta);
% где F1-комплексная векторная хар-ка направленности изотропного излучателя
Dn3=F1.*Fp3; 
Dn4=F1.*Fp4; 
DnN3 = Dn3/max(max(Dn3));
DnN4 = Dn4/max(max(Dn4));
DnN3=20*log10(DnN3);
DnN4=20*log10(DnN4);
theta = theta/pi*180;
plot(theta,DnN3,theta,DnN4); grid
xlim([-90 90])
ylim([-25 0])
xlabel('theta')
ylabel('F(theta)')
title('Диаграмма направленности')


И еще один:
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
clear, clc
 
f1 = 8;
lambda = 1.5;
k = 2*pi/lambda
fi = -pi/2:0.02:pi/2;
 
x = -pi:1e-4:pi; % переменная интегрирования
 
F1 = zeros(size(fi));
F2 = zeros(size(fi));
for i=1:length(fi)
    t = fi(i);
    F11 = cos(t)*trapz(x, cos(k*x*sin(t))*f1 );
    F12 = -cos(t)*trapz(x, sin(k*x*sin(t))*f1 );
    F1(i) = sqrt( F11^2 + F12^2 );
end
 
plot(F1, fi*180/pi)
polar(fi, F1)
grid on

Но не могу сделать под себя, так как с Matlab GUI работаю только несколько дней. Нужно перенести из полярной на двумерную плоскость с возможностью получения КНД для любого заданного угла.

Получилось что то вроде этого (рис)
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
start_ax = app.UIAxes5;
            f1 = 7;
            lambda = 2.2;
            k = 2*pi/lambda;
            fi = -pi/2:0.01:pi/2;
            x = -pi:1e-4:pi; % переменная интегрирования
            
            F1 = zeros(size(fi));
            for i=1:length(fi)
                t = fi(i);
                F11 = cos(t)*trapz(x, cos(k*x*sin(t))*f1 );
                F12 = -cos(t)*trapz(x, sin(k*x*sin(t))*f1 );
                F1(i) = sqrt( F11^2 + F12^2 );
            end
            xmax = app.rpr.Value+10;
            ymax = app.rr.Value;
            az = app.azimut.Value;
            axis (start_ax,[0,xmax,-100,100]);
            hold (start_ax,'on');
            plot(start_ax,F1, fi*180/pi,'k'); %строим ДНА
            plot (start_ax,[0,xmax-10],[0,0],'r'); %линия до собств. приемника
            plot (start_ax,xmax-10,0,'r.','MarkerSize', 20); %точка, где находится приемник
            plot (start_ax,[0,ymax],[az,az],'g'); %линия до собств. приемника
            plot (start_ax,ymax,az,'g.','MarkerSize', 20); %точка, где находится приемник
            hold (start_ax,'off');
Также функция для получения значения нормированной ДНА от азимута:
Matlab M
1
2
3
4
5
6
7
8
9
10
function y = dna_(x)
                f1 = 15; %влияет на дальность главного, 15 примерно для 43 км
                lambda = 2.2; %влияет на ширину ДНА, 2.2 чтобы в -30 град был боковой лепесток
                kk = 2*pi/lambda;
                t = (x*pi)/180;
                x = -pi:1e-4:pi;
                F11 = cos(t)*trapz(x, cos(kk*x*sin(t))*f1 );
                F12 = -cos(t)*trapz(x, sin(kk*x*sin(t))*f1 );
                y = sqrt( F11^2 + F12^2 ); %значение ДНА в нужной точке[/LEFT]
end
Открытым остается вопрос, как же сделать полярную дна в двухмерном графике
Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки
Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки
Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки

Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки
Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки
Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки


Если кому понадобиться, удалось добиться результата следующим образом:
строится ДНА в полярных координатах, затем они переводятся в декартовы и выводятся на график. Единственный минус, максимум ДНА будет равен 1, т.е. удалось построить нормированную ДНА.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
xd = [0:1:360];
xr = deg2rad(xd);
ls = 3e8;
lam = ls ./ 2.6e8;
s = 0.25;
N = 10;
l = lam;
k = 2*pi/lam;
chisl = sin(k*N*0.5*(1.25*l - s*cos(xr)));
znam = N*sin(k*0.5*(1.25*l - s*cos(xr)));
f = abs(chisl ./ znam);
 
[x,y]=pol2cart(xr,f);
plot (x,y)
Миниатюры
Моделирование КНД и ДНА антенны в 2d с последующим расчетом параметров разведки  
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2021, 15:22
Ответы с готовыми решениями:

Функция по переводу из строки в математическое выражение с последующим расчетом
Нужна функция на подобии eval в JS. Есть математическое выражение в TextBox. Например, 4 * 5 или...

Моделирование антенны в COMSOl Multiphisics
Возник вопрос можно ли провести моделирование антенны с помощью COMSOl Multiphisics. Необходимо...

Треугольник с расчетом всех углов a, b, c и расчетом длины перпендикуляров
Не пойму куда и какие функции вписать чтобы он считал еще углы и перепендикуляры... Вот сам...

Почему длина антенны спут. телефона гораздо, меньше антенны излучаемого спутника?
Пытался поискать формы с подобной тематикой, но не нашел, надеюсь тут кто-то сможет пролить свет....

0
13.02.2021, 15:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2021, 15:22
Помогаю со студенческими работами здесь

Возможно ли применить шаблон к функции у которой нет параметров с последующим привидением типа?
Предположим есть функция которая должна вернуть значение но заранее определить это значение нельзя....

Построение модели воздействия Радиолокационной разведки
Господа!! ;D кто сможет подсказать как сделать модель? я в AnyLogic полный ноль, как и в...

Моделирование дискретных распределений, зависящих от параметров
Помогите, пожалуйста Смоделировать закон распределения Пуассона...

Моделирование дискретных распределений, зависящих от параметров
Нужно Смоделировать закон распределения Пуассона P(X=k)=λk*e^(-λ)/k! при λ = 1...

Провести моделирование взлета ракеты при значениях параметров
Провести моделирование взлета ракеты при значениях параметров m0 = 2 * 10^7 кг, mкон = 2 *10^5...

КНД синфазной решетки на спиральных облучателях
При расчете синфазной решетки на спиральных излучателях КНД получился 77527 (или 48,8 дБ) это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru