{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "8d82aa21",
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2\n",
"\n",
"from radar.components import geometry\n",
"from radar.utils.calculate import convert\n",
"from radar.utils.typing.enums import FrequencyUnit\n",
"from radar.utils.typing.units import Frequency\n",
"\n",
"from radar.components import Element\n",
"from radar.utils.calculate import pattern\n",
"from radar.utils.typing import (\n",
" PhaseUnit,\n",
" DirectionDomain,\n",
" FigureType,\n",
" AmplitudeDomain,\n",
" Angle,\n",
" AmplitudeUnit,\n",
")\n",
"\n",
"from radar.components.array import Array\n",
"import polars as pl\n",
"\n",
"from radar.utils.typing.constants import DataHeader"
]
},
{
"cell_type": "markdown",
"id": "abe939d1",
"metadata": {},
"source": [
"## Altering a Grid Array\n",
"\n",
"And show its beam pattern"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9cf8dab4",
"metadata": {},
"outputs": [],
"source": [
"beam_width = 30\n",
"beam_width_tuple = (\n",
" Angle(beam_width, PhaseUnit.DEGREE),\n",
" Angle(beam_width, PhaseUnit.DEGREE),\n",
")\n",
"\n",
"az_bound = 90\n",
"el_bound = 90\n",
"az_bound_tuple = (Angle(-az_bound, PhaseUnit.DEGREE), Angle(az_bound, PhaseUnit.DEGREE))\n",
"el_bound_tuple = (Angle(-el_bound, PhaseUnit.DEGREE), Angle(el_bound, PhaseUnit.DEGREE))\n",
"\n",
"\n",
"element_pattern = pattern.Isotropic()\n",
"freq = Frequency(1, FrequencyUnit.GIGAHERTZ)\n",
"antenna_element = Element(element_pattern, az_bound_tuple, el_bound_tuple, freq, 1)\n",
"\n",
"cf = Frequency(1, FrequencyUnit.GIGAHERTZ)\n",
"distance = convert.cf_to_min_dist(cf)\n",
"array_geometry = geometry.Grid(21, 21, distance)"
]
},
{
"cell_type": "markdown",
"id": "6d547434",
"metadata": {},
"source": [
"### Array Element Weights"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d9ddf2bc",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "x_m=%{x}
y_m=%{y}
Element Amplifier Gain (Decibel)=%{marker.color}
| x_m | y_m | Element Phase Shifter Phase (Degree) | Element Phase Shifter Phase (Radian) | Element Amplifier Gain (Linear) |
|---|---|---|---|---|
| f64 | f64 | i32 | i32 | i32 |
| 0.599585 | 1.19917 | 0 | 0 | 0 |
| -0.299792 | 0.599585 | 0 | 0 | 0 |
| 1.349066 | -1.19917 | 0 | 0 | 0 |
| -1.498962 | -0.449689 | 0 | 0 | 0 |
| -0.749481 | 0.449689 | 0 | 0 | 0 |