Cantenna V1.1 (Tüm Sürüm)
Tüm Forumlar >> Donanım / Hardware >> Network ve Güvenlik >> Network
Mesaj
filistinliibo => Cantenna V1.1 (21.6.2008 23:59:08)
http://forum.donanimhaber.com/m_12976524/tm.htm

arkadaşlar Cantenna V1.1 i programı nasıl çalışıyor
c:/Document and settings>........................>desktop>cantenna.exe programı çalıştırıyorum
diameter = can diameter in mm\n");
channel = 1-14 for 802.11b, or valid 802.11a channel between 34-161
yazıyor kalıyor kutunun çapını program ile gelen not defteri içersinde nereye girmemiz gerekiyor.
quote:


/*
* 7 July 2002 SCL: creation
* Copyright(c) 2002 Sam C. Lin ALL RIGHTS RESERVED
* 20040225 v1.1 - added 802.11a freq's from
* http://www.cisco.com/univercd/cc/td/doc/product/wireless/airo1200/accsspts/ap120scg/bkscgaxa.htm#1023693
*/
#include <stdio.h>
#include <math.h>

const char *copr = "Copyright (c) 2002-2004 Sam C. Lin ALL RIGHTS RESERVED";

double C = 299792458; // speed of light, m/s
const double g_din2mm = 25.4; // inches to mm

double channels[15] = {
0,
2412, // 1
2417, // 2
2422, // 3
2427, // 4
2432, // 5
2437, // 6
2442, // 7
2447, // 8
2452, // 9
2457, // 10
2462, // 11
2467, // 12
2472, // 13
2484 // 14
};

typedef struct chanspec {
int chnl;
double freq;
} CHANSPEC,*PCHANSPEC;

CHANSPEC channels11a[] = {
{34,5170},
{36,5180},
{38,5190},
{40,5200},
{42,5210},
{44,5220},
{46,5230},
{48,5240},
{52,5260},
{56,5280},
{60,5300},
{64,5320},
{149,5745},
{153,5765},
{157,5785},
{161,5805},
{0,0}
};

// source: ARRL Antenna Book 18-16

// guide wavelength in inches
// f0 = operating freq, MHz
// fc = TE11 cutoff freq, MHz
double LambdaGuide(double f0,double fc)
{
return 11802.85/sqrt(f0*f0 - fc*fc);
}

// TE11 mode cutoff freq, MHz
// d = waveguide inner diameter, in
double FcTE11(double d)
{
return 6917.26 / d;
}

// TM01 mode cutoff freq, MHz
// d = waveguide inner diameter, in
double FcTM01(double d)
{
return 9034.85 / d;
}


int main(int argc,char *argv[])
{
printf("Lincomatic Circular Waveguide Calculator V1.1 (%s %s)\n\n",__DATE__,
__TIME__);
if (argc != 3) {
printf("Usage: %s diameter channel",argv[0]);
printf("where\n");
printf(" diameter = can diameter in mm\n");
printf(" channel = 1-14 for 802.11b, or valid 802.11a channel between 34-161\n");
return 1;
}

double dia;
int chnl;
sscanf(argv[1],"%lf",&dia);
sscanf(argv[2],"%d",&chnl);
double freq = 0;
int chnlidx;
if ((chnl > 0) && (chnl < 15)) // 11b
freq = channels[chnl];
else {
int i=0;
while (channels11a.chnl) {
if (channels11a.chnl == chnl) {
freq = channels11a.freq;
chnlidx = i;
break;
}
i++;
}
if (!freq) {
printf("invalid channel %d\n",chnl);
return 1;
}
}
double diain = dia/g_din2mm;
printf("Waveguide diameter: %lf mm (%lf in)\n",dia,diain);
printf("Channel: %d (%4.0lf MHz)\n",chnl,freq);
printf("\n");
double fcte11 = FcTE11(diain);
printf("TE11 Cutoff (MHz): %lf\n",fcte11);
printf("TM01 Cutoff (MHz): %lf\n",FcTM01(diain));
double lg = LambdaGuide(freq,fcte11);
printf("Guide Wavelength (mm): %lf (%lf in)\n",lg*g_din2mm,lg);
double l0 = C/1000/freq;
printf("Operating wavelength (mm): %lf (%lf in)\n",
l0,l0/g_din2mm);
printf("\n");
printf("1/4 Guide Wavelength (probe to back) (mm): %lf (%lf in)\n",
lg/4*g_din2mm,lg/4);
printf("Probe Length (mm): %lf (%lf in)\n",
l0/4,l0/g_din2mm/4);

if (chnl < 15) {
printf("\nprobe pos (Ch1): %lf\n",LambdaGuide(channels[1],fcte11)*g_din2mm/4);
printf("probe pos (Ch11): %lf\n",LambdaGuide(channels[11],fcte11)*g_din2mm/4);
printf("probe pos (Ch14): %lf\n",LambdaGuide(channels[14],fcte11)*g_din2mm/4);
printf("difference between Ch1-Ch11 (mm): %lf\n",
(LambdaGuide(channels[1],fcte11)-LambdaGuide(channels[11],fcte11))*g_din2mm/4);
}
else {
int i=0;
printf("\n");
while (channels11a.chnl) {
printf("probe pos (Ch%d): %lf\n",channels11a.chnl,LambdaGuide(channels11a.freq,fcte11)*g_din2mm/4);
i++;
}
}

return 0;
}

PHaLaNX. => Cantenna V1.1 (22.6.2008 00:31:41)
http://www.saunalahti.fi/elepal/antenna2calc.php buradan hesaplayabilirsiniz.

Sayfa: [1]