Şimdi Ara

Cantenna V1.1

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
2
Cevap
0
Favori
622
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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;
    }



    < Bu mesaj bu kişi tarafından değiştirildi filistinliibo -- 22 Haziran 2008; 0:01:49 >







  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.