MATLAB频谱图绘制

MATLAB频谱图绘制

  • 引言
    • 频谱图概要
    • 频谱图绘制

引言

对光通信中采集到的中频信号进行频谱绘制,将时域信号转变为频域信号。
在开始matlab处理数据前,要将bin文件转化为mat文件。

频谱图概要

频谱图:表达频率和功率之间的关系,通常用横轴表示频率,纵轴表示功率。
频谱图在绘制过程中需要注意几个问题
(1)若频谱图横轴为点数,则点数与频率的换算关系如下:
MATLAB频谱图绘制_第1张图片
1)若求第n个点的频率,假设采了N个点,采样率为Fs,则该点对应的频率为
fn=n/NFs %Fs单位为Hz,表示每秒钟采多少个点
2)若表示所有点的频率值,则
f=(1:N)/N
Fs
(2)根据采样定理,fft能分辨的最高频率为采样率的一半(即Nyquist频率),所以函数fft返回值是以Nyqusit频率为轴对称的。上图中采样率为250MHz,因此Nyquist频率为250/2=125MHz。其次,采样的正弦载波频率为200MHz,超出了Nyquist的125MHz(过采样),因此信号折叠,表现在50MHz(图中0.5*10^4点处亮线),并关于125MHz有个对称,对称的信息完全相同,因此只看一半图即可。
下面是关于过采样的假频计算公式,k=1的时候满足条件,所以假频为50MHz。
MATLAB频谱图绘制_第2张图片

频谱图绘制

A=fft(s); %针对矩阵s做fft变换
B=abs(A); %对fft取绝对值(对复数取模)
%若信号的高频和低频部分振幅相差太大,则需要对A进行对数转换,即B=20*log10(abs(A));
imagesc(B); %绘制频谱图

你可能感兴趣的:(matlab)