DFT分析连续时间信号频谱

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在matlab 中对信号111()cos()cos(2)s t t f t π=Ω进行采样,其中f1=1000Hz ,根据奈奎斯特采样定理,采样频率f>=2*f1,在此我们取f=3000Hz 在matlab 中仿真也好,实际中处理的信号也罢,一般都是数字信号。而采样就是将信号数字化的一个过程,设将信号s1(t)数字化得到信号s1(n)=cos(2*pi*f1/f*n),其中n=[0…N -1],N 为采样点数。

为什么说s1(n)=cos(2*pi*f1/f*n)表示以采样率f 对频率为f1的信号进行采样的结果呢? 采样,顾名思义,就是对信号隔一段时间取一个值,而隔的这段时间就是采样间隔,取其倒数就是采样率了,那们我们看s1(n)=cos(2*pi*f1/f*n),将前面的参数代入,当n=0时,s1(0)=cos(0),当n=1时,s1(1)=cos(2*pi*1000/3000*1),当n=2时,

s1(2)=cos(2*pi*1000/3000*2),当n=3时,s1(3)=cos(2*pi*1000/3000*3),这是不是想当于对信号s1(t)的一个周期内采了三个样点呢?对一个频率为1000Hz 的信号每周期采三个样点不就是相当于以3倍于频率的采样率进行采样呢?注意,当n=3时相当于下一个周期的起始了。

我们取采样点数N=64,即对64/3=21.3个周期,共计64/3/f1=21.3ms 时长。

我们在matlab 中输入以下命令:

>> n=0:63;

>> f1=1000;f=3000;

>> s1=cos(2*pi*f1/f*n);

>> plot(abs(fft(s1)));

010203040506070

图1 信号频谱

下面引入一个新的概念:频率分辨率

频率分辩率是指频域取样中两相邻点间的频率间隔。更确切的说是如果某一信号含有两个频率成分f1和f2,Of=|f2-f1|,频率分辨率的概念是如果频率分辨率大于Of,对信号进行谱分析后将不能识别出其含有两个频率成分,这两个频率将混叠在一起。

现在我们设定信号s(t)=cos(w1*t)+sin(w2*t),其中w1=2*pi*1000,w2=2*pi*1100

在matlab中输入以下命令计算其频谱:

>> n=0:63;

>> f1=1000;f2=1100;f=3000;

>> s5=cos(2*pi*f1/f*n)+sin(2*pi*f2/f*n);

>> plot(abs(fft(s5)));

>> f1=1000;f2=1100;f=3000;

>> s=cos(2*pi*f1/f*n)+sin(2*pi*f2/f*n);

>> plot(abs(fft(s)));

0510152025

05

10

15

图3采用点数为24,抽样频率为3k 信号频谱

第二种尝试:采样率fs 升为8000Hz ,即满足奈奎斯特采样定理,大于信号s(t)的最高频率分量1100Hz 的两倍,采样点个数N 不变,仍为64个,在matlab 中输入以下命令: >> n=0:63;

>> f1=1000;f2=1100;f=8000;

>> s=cos(2*pi*f1/f*n)+sin(2*pi*f2/f*n);

>> plot(abs(fft(s)));

010203040506070

图4 采用点数为64,抽样频率为8k 信号频谱

由图3、图4,图5可以看出,这三种尝试虽然满足奈奎斯特采样定理,但都不能分辨出两个频率分量,用前面的理论知识可以作如下分析:

第一种尝试的频率分辨率F=1/tp=fs/N=3000/24=125Hz>100Hz

第二种尝试的频率分辨率F=1/tp=fs/N=8000/64=125Hz>100Hz

因此以上两种尝试均不能分辨出频率间隔为100Hz的两个频率分量。

第三种尝试::如图3所示,频谱很不平滑,呈很明显的折线状态,

采样率fs仍然为3000Hz,即满足奈奎斯特采样定理,大于信号s(t)的最高频率分量1100Hz 的两倍,采样点个数24,补40个零,在matlab中输入以下命令:

n=0:23;

f1=1000;f2=1100;f=3000;

s5=cos(2*pi*f1/f*n)+sin(2*pi*f2/f*n);

s6=[s5,zeros(1,40)]

plot(abs(fft(s6)))

则可得到的谱线为2Hz,4Hz,6Hz,8Hz,…,若信号中包含频率为7Hz的分量,则该分量将被栅栏挡住,无法显示出来。

相关文档
最新文档