结论
增加采样率可以使得信号的信噪比提升
公式:SNR=6.02N+1.76+10*log(fs/2B)
问题的前提
假设一个纯净的信号(不含噪声)经过一个ADC采样(ADC采用四舍五入法进行均匀量化),信号的带宽为B,采样率为Fs,我们来分析一下经过ADC的量化带来的误差
问题分析
我们所分析的噪声其实是ADC引入的量化噪声,量化噪声是指ADC在对信号进行量化的时候,信号由幅度连续变成幅度离散所无法避免的误差。如四舍五入法则相当于引入了一个概率密度分布为[-分度值/2,分度值/2]的均匀分布,数字频域上均匀分布在[-pi,pi]的均匀白高斯噪声。
由这段分析我们就得知了,这段噪声的功率只与ADC的量化字长有关,无论是否过采样信号与噪声的功率是不变的,那么信噪比应该是不变的才对。
实际上,我们所说的信噪比是指落在信号带内的信号与噪声的功率比。
过采样时,信号的数字带宽B’=B/Fs*2Pi会随着采样率的增加而变低,那么落入带外的噪声我们当然可以通过数字滤波器消除了,信噪比随之提升。
通过分析公式,将公式有对数坐标转换为线性坐标
即信噪比的提升与采样率的提升成正比,这个由上面分析很容易得出。这是因为落入带内的噪声与Fs反比,信噪比又与噪声功率成反比,则信噪比与采样率成正比。
MATLAB仿真
提升采样率前
提升采样率后
可见量化噪声水平是相同的但是,由于过采样信号的数字带宽变小所以落入带内的噪声功率变小,信噪比提高了。
matlab代码
t=0:0.01:2*pi-0.01;
ad=8;
fs=200;
over_sample=1; %采样倍数
signal=zeros(1,length(t));
for i=1:10 %生成测试信号
signal = signal+0.1*sin((fs-i*4)/over_sample*t);
end
Qs=round(signal./5*2^(ad-1));%8位ad 5v量程正负双极性 四舍五入法
Es=Qs*5/2^(ad-1);
plot(t,signal);
hold on
plot(t,Es);
figure
Esw=abs(fft(Es));
plot(abs(fft(Es)));