Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
80d5c5aa
提交
80d5c5aa
authored
12月 14, 2011
作者:
Steve Underwood
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Some tweaks to the V.22bis modem, so it builds OK in a fixed point build
上级
cc08b939
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
311 行增加
和
157 行删除
+311
-157
v22bis.h
libs/spandsp/src/spandsp/private/v22bis.h
+24
-23
v22bis.h
libs/spandsp/src/spandsp/v22bis.h
+4
-0
v22bis_rx.c
libs/spandsp/src/v22bis_rx.c
+178
-76
v22bis_tx.c
libs/spandsp/src/v22bis_tx.c
+105
-58
没有找到文件。
libs/spandsp/src/spandsp/private/v22bis.h
浏览文件 @
80d5c5aa
...
@@ -26,10 +26,10 @@
...
@@ -26,10 +26,10 @@
#if !defined(_SPANDSP_PRIVATE_V22BIS_H_)
#if !defined(_SPANDSP_PRIVATE_V22BIS_H_)
#define _SPANDSP_PRIVATE_V22BIS_H_
#define _SPANDSP_PRIVATE_V22BIS_H_
/*! The
number of steps to the left and to the right of the target position in the equalizer buffer.
*/
/*! The
length of the equalizer buffer
*/
#define V22BIS_EQUALIZER_LEN 7
#define V22BIS_EQUALIZER_LEN
1
7
/*!
One less than a power of 2 >= (2*V22BIS_EQUALIZER_LEN + 1)
*/
/*!
Samples before the target position in the equalizer buffer
*/
#define V22BIS_EQUALIZER_
MASK 15
#define V22BIS_EQUALIZER_
PRE_LEN 8
/*! The number of taps in the transmit pulse shaping filter */
/*! The number of taps in the transmit pulse shaping filter */
#define V22BIS_TX_FILTER_STEPS 9
#define V22BIS_TX_FILTER_STEPS 9
...
@@ -99,9 +99,9 @@ struct v22bis_state_s
...
@@ -99,9 +99,9 @@ struct v22bis_state_s
/* Receive section */
/* Receive section */
struct
struct
{
{
#if defined(SPANDSP_USE_FIXED_POINT
x
)
#if defined(SPANDSP_USE_FIXED_POINT)
/*! \brief The scaling factor accessed by the AGC algorithm. */
/*! \brief The scaling factor accessed by the AGC algorithm. */
floa
t
agc_scaling
;
int16_
t
agc_scaling
;
/*! \brief The root raised cosine (RRC) pulse shaping filter buffer. */
/*! \brief The root raised cosine (RRC) pulse shaping filter buffer. */
int16_t
rrc_filter
[
V22BIS_RX_FILTER_STEPS
];
int16_t
rrc_filter
[
V22BIS_RX_FILTER_STEPS
];
#else
#else
...
@@ -131,15 +131,14 @@ struct v22bis_state_s
...
@@ -131,15 +131,14 @@ struct v22bis_state_s
uint32_t
carrier_phase
;
uint32_t
carrier_phase
;
/*! \brief The update rate for the phase of the carrier (i.e. the DDS increment). */
/*! \brief The update rate for the phase of the carrier (i.e. the DDS increment). */
int32_t
carrier_phase_rate
;
int32_t
carrier_phase_rate
;
#if defined(SPANDSP_USE_FIXED_POINT)
#if defined(SPANDSP_USE_FIXED_POINTx)
/*! \brief A measure of how much mismatch there is between the real constellation,
/*! \brief A measure of how much mismatch there is between the real constellation,
and the decoded symbol positions. */
and the decoded symbol positions. */
floa
t
training_error
;
int32_
t
training_error
;
/*! \brief The proportional part of the carrier tracking filter. */
/*! \brief The proportional part of the carrier tracking filter. */
floa
t
carrier_track_p
;
int32_
t
carrier_track_p
;
/*! \brief The integral part of the carrier tracking filter. */
/*! \brief The integral part of the carrier tracking filter. */
floa
t
carrier_track_i
;
int32_
t
carrier_track_i
;
#else
#else
/*! \brief A measure of how much mismatch there is between the real constellation,
/*! \brief A measure of how much mismatch there is between the real constellation,
and the decoded symbol positions. */
and the decoded symbol positions. */
...
@@ -166,20 +165,20 @@ struct v22bis_state_s
...
@@ -166,20 +165,20 @@ struct v22bis_state_s
int
constellation_state
;
int
constellation_state
;
#if defined(SPANDSP_USE_FIXED_POINT
x
)
#if defined(SPANDSP_USE_FIXED_POINT)
/*! \brief The current delta factor for updating the equalizer coefficients. */
/*! \brief The current delta factor for updating the equalizer coefficients. */
floa
t
eq_delta
;
int16_
t
eq_delta
;
/*! \brief The adaptive equalizer coefficients. */
/*! \brief The adaptive equalizer coefficients. */
complexi
_t
eq_coeff
[
2
*
V22BIS_EQUALIZER_LEN
+
1
];
complexi
16_t
eq_coeff
[
V22BIS_EQUALIZER_LEN
];
/*! \brief The equalizer signal buffer. */
/*! \brief The equalizer signal buffer. */
complexi
_t
eq_buf
[
V22BIS_EQUALIZER_MASK
+
1
];
complexi
16_t
eq_buf
[
V22BIS_EQUALIZER_LEN
];
#else
#else
/*! \brief The current delta factor for updating the equalizer coefficients. */
/*! \brief The current delta factor for updating the equalizer coefficients. */
float
eq_delta
;
float
eq_delta
;
/*! \brief The adaptive equalizer coefficients. */
/*! \brief The adaptive equalizer coefficients. */
complexf_t
eq_coeff
[
2
*
V22BIS_EQUALIZER_LEN
+
1
];
complexf_t
eq_coeff
[
V22BIS_EQUALIZER_LEN
];
/*! \brief The equalizer signal buffer. */
/*! \brief The equalizer signal buffer. */
complexf_t
eq_buf
[
V22BIS_EQUALIZER_
MASK
+
1
];
complexf_t
eq_buf
[
V22BIS_EQUALIZER_
LEN
];
#endif
#endif
/*! \brief Current offset into the equalizer buffer. */
/*! \brief Current offset into the equalizer buffer. */
int
eq_step
;
int
eq_step
;
...
@@ -205,20 +204,22 @@ struct v22bis_state_s
...
@@ -205,20 +204,22 @@ struct v22bis_state_s
/* Transmit section */
/* Transmit section */
struct
struct
{
{
#if defined(SPANDSP_USE_FIXED_POINT
x
)
#if defined(SPANDSP_USE_FIXED_POINT)
/*! \brief The guard tone level. */
/*! \brief The guard tone level. */
float
guard_level
;
int16_t
guard_tone_gain
;
/*! \brief The gain factor needed to achieve the specified output power. */
/*! \brief The gain factor needed to achieve the specified output power. */
floa
t
gain
;
int16_
t
gain
;
/*! \brief The root raised cosine (RRC) pulse shaping filter buffer. */
/*! \brief The root raised cosine (RRC) pulse shaping filter buffer. */
complexf_t
rrc_filter
[
2
*
V22BIS_TX_FILTER_STEPS
];
int16_t
rrc_filter_re
[
V22BIS_TX_FILTER_STEPS
];
int16_t
rrc_filter_im
[
V22BIS_TX_FILTER_STEPS
];
#else
#else
/*! \brief The guard tone level. */
/*! \brief The guard tone level. */
float
guard_
level
;
float
guard_
tone_gain
;
/*! \brief The gain factor needed to achieve the specified output power. */
/*! \brief The gain factor needed to achieve the specified output power. */
float
gain
;
float
gain
;
/*! \brief The root raised cosine (RRC) pulse shaping filter buffer. */
/*! \brief The root raised cosine (RRC) pulse shaping filter buffer. */
complexf_t
rrc_filter
[
2
*
V22BIS_TX_FILTER_STEPS
];
float
rrc_filter_re
[
V22BIS_TX_FILTER_STEPS
];
float
rrc_filter_im
[
V22BIS_TX_FILTER_STEPS
];
#endif
#endif
/*! \brief Current offset into the RRC pulse shaping filter buffer. */
/*! \brief Current offset into the RRC pulse shaping filter buffer. */
...
...
libs/spandsp/src/spandsp/v22bis.h
浏览文件 @
80d5c5aa
...
@@ -86,7 +86,11 @@ SPAN_DECLARE_NONSTD(int) v22bis_rx_fillin(v22bis_state_t *s, int len);
...
@@ -86,7 +86,11 @@ SPAN_DECLARE_NONSTD(int) v22bis_rx_fillin(v22bis_state_t *s, int len);
\brief Get a snapshot of the current equalizer coefficients.
\brief Get a snapshot of the current equalizer coefficients.
\param coeffs The vector of complex coefficients.
\param coeffs The vector of complex coefficients.
\return The number of coefficients in the vector. */
\return The number of coefficients in the vector. */
#if defined(SPANDSP_USE_FIXED_POINT)
SPAN_DECLARE
(
int
)
v22bis_rx_equalizer_state
(
v22bis_state_t
*
s
,
complexi16_t
**
coeffs
);
#else
SPAN_DECLARE
(
int
)
v22bis_rx_equalizer_state
(
v22bis_state_t
*
s
,
complexf_t
**
coeffs
);
SPAN_DECLARE
(
int
)
v22bis_rx_equalizer_state
(
v22bis_state_t
*
s
,
complexf_t
**
coeffs
);
#endif
/*! Get the current received carrier frequency.
/*! Get the current received carrier frequency.
\param s The modem context.
\param s The modem context.
...
...
libs/spandsp/src/v22bis_rx.c
浏览文件 @
80d5c5aa
差异被折叠。
点击展开。
libs/spandsp/src/v22bis_tx.c
浏览文件 @
80d5c5aa
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论