采用13折线A律编码,输入信号取值范围为,最小量化间隔为1个量化单位,若编码器输出的8位PCM码字已知,量化误差已知,如何计算抽样信号的幅度?
时间: 2024-04-01 17:33:14 浏览: 29
13折线A律编码器的输入范围为-2048到2047,最小量化间隔为1个量化单位,因此可以将编码器输出的8位PCM码字转换为对应的A律编码,然后根据A律编码的解码公式计算出量化前的幅度值。
A律编码的解码公式为:
$X = sgn(Y) \frac{(1 + A|Y|)^{\frac{1}{A}} - 1}{A+1}$
其中,$X$为量化前的幅度值,$sgn(Y)$为符号函数,$|Y|$为编码后的码字的绝对值,$A$为A律编码的压缩因子。
对于已知的编码器输出的8位PCM码字和量化误差,可以先将PCM码字转换为对应的A律编码,然后加上量化误差,得到修正后的A律编码,再根据解码公式计算出量化前的幅度值即可。
相关问题
20、 已知输入抽样脉冲值为-477 个量化单位,采用 13 折线 A 律 PCM 编码,则此时编码器的输出码组为 ,量化误差为个量化单位。
根据题意,已知输入抽样脉冲值为-477个量化单位,采用13折线A律PCM编码。首先需要将输入信号进行量化,得到量化近似值。由于采用了13折线A律PCM编码,因此需要先对量化近似值进行A律压缩,然后再进行PCM编码。
对于A律压缩,可以使用如下的公式计算:
f(x) = \operatorname{sign}(x) \frac{A}{1 + \ln(A)} \ln(1 + \frac{|x|}{B})
其中,A为压缩因子,B为量化步长。根据题目所给的条件,可以得到A为87.6,B为32个量化单位。带入公式中,可以得到:
f(-477) = \operatorname{sign}(-477) \frac{87.6}{1 + \ln(87.6)} \ln(1 + \frac{|-477|}{32}) = -93
因此,量化近似值为-93个量化单位。接下来,需要对量化近似值进行PCM编码。由于采用了13折线编码,因此输出码组为4位二进制数。根据量化近似值和量化步长的关系,可以得到量化区间为-480~480个量化单位,共计961个区间。因此,需要使用10位二进制数表示量化区间编号。然后,再将量化近似值减去量化区间的中心值,得到余量,并将余量进行PCM编码。
量化区间编号可以用如下的公式计算:
Q_i = \lfloor \frac{f(x) + 480}{960} \rfloor
其中,\lfloor x \rfloor表示取x的整数部分。带入上面的公式,可以得到:
Q_i = \lfloor \frac{-93 + 480}{960} \rfloor = 0
余量可以用如下的公式计算:
d_i = f(x) + 480 - (2i + 1) \frac{960}{2^4}
其中,i为量化区间编号。带入上面的公式,可以得到:
d_0 = -93 + 480 - (2 \times 0 + 1) \times \frac{960}{2^4} = -29
将量化区间编号和余量进行PCM编码,可以得到输出码组为0001,量化误差为4个量化单位。
当输入抽样值为+1270个量化单位时,采用逐次比较型编码器,按照13折线A律特性编码,并求量化误差。
假设量化器的量化间隔为 $\Delta = 1$,即量化单位为 1 个量化间隔。
根据 A 律特性,将输入信号的绝对值除以 $2^{13} - 1$,并乘以 $2$ 的幂次方,得到对应的编码值,即:
$$
\begin{aligned}
&\text{当} |x| < \frac{1}{2}(2^{13} - 1) \times \frac{1}{2^7} = 63.5\text{ 时,}\\
&\quad \text{若 }x > 0\text{,则编码为 }(x + 0.5) \times 2^7 - 1\text{;}\\
&\quad \text{若 }x < 0\text{,则编码为 }-(|x| + 0.5) \times 2^7 + 1\text{。}\\
&\text{当} |x| \geq 63.5\text{ 时,}\\
&\quad \text{若 }x > 0\text{,则编码为 }2^{13} - 1\text{;}\\
&\quad \text{若 }x < 0\text{,则编码为 }-2^{13} + 1\text{。}
\end{aligned}
$$
将输入抽样值 $x = 1270$ 代入上式,可得:
$$
\begin{aligned}
&\text{编码为 }(1270 + 0.5) \times 2^7 - 1 = 162303\text{。}\\
&\text{量化误差为 }e = x - \text{解码值} = 1270 - \text{解码值}\text{。}
\end{aligned}
$$
解码过程即为将编码值除以 $2^7$,并根据正负号恢复原信号的符号,即:
若编码值 $\geq 0$,则解码值为 $(\text{编码值} + 1) / 2^7 - 0.5$;若编码值 $< 0$,则解码值为 $(\text{编码值} - 1) / 2^7 + 0.5$。
将编码值 $162303$ 代入上式,可得解码值为 $1268.5$,因此量化误差为 $e = 1270 - 1268.5 = 1.5$ 个量化单位。