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

📄 interleaver.h

📁 这是一个c++编写的WCDMA链路采用RAKE接收的方针源代码
💻 H
字号:
/* | | 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:      Interleaving routines | Author:      Tommi Makelainen | Date:        January 26, 1999 | | History: |              January 26, 1999 Tommi Makelainen |			Initial version. | */#ifndef WCDMA_INTERLEAVING_H#define WCDMA_INTERLEAVING_H/* * Block (B,N) interleaver, where B = input_column_size and * N = output_row_size. * Input data is a vector, where input columns sequentially ordered. * I.e. input_data[] = {column1, column2, ..., columnN}. */void wcdma_block_interleaver(	int input_column_size,	/* size of single input column to write in */	int output_row_size,	/* size of single output row to read */	int input_data[],	/* vector of input data bits */	int output_data[]);	/* vector of output data bits *//* * Block (N,B) deinterleaver, where B = output_column_size and * N = input_row_size. * Input data is a vector, where input rows sequentially ordered. * I.e. input_data[] = {row1, row2, ..., rowN}. */void wcdma_block_deinterleaver(	int input_row_size,	/* size of single input row to write in */	int output_column_size,	/* size of single output column to read */	int input_data[],	/* vector of input data bits */	int output_data[]);	/* vector of output data bits *//* * Convolutional (B,N) interleaver, where B = no_banks and * N = shift_reg_len * number of shift register banks (no_banks). */void wcdma_conv_interleaver(	int shift_reg_len,	/* length of a single shift register */	int no_banks,		/* number of shift register banks */	int input_data[],	/* vector of input data bits */	int output_data[]);	/* vector of output data bits *//* * Convolutional (B,N) deinterleaver, where B = no_banks and * N = shift_reg_len * number of shift register banks (no_banks). */void wcdma_conv_deinterleaver(	int shift_reg_len,	/* length of a single shift register */	int no_banks,		/* number of shift register banks */	int input_data[],	/* vector of input data bits */	int output_data[]);	/* vector of output data bits *//* * Block (B,N) floating point interleaver, where B = input_column_size and * N = output_row_size. * Input data is a vector, where input columns sequentially ordered. * I.e. input_data[] = {column1, column2, ..., columnN}. */void wcdma_block_float_interleaver(        int input_column_size,  /* size of single input column to write in */        int output_row_size,    /* size of single output row to read */        double input_data[],    /* vector of input data bits */        double output_data[]);   /* vector of output data bits *//* * Block (N,B) floating point deinterleaver, where B = output_column_size and * N = input_row_size. * Input data is a vector, where input rows sequentially ordered. * I.e. input_data[] = {row1, row2, ..., rowN}. */void wcdma_block_float_deinterleaver(	int input_row_size,	/* size of single input row to write in */	int output_column_size,	/* size of single output column to read */	double input_data[],	/* vector of input data bits */	double output_data[]);	/* vector of output data bits */void wcdma_intraframe_interleaver(        int nBits,              /* IN: number of bits */        int inData[]);          /* IN/OUT: input/output bits */void wcdma_intraframe_deinterleaver(        int nBits,              /* IN: number of bits */        double inData[]);       /* IN/OUT: input/output bits */void wcdma_interframe_interleaver(        int nBits,              /* IN: number of bits in */        int frame_len,          /* IN: number of bits in a frame */        int inData[],           /* IN: input bits */        int outData[]);         /* OUT: output bits */void wcdma_interframe_double_deinterleaver(        int nBits,              /* IN: number of bits in */        int frame_len,          /* IN: number of bits in a frame */        double inData[],        /* IN: input bits */        double outData[]);      /* OUT: output bits */#endif /* WCDMA_INTERLEAVING_H */

⌨️ 快捷键说明

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