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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? v22bis.h

?? 傳真通信V27 V29 V17 T38解調(diào)與解碼
?? H
字號(hào):
/* * SpanDSP - a series of DSP components for telephony * * v22bis.h - ITU V.22bis modem receive part * * Written by Steve Underwood <steveu@coppice.org> * * Copyright (C) 2004 Steve Underwood * * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id: v22bis.h,v 1.23 2007/04/10 16:12:20 steveu Exp $ *//*! \file *//*! \page v22bis_page The V.22bis modem\section v22bis_page_sec_1 What does it do?The V.22bis modem is a duplex modem for general data use on the PSTN, at ratesof 1200 and 2400 bits/second. It is a compatible extension of the V.22 modem,which is a 1200 bits/second only design. It is a band-split design, using carriersof 1200Hz and 2400Hz. It is the fastest PSTN modem in general use which does notuse echo-cancellation.\section v22bis__page_sec_2 How does it work?V.22bis uses 4PSK modulation at 1200 bits/second or 16QAM modulation at 2400bits/second. At 1200bps the symbols are so long that a fixed compromise equaliseris sufficient to recover the 4PSK signal reliably. At 2400bps an adaptiveequaliser is necessary.The V.22bis training sequence includes sections which allow the modems to determineif the far modem can support (or is willing to support) 2400bps operation. Themodems will automatically use 2400bps if both ends are willing to use that speed,or 1200bps if one or both ends to not acknowledge that 2400bps is OK.*/#if !defined(_V22BIS_H_)#define _V22BIS_H_#define V22BIS_EQUALIZER_LEN    7  /* this much to the left and this much to the right */#define V22BIS_EQUALIZER_MASK   15 /* one less than a power of 2 >= (2*V22BIS_EQUALIZER_LEN + 1) */#define V22BIS_TX_FILTER_STEPS  9#define V22BIS_RX_FILTER_STEPS  37/*!    V.22bis modem receive side descriptor. This defines the working state for a    single instance of a V.22bis modem receiver.*/typedef struct{    /*! \brief The bit rate of the modem. Valid values are 1200 and 2400. */    int bit_rate;    /*! \brief TRUE is this is the calling side modem. */    int caller;    /*! \brief The callback function used to put each bit received. */    put_bit_func_t put_bit;    /*! \brief The callback function used to get the next bit to be transmitted. */    get_bit_func_t get_bit;    /*! \brief A user specified opaque pointer passed to the callback routines. */    void *user_data;    /* RECEIVE SECTION */    /*! \brief A callback function which may be enabled to report every symbol's               constellation position. */    qam_report_handler_t *qam_report;    /*! \brief A user specified opaque pointer passed to the qam_report callback               routine. */    void *qam_user_data;    /*! \brief The route raised cosine (RRC) pulse shaping filter buffer. */    float rx_rrc_filter[2*V22BIS_RX_FILTER_STEPS];    /*! \brief Current offset into the RRC pulse shaping filter buffer. */    int rx_rrc_filter_step;    /*! \brief The register for the data scrambler. */    unsigned int rx_scramble_reg;    /*! \brief A counter for the number of consecutive bits of repeating pattern through               the scrambler. */    int rx_scrambler_pattern_count;    /*! \brief 0 if receiving user data. A training stage value during training */    int rx_training;    int rx_training_count;    float training_error;    /*! \brief >0 if a signal above the minimum is present. It may or may not be a V.22bis signal. */    int signal_present;    /*! \brief The current phase of the carrier (i.e. the DDS parameter). */    uint32_t rx_carrier_phase;    /*! \brief The update rate for the phase of the carrier (i.e. the DDS increment). */    int32_t rx_carrier_phase_rate;    float carrier_track_p;    float carrier_track_i;    power_meter_t rx_power;    int32_t carrier_on_power;    int32_t carrier_off_power;    float agc_scaling;        int rx_constellation_state;    float eq_delta;    /*! \brief The adaptive equalizer coefficients */    complexf_t eq_coeff[2*V22BIS_EQUALIZER_LEN + 1];    complexf_t eq_buf[V22BIS_EQUALIZER_MASK + 1];    /*! \brief Current offset into equalizer buffer. */    int eq_step;    int eq_put_step;    /*! \brief Integration variable for damping the Gardner algorithm tests. */    int gardner_integrate;    /*! \brief Current step size of Gardner algorithm integration. */    int gardner_step;    /*! \brief The total symbol timing correction since the carrier came up.               This is only for performance analysis purposes. */    int total_baud_timing_correction;    /*! \brief The current fractional phase of the baud timing. */    int rx_baud_phase;        int sixteen_way_decisions;    /* TRANSMIT SECTION */    /*! \brief The gain factor needed to achieve the specified output power. */    float tx_gain;    /*! \brief The route raised cosine (RRC) pulse shaping filter buffer. */    complexf_t tx_rrc_filter[2*V22BIS_TX_FILTER_STEPS];    /*! \brief Current offset into the RRC pulse shaping filter buffer. */    int tx_rrc_filter_step;    /*! \brief The register for the data scrambler. */    unsigned int tx_scramble_reg;    /*! \brief A counter for the number of consecutive bits of repeating pattern through               the scrambler. */    int tx_scrambler_pattern_count;    /*! \brief 0 if transmitting user data. A training stage value during training */    int tx_training;    /*! \brief A counter used to track progress through sending the training sequence. */    int tx_training_count;    /*! \brief The current phase of the carrier (i.e. the DDS parameter). */    uint32_t tx_carrier_phase;    /*! \brief The update rate for the phase of the carrier (i.e. the DDS increment). */    int32_t tx_carrier_phase_rate;    /*! \brief The current phase of the guard tone (i.e. the DDS parameter). */    uint32_t guard_phase;    /*! \brief The update rate for the phase of the guard tone (i.e. the DDS increment). */    int32_t guard_phase_rate;    float guard_level;    /*! \brief The current fractional phase of the baud timing. */    int tx_baud_phase;    /*! \brief The code number for the current position in the constellation. */    int tx_constellation_state;    /*! \brief An indicator to mark that we are tidying up to stop transmission. */    int shutdown;    /*! \brief The get_bit function in use at any instant. */    get_bit_func_t current_get_bit;        int detected_unscrambled_ones;    int detected_unscrambled_zeros;    int detected_unscrambled_ones_or_zeros;    int detected_unscrambled_0011_ending;    int detected_scrambled_ones_or_zeros_at_1200bps;    int detected_scrambled_ones_at_2400bps;    /*! \brief Error and flow logging control */    logging_state_t logging;} v22bis_state_t;extern const complexf_t v22bis_constellation[16];#ifdef __cplusplusextern "C"{#endif/*! Reinitialise an existing V.22bis modem receive context.    \brief Reinitialise an existing V.22bis modem receive context.    \param s The modem context.    \param rate The bit rate of the modem. Valid values are 1200 and 2400.    \return 0 for OK, -1 for bad parameter */int v22bis_rx_restart(v22bis_state_t *s, int bit_rate);/*! Process a block of received V.22bis modem audio samples.    \brief Process a block of received V.22bis modem audio samples.    \param s The modem context.    \param amp The audio sample buffer.    \param len The number of samples in the buffer.    \return The number of samples unprocessed. */int v22bis_rx(v22bis_state_t *s, const int16_t amp[], int len);/*! Get a snapshot of the current equalizer coefficients.    \brief Get a snapshot of the current equalizer coefficients.    \param coeffs The vector of complex coefficients.    \return The number of coefficients in the vector. */int v22bis_rx_equalizer_state(v22bis_state_t *s, complexf_t **coeffs);/*! Get the current received carrier frequency.    \param s The modem context.    \return The frequency, in Hertz. */float v22bis_rx_carrier_frequency(v22bis_state_t *s);/*! Get the current symbol timing correction since startup.    \param s The modem context.    \return The correction. */float v22bis_rx_symbol_timing_correction(v22bis_state_t *s);/*! Get a current received signal power.    \param s The modem context.    \return The signal power, in dBm0. */float v22bis_rx_signal_power(v22bis_state_t *s);/*! Set a handler routine to process QAM status reports    \param s The modem context.    \param handler The handler routine.    \param user_data An opaque pointer passed to the handler routine. */void v22bis_rx_set_qam_report_handler(v22bis_state_t *s, qam_report_handler_t *handler, void *user_data);/*! Generate a block of V.22bis modem audio samples.    \brief Generate a block of V.22bis modem audio samples.    \param s The modem context.    \param amp The audio sample buffer.    \param len The number of samples to be generated.    \return The number of samples actually generated. */int v22bis_tx(v22bis_state_t *s, int16_t amp[], int len);/*! Adjust a V.22bis modem transmit context's power output.    \brief Adjust a V.22bis modem transmit context's output power.    \param s The modem context.    \param power The power level, in dBm0 */void v22bis_tx_power(v22bis_state_t *s, float power);/*! Reinitialise an existing V.22bis modem context, so it may be reused.    \brief Reinitialise an existing V.22bis modem context.    \param s The modem context.    \param bit_rate The bit rate of the modem. Valid values are 1200 and 2400.    \return 0 for OK, -1 for bad parameter. */int v22bis_restart(v22bis_state_t *s, int bit_rate);/*! Initialise a V.22bis modem context. This must be called before the first    use of the context, to initialise its contents.    \brief Initialise a V.22bis modem context.    \param s The modem context.    \param bit_rate The bit rate of the modem. Valid values are 1200 and 2400.    \param guard The guard tone option. 0 = none, 1 = 550Hz, 2 = 1800Hz.    \param caller TRUE if this is the calling modem.    \param get_bit The callback routine used to get the data to be transmitted.    \param put_bit The callback routine used to get the data to be transmitted.    \param user_data An opaque pointer, passed in calls to the get and put routines.    \return A pointer to the modem context, or NULL if there was a problem. */v22bis_state_t *v22bis_init(v22bis_state_t *s,                            int bit_rate,                            int guard,                            int caller,                            get_bit_func_t get_bit,                            put_bit_func_t put_bit,                            void *user_data);/*! Change the get_bit function associated with a V.2bis modem context.    \brief Change the get_bit function associated with a V.22bis modem context.    \param s The modem context.    \param get_bit The callback routine used to get the data to be transmitted.    \param user_data An opaque pointer. */void v22bis_set_get_bit(v22bis_state_t *s, get_bit_func_t get_bit, void *user_data);/*! Change the get_bit function associated with a V.2bis modem context.    \brief Change the put_bit function associated with a V.22bis modem context.    \param s The modem context.    \param put_bit The callback routine used to process the data received.    \param user_data An opaque pointer. */void v22bis_set_put_bit(v22bis_state_t *s, put_bit_func_t put_bit, void *user_data);#ifdef __cplusplus}#endif#endif/*- End of file ------------------------------------------------------------*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩高清av| 欧美精品一二三| 丝瓜av网站精品一区二区| 欧美成人乱码一区二区三区| 成人动漫一区二区三区| 午夜a成v人精品| 国产精品黄色在线观看| 日韩一区二区三区高清免费看看| 97成人超碰视| 国产在线不卡一卡二卡三卡四卡| 亚洲成av人片在线观看| 国产精品久久影院| 久久久久久久av麻豆果冻| 欧美区在线观看| 91黄色小视频| 成人av资源在线| 国产精品一品二品| 日本不卡不码高清免费观看 | 亚洲国产精品av| 欧美高清视频www夜色资源网| 不卡在线视频中文字幕| 国内成+人亚洲+欧美+综合在线| 亚洲一区av在线| 日韩美女啊v在线免费观看| 久久伊人蜜桃av一区二区| 欧美一区二区网站| 欧美日韩精品专区| 日本福利一区二区| 91丨九色丨蝌蚪丨老版| 国产精品伊人色| 狠狠狠色丁香婷婷综合久久五月| 日韩av不卡一区二区| 亚洲成人免费影院| 亚洲成人激情自拍| 一二三区精品视频| 亚洲伊人色欲综合网| 亚洲欧美色图小说| 亚洲另类中文字| 最新日韩av在线| 国产精品成人一区二区三区夜夜夜| 久久这里只精品最新地址| 欧美va在线播放| 欧美va亚洲va在线观看蝴蝶网| 日韩一区二区三区四区| 欧美一级视频精品观看| 欧美日韩一级片在线观看| 91官网在线免费观看| 欧洲色大大久久| 在线观看视频一区二区欧美日韩| 欧美在线免费视屏| 精品视频一区三区九区| 欧美高清视频不卡网| 欧美一区二区在线视频| 日韩欧美国产wwwww| 欧美第一区第二区| 久久精品水蜜桃av综合天堂| 国产视频一区在线观看 | 亚洲一区二区三区爽爽爽爽爽| 亚洲精品视频在线看| 亚洲精品高清在线| 视频在线观看一区| 美女诱惑一区二区| 国产剧情一区二区| 99在线精品一区二区三区| 91麻豆福利精品推荐| 欧美日韩三级视频| 日韩欧美高清在线| 欧美极品aⅴ影院| 亚洲精品免费看| 无吗不卡中文字幕| 狠狠色综合播放一区二区| 成人h动漫精品| 欧美亚洲高清一区二区三区不卡| 91精品在线免费观看| 久久在线免费观看| 亚洲人123区| 美女被吸乳得到大胸91| 丁香网亚洲国际| 欧美色视频在线| xfplay精品久久| 亚洲欧美国产高清| 日本视频免费一区| 成人黄色av网站在线| 欧美日本不卡视频| 国产三区在线成人av| 亚洲国产综合视频在线观看| 激情六月婷婷久久| 欧美亚洲免费在线一区| 久久综合久色欧美综合狠狠| 亚洲色图视频免费播放| 麻豆传媒一区二区三区| 成人av在线资源网| 日韩三级免费观看| 一区二区三区四区中文字幕| 精品在线观看免费| 欧洲一区二区三区在线| 久久精品水蜜桃av综合天堂| 亚洲成va人在线观看| 成人h精品动漫一区二区三区| 欧美美女黄视频| 国产精品久久久久久久久免费相片| 日一区二区三区| 91在线porny国产在线看| 欧美一区二区大片| 亚洲综合激情网| 福利电影一区二区三区| 日韩三级在线免费观看| 亚洲一区二区三区四区不卡| 成人国产免费视频| 精品剧情v国产在线观看在线| 亚洲已满18点击进入久久| 成人免费视频国产在线观看| 欧美一二三在线| 香蕉成人伊视频在线观看| 91在线视频官网| 国产精品欧美一区二区三区| 久色婷婷小香蕉久久| 欧美日韩成人综合在线一区二区| 国产精品传媒视频| 国产成人综合自拍| 国产精品高潮呻吟| 蜜桃视频一区二区三区| 欧美日韩另类国产亚洲欧美一级| 综合精品久久久| 成人av在线电影| 国产精品人成在线观看免费 | 在线亚洲人成电影网站色www| 中文字幕巨乱亚洲| 国产精品18久久久久| 日韩欧美高清dvd碟片| 日韩在线a电影| 欧美福利一区二区| 亚洲第一搞黄网站| 欧美日韩在线综合| 一区二区三区国产精华| 色呦呦国产精品| 一区二区三区成人| 在线观看成人免费视频| 一区二区三区在线看| 91日韩精品一区| 亚洲欧美乱综合| 在线视频综合导航| 亚洲国产精品欧美一二99 | 精品国产一区二区三区忘忧草| 日韩电影在线观看电影| 欧美一区二区三区系列电影| 亚洲444eee在线观看| 欧美日韩免费一区二区三区视频| 亚洲午夜在线电影| 91精品国产综合久久久蜜臀粉嫩| 日本不卡视频在线| 精品国产一区久久| 高清视频一区二区| 亚洲欧美综合在线精品| 一本一道久久a久久精品| 亚洲一区在线看| 91精品黄色片免费大全| 极品少妇xxxx精品少妇偷拍| 国产女主播一区| 99精品国产一区二区三区不卡| 亚洲色图欧美激情| 欧美日韩电影一区| 激情综合网最新| 中文字幕一区二区视频| 日本二三区不卡| 欧美aaaaa成人免费观看视频| 精品欧美久久久| 成人av影院在线| 一区二区三区免费观看| 日韩视频免费观看高清在线视频| 国产乱对白刺激视频不卡| 亚洲青青青在线视频| 制服丝袜国产精品| 国产不卡在线一区| 亚洲一区二区三区自拍| 日韩午夜电影在线观看| 成人一区二区视频| 亚洲高清免费在线| 久久嫩草精品久久久久| 日本道色综合久久| 久久精品国产第一区二区三区| 中文字幕精品三区| 欧美日韩国产另类不卡| 国产激情一区二区三区四区 | 精品国偷自产国产一区| 成人av手机在线观看| 亚洲福利一二三区| 久久精品亚洲精品国产欧美kt∨| 色国产精品一区在线观看| 狠狠色丁香久久婷婷综合_中 | 国产一区二区免费视频| 亚洲一区在线免费观看| 久久久99精品免费观看不卡| 在线国产亚洲欧美| 国产成人一区在线| 日韩成人午夜电影| 亚洲人快播电影网| 久久午夜电影网| 在线成人免费观看| 一本色道亚洲精品aⅴ|