目录
1.背景
搞通信,射频,无线,数字信号处理相关的领域都不可避免的接触dB这个单位。几乎整个通信行业都是使用对数单位,比如功率dB, dBm, dBFS, dBi.。关于这些单位的定义网上资料很多,不再赘述。此处想阐述一个问题:功率使用XdB=10*logx和电压使用 XdB=20*logx的区别。很多人搞不清什么时候20,什么时候10。其实比如信号功率变成原来的一半,则功率减小6dB。这时候其实电压变成原来的1/√2 。无论从电压还是功率角度看都是减小6dB,这样就不会出现矛盾。本小节主要使用MATLAB进行幅度谱的分贝dB表示。
2程序及原理分析
clear all; clc; close all;
fs= 1000;
N=1000;
t=(0:N-1)/fs;
f1=50;f2=65.75;
x=cos(2*pi*f1*t+pi/4)+cos(2*pi*f2*t);
X=fft(x,N)/N;
Y=fftshift(X);
freq1=(-N/2:N/2-1)*fs/N;
Y1=abs(Y);
%作图
figure
pos=get(gcf,'Position');
set(gcf,'Position',[pos(1),pos(2)-1,pos(3),pos(4)-140]);
plot(freq1,Y1,'k');grid;
xlabel('频率/Hz');ylabel('幅值');
title('线性坐标幅度值');hold on
set(gcf,'color','w');
figure
pos=get(gcf,'Position');
set(gcf,'Position',[pos(1),pos(2)-1,pos(3),pos(4)-140]);
semilogy(freq1,Y1,'k');grid;
xlabel('频率/Hz');ylabel('幅值');
title('对数坐标幅度值');hold on
set(gcf,'color','w');
figure
Y_dB=20*log10(Y1);
pos=get(gcf,'Position');
set(gcf,'Position',[pos(1),pos(2)-1,pos(3),pos(4)-140]);
plot(freq1,Y_dB,'k');grid;
xlabel('频率/Hz');ylabel('幅值');
title('分贝幅值');hold on
set(gcf,'color','w');
3.幅度谱
图 1 线性坐标幅度值
图 2对数坐标幅度值
图 3分贝幅度值
对于信号x=cos(2*pi*50*t+pi/4)+cos(2*pi*62.75*t),包括两个单音信号分别为f1 频率为50Hz,初始相位为pi/4。 f2 频率62.75Hz,初始相位为0。图1虽然峰值处很清晰,但是接近0的小信号几乎分不清大小。图2的对数形式解决了这个问题,但是每一格不等大,看着也不舒服。图3就是dB表示,我们经常频谱仪上面看到的显示的信号就是这样表示,细节和全局完美兼顾。
4.问题
问题:频谱仪中能否分辨处两个频率很近的但是幅度相差很大单音信号,受哪些过程中哪些参数影响?