微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 天线设计和射频技术 > I need a matlab code for two arm archimedian spiral.

I need a matlab code for two arm archimedian spiral.

时间:04-05 整理:3721RD 点击:
I am designing a two arm archimedian spiral antenna and i need help in matlab code. In this matlab code i also want to include the specification of antenna like how many turns and how much wide etc. Can anybody please help me. Thanks in advance.

'morning mkcool28 - while it's not exactly what you're after, I created a MATLAB script some time ago to draw a *conical* spiral antenna in 3D. It might provide a starting point...


Code Python - [expand]
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
% drawSpiral.m   JW 21 March 2011
%
% Plots the conical logarithmic spiral antenna corresponding to the set of
% characteristic antenna parameters.
 
alpha  = 50;   % [degrees] Conductor wrap angle
delta  = 76;   % [degrees] Width of conductor around a circular plane parallel to the base
theta0 = 7.5;  % [degrees] Half cone apex angle
minD   = 12;   % [mm] Minimum antenna diameter
maxD   = 100;  % [mm] Maximum antenna diameter
Hs     = 332;  % [mm] Vertical height of spiral 
 
fGap   = 1;    % [mm] Gap at feedpoint of antenna
 
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
% Convert angles to radians
alpha  = alpha*pi/180; 
theta0 = theta0*pi/180;
 
Hc = Hs + Hs*minD/(maxD-minD);        % Effective height of conical form
rho0 = sqrt((minD/2)^2 + (Hc-Hs)^2);  % Initial radius
b = sin(theta0)/tan(alpha);           % Spiral expansion factor
phiMax = tan(alpha)*log(maxD/minD)/sin(theta0); % Total rotation angle
 
figure;
hold on;
axis equal;
 
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% First spiral arm
 
for phi = 0:(phiMax*180/pi)            % Upper side of spiral
    
    rho = rho0*exp(b*pi*phi/180);
    planeR = rho * sin(theta0);
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = cos(theta0)*(rho0-rho);
    
    plot3(xPos, yPos, zPos);
end
 
for phi = 0:delta                      % Inside top edge of spiral
    
    planeR = minD/2;
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = 0;
    
    plot3(xPos, yPos, zPos);
end
 
for phi = delta:(delta+phiMax*180/pi)  % Lower side of spiral
    
    rho = rho0*exp(b*pi*(phi-delta)/180);
    planeR = rho * sin(theta0);
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = cos(theta0)*(rho0-rho);
    
    plot3(xPos, yPos, zPos);
end
 
for phi = (phiMax*180/pi):(delta+phiMax*180/pi) % Outside bottom edge of spiral
    
    planeR = maxD/2;
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = -Hs;
    
    plot3(xPos, yPos, zPos);
end
 
% Define tapered feed
 
feed1 = [minD/2 0 0; ... 
         fGap 0 0; ...
         fGap*cos(delta*pi/180) fGap*sin(delta*pi/180) 0; ...
         minD/2*cos(delta*pi/180) minD/2*sin(delta*pi/180) 0];
 
plot3(feed1(:,1), feed1(:,2), feed1(:,3));
     
 
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Second spiral arm
 
for phi = 180:(180+phiMax*180/pi)            % Upper side of spiral
    
    rho = rho0*exp(b*(pi*phi/180-pi));
    planeR = rho * sin(theta0);
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = cos(theta0)*(rho0-rho);
    
    plot3(xPos, yPos, zPos, 'r');
end
 
for phi = 180:(delta+180)                    % Inside top edge of spiral
    
    planeR = minD/2;
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = 0;
    
    plot3(xPos, yPos, zPos, 'r');
end
 
for phi = (180+delta):(delta+180+phiMax*180/pi)  % Lower side of spiral
    
    rho = rho0*exp(b*(pi*(phi-delta)/180-pi));
    planeR = rho * sin(theta0);
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = cos(theta0)*(rho0-rho);
    
    plot3(xPos, yPos, zPos, 'r');
end
 
for phi = (180+phiMax*180/pi):(delta+180+phiMax*180/pi) % Outside bottom edge of spiral
    
    planeR = maxD/2;
    xPos = planeR*cos(phi*pi/180);
    yPos = planeR*sin(phi*pi/180);
    zPos = -Hs;
    
    plot3(xPos, yPos, zPos, 'r');
end
 
% Define tapered feed
 
plot3(-feed1(:,1), -feed1(:,2), -feed1(:,3), 'r');

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top