亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sratematch.c

?? matlab實現wcdma的全過程
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* | | 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:      Static rate matching algorithm. | Author:      Tommi Makelainen | Date:        January 27, 1999 | | History: |              January 27, 1999 Tommi Makelainen |                      Initial version. | |              June 18, 1999 Tommi Makelainen |                      Instances added. | */#include <stdlib.h> #include <stdio.h>#include <math.h>#include "misdefs.h"#include "sratematch.h"#define NO_UPPER_BLOCK_SIZE -1#define MAX_BLOCK_SIZE 10000                  /* ------------ S T A T I C   D A T A   S T R U C T U R E S ----------- */#if 0/* * Allocation list of available rate matching entities and the current count. */static enum instance_state rate_match_alloc_list[MAX_RATE_MATCHINGS];static rate_match_instance_count = 0;/* * Parameters specific for each rate matching unit. */static int transport_block_sizes[MAX_RATE_MATCHINGS];static double punct_ratios[MAX_RATE_MATCHINGS];/* * Initialization flag for static data structures. */static int general_init_flag = FALSE;#endif /* 0 *//* -------------------------------------------------------------------- *//* * Function:    wcdma_rate_match_init * Desc.:       Inits rate matching and returns the allocated *              instance number. * * Returns:     => 0 allocated instance number, -1 if no free. * * Note: */int wcdma_rate_match_init(        int pilot_length,               /* IN: length of pilot in frame                                               (in chips) */        double finger_inc_level,        /* IN: finger select threshold */        int nFingers)                   /* IN: number of fingers to use */{    int i, instance;#if 0    /*     * If first call, initialize static data.     */    if (general_init_flag == FALSE) {        for (i=0; i < MAX_RAKES; i++) {            rate_match_alloc_list[i] = FREE_INSTANCE;            init_flags[i] = TRUE;        } /* for */        general_init_flag = TRUE;    } /* if general_init_flag */    /*     * Find first free instance number.     */    instance = -1;    for (i=0; i < MAX_RAKES; i++) {        if (rate_match_alloc_list[i] == FREE_INSTANCE) {            instance = i;            break;        }    }    if (instance == -1) return(-1); /* no free instances */    /*     * Store rake specific data.     */    init_flags[instance] = TRUE;    path_select_level[instance] = finger_inc_level;    finger_count[instance] = nFingers;    pilot_len[instance] = pilot_length;    /*     * Update rake allocation list and count.     */    rate_match_alloc_list[instance] = INSTANCE_IN_USE;    rate_match_instance_count++;#endif /* 0 */    return(instance);}/* -------------------------------------------------------------------- *//* * Function:    wcdma_rate_match_free * Desc.:       Free one rate matching reservation. * * Note: */void wcdma_rate_match_free(int instance){#if 0    rate_match_alloc_list[instance] = FREE_INSTANCE;    rate_match_instance_count--;#endif /* 0 */    return;}/* -------------------------------------------------------------------- *//* * Function:    wcdma_rate_match * Desc.:       Do rate matching for uplink channels. * * Note: *              Can be used either for static or dynamic rate matching. */int wcdma_rate_match(           int Inputs[],        /* IN: input data symbol vector */           int nInputs,         /* IN: length of input data vector */           double max_punct_ratio,  /* IN: Max. ratio to puncture/repetite */           int target_block_size,   /* IN: block size to match */           int outData[])       /* OUT: matched output */{    double block_ratio;    int temp_int_vector[MAX_BLOCK_SIZE];    int temp_output_vector[MAX_BLOCK_SIZE];    int *temp_input;    int current_input_size;    int *out_ptr;    int output_size;    int i, j, k, l, x, y, z, puncture;    /*     * Check the size of input block related to the allowed     * output block size.     * Check whether we need to puncture or repeat bits.     */    block_ratio = (target_block_size - nInputs) / (float)nInputs;    if (block_ratio > max_punct_ratio) {        printf("wcdma_rate_match: puncture/repetition ratio %g too large.\n",               block_ratio);        return(-1);    }    puncture = (block_ratio > 0) ? FALSE : TRUE;    /*     * Now puncture, if needed.     * Puncture every z'th bit, until input fits to TC block.     */    temp_input = Inputs;    if (puncture == TRUE) {        x = nInputs;        y = nInputs - target_block_size;        if (y <= 1) {            memcpy(temp_output_vector, temp_input, nInputs*sizeof(int));            output_size = nInputs;        }        while (y > 1) {            z = (int)ceil((double)x/(double)y);            k = x / z;            l = 0;            /*             * Puncture every z'th bit.             */            for (i=0; i < x; i++) {                if ((i % z) != (z-1)) {                    temp_int_vector[l++] = temp_input[i];                }            }            x -= k;            y -= k;            memcpy(temp_output_vector, temp_int_vector, sizeof(int)*l);            output_size = l;            temp_input = temp_output_vector;        }        if (y == 1) output_size -= 1;        memcpy(outData, temp_output_vector, sizeof(int)*(output_size));    } else {        /*         * Repetition.         */        x = nInputs;        y = target_block_size - nInputs;        current_input_size = nInputs;        if (y <= 1) {            memcpy(temp_output_vector, temp_input, nInputs*sizeof(int));            output_size = nInputs;        }        while (y > 1) {            z = (int)ceil((double)x/(double)y);            k = x / z;            l = 0;            /*             * Repeat every z'th bit.             */            for (i=0; i < current_input_size; i++) {                if ((i % z) != (z-1)) {                    temp_int_vector[l++] = temp_input[i];                } else {                    temp_int_vector[l++] = temp_input[i];                    temp_int_vector[l++] = temp_input[i];                }            }            x -= k;            y -= k;            memcpy(temp_output_vector, temp_int_vector, sizeof(int)*l);            output_size = l;            temp_input = temp_output_vector;            current_input_size = l;        } /* while */        if (y == 1) {            output_size += 1;            outData[0] = temp_output_vector[0];            out_ptr = &(outData[1]);        } else {            out_ptr = outData;        }        memcpy(out_ptr, temp_output_vector, sizeof(int)*output_size);    } /* else for repetition */    return(0);} /* wcdma_rate_match *//* -------------------------------------------------------------------- *//* * Function:    wcdma_rate_dematch * Desc.:       Do dynamic rate dematching for uplink channels. * * Note:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区中文字幕| 91精品国产综合久久精品app | 国产成人在线视频网站| 成人av网在线| 欧美一区二区三区爱爱| 亚洲欧美日韩久久| 国产乱对白刺激视频不卡| 9191成人精品久久| 亚洲精品乱码久久久久久久久| 国产一区三区三区| 日韩欧美国产麻豆| 亚洲一二三区在线观看| 99精品欧美一区| 国产精品久线观看视频| 国产一区二区三区电影在线观看| 欧美亚洲国产一卡| 亚洲视频狠狠干| av电影天堂一区二区在线| 欧美激情在线一区二区| 国产一区二区不卡在线| 欧美大片国产精品| 美女看a上一区| 欧美精品粉嫩高潮一区二区| 亚洲韩国精品一区| 在线精品视频免费播放| 一区二区在线看| 色悠久久久久综合欧美99| 亚洲精品成a人| 99精品1区2区| 亚洲精品亚洲人成人网在线播放| 成人精品gif动图一区| 中文字幕乱码久久午夜不卡| 国产一区二区看久久| 久久亚洲一区二区三区明星换脸| 狠狠狠色丁香婷婷综合激情| 久久久久青草大香线综合精品| 亚洲午夜在线电影| 成人黄动漫网站免费app| 国产亚洲短视频| 国产成人h网站| 中文字幕一区视频| 色婷婷久久久亚洲一区二区三区 | √…a在线天堂一区| 99久久久无码国产精品| 一区二区三区日韩| 欧美人成免费网站| 麻豆国产精品官网| 国产日韩欧美a| 色欧美乱欧美15图片| 日本aⅴ亚洲精品中文乱码| 欧美成va人片在线观看| 国产精品1024久久| 亚洲精品免费电影| 4hu四虎永久在线影院成人| 黄色日韩网站视频| 欧美一区二区国产| 自拍偷拍欧美激情| 欧美色图天堂网| 麻豆91在线看| 国产精品丝袜一区| 欧美乱妇23p| 激情五月激情综合网| 亚洲色图欧美偷拍| 日韩一区二区在线观看| 国产成人精品午夜视频免费| 一区二区三区资源| 欧美精品一区二区高清在线观看| 国产黄人亚洲片| 亚洲二区在线视频| 中文字幕av不卡| 91麻豆精品国产无毒不卡在线观看| 国产一区二区日韩精品| 午夜视频久久久久久| 久久精品一区二区三区不卡牛牛 | 韩国女主播一区| 亚洲最色的网站| 国产欧美一区二区在线| 欧美日本国产视频| 91麻豆123| 国产黄色成人av| 青草av.久久免费一区| |精品福利一区二区三区| 欧美精品一区二区三区高清aⅴ | 国产精品白丝在线| 日韩欧美在线网站| 色狠狠色噜噜噜综合网| 国产成人日日夜夜| 另类中文字幕网| 一区二区三区精品在线| 国产精品久久久久久久久久久免费看 | 成人理论电影网| 美国十次了思思久久精品导航| 一区二区三区在线观看网站| 中文字幕国产精品一区二区| 欧美一级精品在线| 欧美日韩国产综合一区二区| 91色porny在线视频| 成人av资源下载| 国产精品一区二区在线播放| 奇米精品一区二区三区在线观看| 亚洲精品国产无天堂网2021 | 精品国产乱码久久久久久浪潮| 欧洲国内综合视频| 91在线视频在线| av在线不卡免费看| av亚洲产国偷v产偷v自拍| 国产美女av一区二区三区| 极品少妇xxxx精品少妇| 久久精品999| 国产一区二区三区黄视频| 开心九九激情九九欧美日韩精美视频电影 | 国产精品天天摸av网| 日本一区二区三区四区| 国产欧美日韩精品一区| 国产精品无圣光一区二区| 国产精品国模大尺度视频| 国产精品福利一区| 亚洲欧美经典视频| 亚洲一区二区在线播放相泽| 香蕉久久一区二区不卡无毒影院| 亚洲成人tv网| 日本成人在线视频网站| 韩国欧美一区二区| www.激情成人| 91国模大尺度私拍在线视频| 欧美日韩一二区| 欧美电影免费观看高清完整版在 | 亚洲人成小说网站色在线| 91网上在线视频| 99久久久国产精品| 波波电影院一区二区三区| 国产高清在线观看免费不卡| 国产成人自拍网| 色综合久久久久综合| 欧美性一区二区| 精品福利一二区| 日本一区二区三区四区| 亚洲欧美福利一区二区| 日韩国产欧美在线播放| 亚洲va天堂va国产va久| 欧美成人a在线| 国产精品国产三级国产有无不卡 | 国模套图日韩精品一区二区| 国产精品一区在线观看乱码| 91免费视频网| 欧美一区二区三区免费在线看| 2021国产精品久久精品| 中文字幕中文字幕在线一区 | 成人高清视频免费观看| 91精品办公室少妇高潮对白| 欧美一区日韩一区| 国产精品沙发午睡系列990531| 亚洲综合丁香婷婷六月香| 久久精品国产免费看久久精品| 大陆成人av片| 欧美肥妇free| 欧美激情在线观看视频免费| 亚洲福中文字幕伊人影院| 成人久久视频在线观看| 制服丝袜一区二区三区| 国产精品久久久久久久久久久免费看| 午夜精品福利久久久| 国产成人综合视频| 欧美一级夜夜爽| 1区2区3区国产精品| 久色婷婷小香蕉久久| 在线视频一区二区免费| 国产欧美在线观看一区| 奇米一区二区三区| 在线这里只有精品| 国产精品欧美久久久久一区二区| 日韩和的一区二区| 97成人超碰视| 中文字幕不卡的av| 韩国欧美国产一区| 日韩女优毛片在线| 亚洲成人免费看| 一本一道久久a久久精品综合蜜臀| 久久免费看少妇高潮| 日本不卡一二三| 欧美日韩欧美一区二区| 亚洲黄色片在线观看| caoporm超碰国产精品| 国产婷婷一区二区| 九九**精品视频免费播放| 欧美日韩亚洲另类| 亚洲最新在线观看| 在线视频一区二区免费| 亚洲宅男天堂在线观看无病毒| 99这里只有久久精品视频| 久久精品一区二区三区av| 黄页网站大全一区二区| 26uuu国产电影一区二区| 久色婷婷小香蕉久久| 欧美成人激情免费网| 日本欧美韩国一区三区| 7777精品伊人久久久大香线蕉经典版下载 | 国产成人av电影免费在线观看| 日韩三级中文字幕| 麻豆精品国产传媒mv男同|