⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ranlib.c

📁 模擬無線通訊論文的模擬程式, 可用此程式驗證論文方法是否正確
💻 C
字号:
/* include */
#include "ranlib.h"
 
/*
 * generate X for "exponential" distribute
 * CDF: F(x) = 1 - e-lambdax
 * X = -ln(U)/lambda
 * input: lambda
 * output: X
 */
double generate_exp_X(double lambda)
{
/* X value */       
double X = 0.0f;
/* rand value */
double rand_val = 0.0f;

    /* rand it to 0 ~ 1 */
    rand_val = ((rand()%10001)+1) / 10000.0; /* rand 0 ~ 10000 first, then get 0 ~ 1 value */
    /* calculate X */
    X =  - log(rand_val) / lambda;
    return X; /* return X */
}

/*
 * generate Rvalue for "uniformly" distribute
 * CDF: F(x) = x-a / b-a
 * X = U * (b-a) + a
 * input: R
 * output: X
 */
int generate_normal_R(int R)
{
/* Random value */
int X = 0;
/* rand value */
double rand_val = 0.0f;


    /* rand it to 0 ~ 1 */
    rand_val = (rand()%10001) / 10000.0; /* rand 0 ~ 10000 first, then get 0 ~ 1 value */
    /* calculate X */
    X = (int)(round(rand_val * (R - 1) + 1));
    
    return X;
}

/*
 * gererate which base stations
 */
u8 generate_bs(u8 bs_size)
{
    return (rand()%bs_size);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -