基于深度学习SDF表示的仿真技术研究及SFDR仿真

SFDR是信号系统处理中常用的一项参数,对于评估系统的噪声水平和ADC/DAC的性能有一定参考意义。

SFDR,英文全称是 Spurious-Free Dynamic range,意为无杂散动态范围。SFDR是指基波强度与最大杂波或谐波的强度之比,所以SFDR值越大则说明系统的噪声水平越低,灵敏度越高。

下面我们用一个示例看下不同量化位数对SFDR的影响。

matlab代码:

close all;clear all;clc;
%%
N = 1000;                   %总采样数1000
t = -pi : 2*pi/N : pi;      %一个完整周期 

x1 = 7*sin(2*t);            %幅值7,圆频率2
% 进行定点量化
qpath = quantizer('fixed','round','saturate',[5,0]);
fix_x1 = quantize(qpath,x1);

figure;
subplot(221)
stairs(x1);title('浮点精度(double)信号');

subplot(222)
stairs(fix_x1);title('定点精度(fix5-0)信号');
%%
% 进行DFT变换,求模
X1 = abs(fft(x1));
X1 = fftshift(X1);

subplot(223)
semilogy(X1);grid on;title('浮点DFT变换结果');
X11 = abs(fft(fix_x1));
X11 = fftshift(X11);
subplot(224)
semilogy(X11);grid on;title('定点DFT变换结果');

这是运行后的结果,对比之后可以看到,double类型的正弦信号底噪极小,而经过量化之后的信号,底噪十分明显。

基于深度学习sdf表示的仿真方法 sfdr仿真_SFDR

下面计算一下浮点信号的SFDR,在Matlab中,SFDR的基本过程为加窗DFT变换,选取杂波或谐波最大值求出比率,结果单位为dB。在频率轴经过归一化,采样率1Hz。

图中黑色部分为DC信号,蓝色部分是基波信号,红色部分是杂波信号。灰色区域是SFDR计算范围。

基频信号的峰值是12.73dB,杂波的最大值是-291.4dB,二者比率为304.13dB,即是SFDR的值。

基于深度学习sdf表示的仿真方法 sfdr仿真_SFDR_02

再来计算一下经过定点量化信号的SFDR值。

基频信号的峰值是12.78dB,与浮点结果基本一致,杂波的最大值是-19.53dB,二者比率为32.31dB,远小于浮点信号的SFDR值。

基于深度学习sdf表示的仿真方法 sfdr仿真_数字信号处理_03

实际上,信号量化位数越多,信号底噪越干净,SFDR值也越大。

这是进行fix_10_5量化的结果,保留5bit小数,可以看到时间曲线已经没有明显锯齿,非常光滑。

基于深度学习sdf表示的仿真方法 sfdr仿真_数字信号处理_04

SFDR为63.94dB,大于fix_10_5的28.69dB,小于浮点数的304.14dB

基于深度学习sdf表示的仿真方法 sfdr仿真_SFDR_05

关于定点化

定点化按四舍五入进行取舍,当量化位数不够时,进行饱和处理。

定点格式[fix_w_b]表示,这是一个有符号数,总位宽w,小数位宽b。它能表示的范围为:[ -2w-b-1 + 1/2b  , +2w-b-1 - 1/2b ],分辨率为1/2b.

举例来讲[fix_5_0]能表示的范围在[-2^(5-0-1)+1,+2^(5-0-1)-1]之间,即[-15 ,+15]之间,分辨率1。

关于点数/采样频率的影响

点数越多,采样率越高则SFDR的值也越大

这是N=10000点的结果,比N=1000点时提高了5.37dB

基于深度学习sdf表示的仿真方法 sfdr仿真_浮点_06

关于噪声来源分析

从时域信号来看,相当于一个纯正弦信号乘以一个周期方波信号,在频域就是进行周期卷积。而方波包含有多次谐波,基本之后的都可以视为噪声。这些噪声,最后都通过ADC的量化过程表现出来。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空