关于matlab中信号频谱图的横轴问题
看了不少论坛中的例程,matlab中也有自己的例程但是有一点不是很理解,严格来说不算是matlab的问题,有点偏信号问题了,不过很傻瓜,很基本的问题。1。
直接copy的别见怪。
fs=1024; %采样频率
N=1024; %采样点数
t=(0:N-1)/fs; %采样时间序列s
f=30; %设置信号频率Hz
x=cos(2*pi*f*t);%生成信号
subplot(211);
plot(t,x);
xlabel('t/s');
xf=fft(x,N)/N;
xf=fftshift(xf); %双边复数谱
df=fs/N; %频率分辨率Hz
%绘制双边幅值谱
f=(-N/2:N/2-1)*df; %频域序列频谱图横轴
subplot(212);
plot(f,abs(xf));
xlabel('f/Hz');
2。
有的是这样画的
t=0:N-1;
f=fs*t/N; %频谱图横轴
第一种好理解,shift之后左右交换,中心频点是0频。第二种就觉得不是很理解了,采样频率是fs,能表达的信号最高频率应该是fs/2,这样画横轴的话有一半就超界了。还是说这是双边谱和单边谱的画法不同罢了,单边谱超过fs/2的部分就是属于负频率了呢? 不知道我的理解那里有错 谢谢 问题比较傻瓜 还希望麻烦高手解惑
页:
[1]