Vatyl 0 14 апреля, 2009 Опубликовано 14 апреля, 2009 · Жалоба Стоит задача построить диагармму направленности в 3D. Имеем: Значения угла по азимуту в полярной системе координат (градус, минута, секунда) Значения угла по углу места в полярной системе координат (градус, минута, секунда) Напряжонность эллектрического поля в Вольтах Значений масса диаграмма будет гладнькая. Хотелось бы получить изображение 3D диаграммы привязанной к полярной системе координат, чтобы можно было её поворачивать (вращать) У меня получилось построить даграмму в полярных координатах (Строил в Mathlab (построть 3D в полярных координах он не может)), но плоскость не наглядно, темболее значений столлько что грех не воспользоваться. Поделитесь своми мыслями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jam 0 14 апреля, 2009 Опубликовано 14 апреля, 2009 · Жалоба Стоит задача построить диагармму направленности в 3D. Имеем: Значения угла по азимуту в полярной системе координат (градус, минута, секунда) Значения угла по углу места в полярной системе координат (градус, минута, секунда) Напряжонность эллектрического поля в Вольтах Значений масса диаграмма будет гладнькая. Хотелось бы получить изображение 3D диаграммы привязанной к полярной системе координат, чтобы можно было её поворачивать (вращать) У меня получилось построить даграмму в полярных координатах (Строил в Mathlab (построть 3D в полярных координах он не может)), но плоскость не наглядно, темболее значений столлько что грех не воспользоваться. Поделитесь своми мыслями. Для программы mmana был где-то 3D-визуализатор, но поскольку это увеличивает время рассчёта, особо ей не пользовался, обходился двумя проекциями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_B 0 14 апреля, 2009 Опубликовано 14 апреля, 2009 · Жалоба У меня получилось построить даграмму в полярных координатах (Строил в Mathlab (построть 3D в полярных координах он не может)), но плоскость не наглядно, темболее значений столлько что грех не воспользоваться. Поделитесь своми мыслями. Если в полярных строить 3D не может, тогда нужно перевести их в декартовы и строить трёхмерный график в них. Преобразования там элементарные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vatyl 0 15 апреля, 2009 Опубликовано 15 апреля, 2009 (изменено) · Жалоба Если в полярных строить 3D не может, тогда нужно перевести их в декартовы и строить трёхмерный график в них. Преобразования там элементарные. Построение по оси X,Y проблемм не вызывает, а вот построение по оси Z проекция угла через тангенс (tan(PHI) PHI угол места) очень сильно искажает график. Жаль что нет средств для таких задач. кому интересно данные в файле первые 3 колонки данные угла места, следующие 3 колонки данные угла по азимуту, последняя колонка значение мощьности 60;54;30; ;106;26;8; ;1,39 визуализация должна выглядеть следующим образом: 4 блина диаграммы направленности расположенные на углах 0град, 30град, 60град, 90град (практически цилиндр), 0904.txt Изменено 15 апреля, 2009 пользователем vatyl Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DaddyTorque 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба Наткнулся на эту ветку, пытаясь построить ДН для своей антенны... в итоге построил таким образом: dia_sq = dia .* conj(dia); [u,V] = meshgrid((hor_begin*pi/180:hor_step*pi/180:hor_end*pi/180),(ver_begin*pi/180:ver_step*pi/180:ver_end*pi/180)); X = dia_sq .* cos(V) .* cos(U); Y = dia_sq .* cos(V) .* sin(U); Z = dia_sq .* sin(V); figure(2); mesh(X,Z,Y); поясняю: dia - это сетка комплексных значений где орты сетки это углы по горизонтали и вертикали. соответственно, dia_sq это аналогичная сетка мощностей с разных направлений дальше из полярных трёхмерных координат переходим в декартовые трёхмерные и строим mesh. На всякий случай привожу полную функцию (хотя там есть ещё другие функции, которые здесь не буду приводить) function f=directive_pattern_vert_hfa_3d(freq, hor_begin, hor_end, hor_step, ver_begin, ver_end, ver_step) antenna = init_antenna_def(); LO_FREQ_LIM = antenna.lo_freq_limit; HI_FREQ_LIM = antenna.hi_freq_limit; antenna.beams_count = 1; antenna.elevation = 0; elevation_grid = (ver_begin:ver_step:ver_end)'; azimuth_grid = (hor_begin:hor_step:hor_end)'; elevation_steps_count = size(elevation_grid, 1); azimuth_steps_count = size(azimuth_grid, 1); dia = zeros(elevation_steps_count,azimuth_steps_count); bin = convert_freq_to_bin(freq, 12207, 2048); freq = convert_bin_to_freq(bin, 12207, 2048); progress_bar(sprintf('frequency corrected to %f to be equal to closest bin\n',freq), 0, 0); for j = (1:1:azimuth_steps_count); azimuth = azimuth_grid(j); antenna.beams(1) = azimuth*pi/180; for i = (1:1:elevation_steps_count); progress_bar('', (i-1)+elevation_steps_count*(j-1), azimuth_steps_count*elevation_steps_count); elevation = elevation_grid(i); signal_time = sim_signal_hfa(freq, 1, 0, -azimuth*pi/180, elevation*pi/180, antenna ); signal_freq = FftTime(antenna, signal_time, '', LO_FREQ_LIM, HI_FREQ_LIM); clear signal_time; spectrum = sim_antenna3d_direct_beam_forming(signal_freq, antenna, bin); dia(i,j) = spectrum(bin); end end fprintf(1,'\n'); figure(1); surf(azimuth_grid, elevation_grid, dia.*conj(dia)); title(sprintf('direct transform, f=%f Hz',freq)); dia_sq = dia .* conj(dia); [u,V] = meshgrid((hor_begin*pi/180:hor_step*pi/180:hor_end*pi/180),(ver_begin*pi/180:ver_step*pi/180:ver_end*pi/180)); X = dia_sq .* cos(V) .* cos(U); Y = dia_sq .* cos(V) .* sin(U); Z = dia_sq .* sin(V); figure(2); mesh(X,Z,Y); f = dia; на рисунке моя диаграмма в 3d: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DaddyTorque 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба поясню ещё... то, что строится и нарисовано - это не совсем ДН, т.к. направление компенсации антенны тоже меняется с изменением направления прихода сигнала - это скорее диаграмма отклика.. не знаю, как правильно это назвать. И ещё там перепутано, надо делать mesh(X,Y,Z). Но это не суть важно, важно, что код пригоден для формирования 3d диаграмм направленности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться