読者です 読者をやめる 読者になる 読者になる

高調波計算

ACAG参加各局お疲れ様でした。

 

ACAGの話を、、、しないでプログラミングの話

 

高調波...ある周波数の整数倍の高次の周波数成分

 

アマチュア無線の周波数って7(3.5)の倍が多いので高調波が他の周波数での運用に影響を与えることがあります。

 

特に、クラブのコンテストでの運用の時などはアンテナ同士の距離が離れていないため、高調波の影響で他の周波数の運用にも影響が出ている時があります。

 

アンテナを離すのが理想なんですがそれは¥がかかってしまうのでそれは不可能、、、

 

そしたら影響のなくなる周波数を調べて運用するしかないと

 

ということで作りました。

高調波を求めて、他の(7の整数倍)周波数のアマチュア無線の運用に影響のある周波数の時には注意を促すプログラムを

 

概要

使用言語: C言語

仕様:    周波数を入力

                      |

       10倍の高調波を求めるまでwhile

                      |

            入力を整数倍して出力

                      |

          整数倍した結果が7,14,21,28の運用周波数内かどうか判別する

        |

         運用周波数内だったら注意を促す文章を出力

                     |(ここまでwhile処理)

                  終了

 

ソース

#include<stdio.h>

int main(void){
printf("input frepuency(MHz)\n");

double freq;
scanf("%lf",&freq);
//元の周波数を入力

int n=0,i=0;
double harm;

while(n<9){
i=n+2;
//倍にする数を求める

harm =freq *i;
//i倍した周波数を求める

printf("%d 倍: %lf MHz\n",i,harm);
//i倍した周波数を倍にした数と一緒に出力

//7MHz JARLコンテスト周波数内か判別
if(harm >= 7.010){
if(harm <= 7.040){
printf("Warning! 7MHz CW covered!!\n");
}
}
if(harm >= 7.060){
if(harm <= 7.140){
printf("Warning! 7MHz SSB covered!!\n");
}
}

//14MHz JARLコンテスト周波数内か判別
if(harm >= 14.050){
if(harm <= 14.080){
printf("Warning! 14MHz CW coverd!!\n");
}
}

if(harm >= 14.250){
if(harm <= 14.300){
printf("Warning! 14MHz SSB coered!!\n");
}
}

//21MHz JARLコンテスト周波数内か判別
if(harm >=21.050){
if(harm <= 21.080){
printf("Warning! 21MHz CW coverd!!\n");
}
}

if(harm >=21.350){
if(harm <= 21.450){
printf("Warning! 21MHz SSB coverd!!\n");
}
}

//28MHz JARLコンテスト周波数内か判別
if(harm >=28.050){
if(harm <= 28.080){
printf("Warning! 28MHz CW covered!!\n");
}
}

if(harm >= 28.600){
if(harm <=28.850){
printf("Warning 28MHz SSB covered!!\n");
}
}

n++;
}
return 0;
}

 

相変わらずテキトーなソースです。

ぶっちゃけ10倍とか使う気はしないのですが予備用に行けるようにしておいた。

ここら辺も含めてそのうち他の言語にしてもっと使いやすいようにしたい。