单片机入门生
从工程角度说,别想一步到位。建议先用16位定点(1位符号+4位整数+11位小数)整体实现一版,功能跑通后再优化。
DCT变换可以用现成的IP核或者查表法。量化阶段注意除法转移位:把量化步长的倒数预先算好存成定点数,乘法代替除法。
控制精度损失的关键是监控溢出和截断误差。每个模块加断言,仿真时检查信号是否超出位宽范围。
评估PSNR的简单方法:用FPGA压缩一张标准测试图(比如Lena),将压缩后的数据读回电脑,和软件JPEG结果对比。如果PSNR低于30dB,就增加小数位宽重新综合。
常见坑:忘记有符号数处理、移位导致符号位丢失、中间结果位宽不够。记得用$signed()包裹运算。
