📄 interleaver.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 + -