verilog - 将 14 位字缩放为 8 位字

标签 verilog fpga sampling uart

我正在开发一个项目,其中使用 ADC 对信号进行采样,该信号将值表示为 14 位字。我需要将值缩放为 8 位字。一般来说,解决这个问题的好方法是什么?顺便说一句,我使用的是 FPGA,所以我想通过“硬件”而不是软件解决方案来实现。另外,如果您想知道事件链将是:采样模拟信号,用 14 位字表示样本值,将 14 位字缩放为 8 位字,使用 UART 将 8 位字传输到 PC COM1。

我以前从未这样做过。我假设您使用量化级别,但我不确定此操作的有效电路是什么。任何帮助,将不胜感激。

谢谢

最佳答案

你只需要一个添加和一个转变:

val_8 = (val_14 + 32) >> 6;

(+ 32对于获得正确的舍入是必要的 - 您可以省略它,但如果这样做,您的信号中会得到更多的截断噪声。)

关于verilog - 将 14 位字缩放为 8 位字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9645017/

相关文章:

actionscript-3 - 麻烦让flashdevelop正确识别声音文件的采样率

audio - 关于录音采样率

neural-network - 在 System Verilog 中计算浮点值的 e^x?

constraints - 约束随机化,对于 16 位变量,连续 2 位设置为 1,其他位设置为 0

python - 从稀疏矩阵中轻松抽取向量,并从样本中创建一个新矩阵(python)

algorithm - 修改后的 baugh-wooley 算法乘法 verilog 代码不能正确乘法

signal-processing - 将 for 循环转换为 FPGA 的最佳方法

verilog - 在 Verilog 中赋值 : difference between assign, <= 和 =

compiler-construction - Verilog 到 GDSII 编译器(开源)

algorithm - 询问带IP核的FPGA设计