主要内容

量化和合成一个指数信号

当传输高动态范围的信号时,使用等长间隔的量化会导致精度损失和信号失真。压缩是一种操作,在发送端量化之前应用对数计算来压缩信号,并在接收端应用逆运算来展开信号以将其恢复到满尺度。压缩避免了信号失真,而不需要指定许多量化级别。比较在有和没有压缩的指数信号上使用6位量化时的失真。画出原始指数信号、量子化信号和展开信号。

创建一个指数信号并计算其最大值。

Sig = exp(-4:0.1:4);V = max(sig);

用等长间隔量化信号。设置分区和码本值,假设是6位量化。计算均方失真。

Partition = 0:2^6 - 1;代码本= 0:2^6;[~,qsig,distortion] = quantiz(sig,partition,codebook);

压缩信号使用压缩扩展配置用于应用mu-law方法的函数。应用量化并展开量化信号。计算合成信号的均方失真。

Mu = 255;% mu-law参数csig_compressed = compand(sig,mu,V,“μ/压缩机”);[~,quants] = quantiz(csig_compressed,partition,codebook);Csig_expanded = compand(quants,mu,max(quants),“μ/膨胀机”);扭曲2 = sum((csig_expanded - sig).^2)/length(sig);

比较均方失真的量化与合并压缩和量化。所述合成和量化信号的失真比所述量化信号的失真低一个数量级。等长间隔很适合于指数信号的对数,但不太适合于指数信号本身。

[失真,distortion2]
ans =1×20.5348 - 0.0397

画出原始指数信号,量子化信号和展开信号。放大轴以突出较低信号水平的量化信号误差。

Plot ([sig' qsig' csig_expanded']);标题(原始信号、量化信号和扩展信号的比较);包含(“间隔”);ylabel (“Apmlitude”);传奇(“原始”“量化”“扩展”“位置”“西北”);轴([0 70 0 20])

图中包含一个轴对象。标题为比较原始信号、量化信号和扩展信号的axis对象,xlabel Interval, ylabel Apmlitude包含3个类型为line的对象。这些对象表示原始的、量化的、扩展的。

另请参阅

功能