📄 transmit.c
字号:
/* TRANSMIT.C - Simulate transmission of bits through a channel. */
/* Copyright (c) 2000, 2001 by Linxuehong
*
* Permission is granted for anyone to copy, use, or modify this program
* for purposes of research or education, provided this copyright notice
* is retained, and note is made of any changes that have been made.
*
* This program is distributed without any warranty, express or implied.
* As this program was written for research purposes only, it has not been
* tested to the degree that would be advisable in any important application.
* All use of this program is entirely at the user's own risk.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "transmit.h"
#include "open.h"
#include "rand.h"
void transmit
(
double *tdata, //the transmit data
double *rdata, // the receive data
int data_length,
int seed,
double sgma
)
{
int i;
double awgn_noise;
/* Set random seed to avoid duplications with other programs. */
rand_seed(10*seed+3);
/* Transmit bits. */
for (i=0;i<data_length;i++)
{
awgn_noise=sgma*rand_gaussian(seed);
rdata[i]=tdata[i]+awgn_noise;
// printf("%f ",rdata[i]);
}
}
/*transmit for BPSK*/
void bpsk_transmit
(
int *tdata, //the transmit data
double *rdata, // the receive data
int data_length,
int seed,
double sgma
)
{
int i;
double awgn_noise;
/* Set random seed to avoid duplications with other programs. */
rand_seed(10*seed+3);
/* Transmit bits. */
for (i=0;i<data_length;i++)
{
awgn_noise=sgma*rand_gaussian(seed);
rdata[i]= tdata[i] ? 1+awgn_noise:-1+awgn_noise;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -