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

📄 discdemod.c

📁 这是一个c++编写的WCDMA链路采用RAKE接收的方针源代码
💻 C
字号:
/* | | Copyright disclaimer: |   This software was developed at the National Institute of Standards |   and Technology by employees of the Federal Government in the course |   of their official duties. Pursuant to title 17 Section 105 of the |   United States Code this software is not subject to copyright |   protection and is in the public domain. | |   We would appreciate acknowledgement if the software is used. |*//* | Project:     WCDMA simulation environment | Module:      Discrete CDMA downlink demodulation containing QPSK data  |		and spreading modulation. |		No multipath, i.e. ideal channel and synchronisation. | Author:      Tommi Makelainen, Nokia/NIST | Date:        February 23, 1999 | | History: |              February 23, 1999 Tommi Makelainen |                      Initial version. | |              April 6, 1999 Tommi Makelainen |                      Modified despreader name. | */#include <stdio.h>#include <math.h>#include "conversions.h"#include "bitroutines.h"#include "config_wcdma.h"#include "mealy.h"#include "spreading.h"#include "qpsk_ints.h"#include "discdemod.h"/* ------------------------------------------------------------------- *//* * Function:    wcdma_demod_init * Desc.:       Discrete data and spreading demodulation initialization. * * Note: */int wcdma_demod_init(void){    /*     * Allocated memory for temporary outputs.     */    return(0);}/* -------------------------------------------------------------------- *//* * Function:    wcdma_dl_demod * Desc.:       Data and spreading modulation * * Note: *		Input data length can be maximum of 4000 symbols. *		Output vector length is: *			nInputs / sf * 2 */int wcdma_dl_demod(int I_inputs[],	/* I input symbol vector */		       int Q_inputs[],	/* Q input symbol vector */                       int nInputs,	/* input vector size */                       int code[],      /* spreading code */                       int code_len,	/* length of spreading code */                       int sf,		/* spreadign factor */                       int coded_out[])	/* channel coded output */{    int mod_data_len, coded_data_len;    int data_out[2000];    int I_out[2000], Q_out[2000];    /*     * Despread I and Q channels separately.     */    wcdma_hard_despread(I_inputs, nInputs, code, code_len, sf, data_out);    antipodal2bin(data_out, nInputs/sf, I_out);    wcdma_hard_despread(Q_inputs, nInputs, code, code_len, sf, data_out);    antipodal2bin(data_out, nInputs/sf, Q_out);    /*     * Demodulate data, i.e. de-multiplex I and Q.     */    mod_data_len = nInputs / sf;    wcdma_dl_qpsk_demod(I_out, Q_out, mod_data_len,                        coded_out, &coded_data_len);    return(0);}/* -------------------------------------------------------------------- *//* * Function:    wcdma_dl_demod_free * Desc.:       Discrete modulation clean up function. * * Note: */int wcdma_dl_demod_free(void){    return(0);}/* -------------------------------------------------------------------- */

⌨️ 快捷键说明

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