Syslab 中如何根据正弦波绘制量化阶梯样式曲线?
技术分享
发布于 2025-07-18 09:34:28
查看 1过去319天
针对上述问题,可以使用quantiz函数:
1.生成采样正弦波:
using TyCommunication
using TyPlot
t = 0:0.1:(2 * pi)
sig = sin.(t)

2.创建量化分区:
partition = -1:0.2:1

3.指定代码集值:
codebook = -1.2:0.2:1
4.对采样的正弦波进行量化并绘图:
index, quants, _ = quantiz(sig, partition, codebook)
plot(t, sig, "x", t, quants, ".")
title("Quantization of sine wave")
xlabel("Time")
ylabel("Amplitude")
legend(["Original sampled sine wave", "Quantized sine wave"])
axis([-0.2 7 -1.2 1.2])
5.可以看到根据正弦波绘制出了量化阶梯样式的图:

6.quantiz函数的用法:
函数库: TyCommunication
语法:
index, = quantiz(sig, partition)
index, quants, = quantiz(sig, partition, codebook)
index, quants, distor = quantiz(sig, partition, codebook)
说明:
quantiz函数通过使用在输入分区中指定的标量量化分区来返回输入信号的量化级别。
示例:
using TyCommunication
samp = [-2.4, -1, -0.2, 0, 0.2, 1, 1.2, 2, 2.9, 3, 3.5, 5]
partition = [0, 1, 3]
codebook = [-1, 0.5, 2, 3]
index, quants, distor = quantiz(samp, partition, codebook)

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境