华工【数字信号处理】(DSP)实验一利用Matlab进行频谱分析

实验代码仅供参考!

一、 对无限长时域离散信号进行频谱分析
在这里插入图片描述
试用DFT对其进行频谱分析。 使用矩形窗进行截取,并分别
选择三种不同的窗长,即N=16, 60, and 120。
实验要求:
1、用Matlab编程实现上述频谱分析;
2、画出不同窗长截取后的信号的频谱;
3、窗固定,分析不同窗长对频谱的影响;
4、窗长固定,不同窗对频谱的影响。

close all;
clear all;
 
N1 = 16;
N2 = 60;
N3 = 120;
n = 1:200;
x = cos(pi*n/10) + sin(pi*n/6) + cos(2*pi*n/5) ;
 
%图1,时域x[n]------------------------------------
figure
stem(x)
title('时域')
xlabel('n')
ylabel('x[n]')
 
%图2,DFT,矩形窗----------------------------------
% N = 16
y1 = fft(x,N1);
Y1 = abs(fftshift(y1));
ly1 = length(y1);
k1 = (-ly1/2:ly1/2-1)/N1;
 
figure
subplot(311)
stem(k1,Y1)
title('频域(N=16,矩形窗)')
xlabel('k')
ylabel('X(k)')
 
%N = 60
y2 = fft(x,N2);
Y2 = abs(fftshift(y2));
ly2 = length(y2);
k2 = (-ly2/2:ly2/2-1)/N2;
 
subplot(312)
stem(k2,Y2)
title('频域(N=60,矩形窗)')
xlabel('k')
ylabel('X(k)')
 
%N = 120
y3 = fft(x,N3);
Y3 = abs(fftshift(y3));
ly3 = length(y3);
k3= (-ly3/2:ly3/2-1)/N3;
 
subplot(313)
stem(k3,Y3)
title('频域(N=120,矩形窗)')
xlabel('k')
ylabel('X(k)')
 
%图3,DFT,hamming窗----------------------------------
 
x1= x(1:N1).*hamming(N1)';
x2= x(1:N2).*hamming(N2)';
x3= x(1:N3).*hamming(N3)';
 
% N = 16
y11 = fft(x1,N1);
Y11= abs(fftshift(y11));
ly11 = length(y11);
k11 = (-ly11/2:ly11/2-1)/N1;
 
figure
subplot(311)
stem(k11,Y11)
title('频域(N=16,hamming窗)')
xlabel('f')
ylabel('X(f)')
 
%N = 60
y22 = fft(x2,N2);
Y22 = abs(fftshift(y22));
ly22 = length(y22);
k22 = (-ly22/2:ly22/2-1)/N2;
 
subplot(312)
stem(k22,Y22)
title('频域(N=60,hamming窗)')
xlabel('f')
ylabel('X(f)')
 
%N = 120
y33 = fft(x3,N3);
Y33 = abs(fftshift(y33));
ly33 = length(y33);
k33= (-ly33/2:ly33/2-1)/N3;
 
subplot(313)
stem(k33,Y33)
title('频域(N=120,hamming窗)')
xlabel('f')
ylabel('X(f)')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果分析:
由图1-2可以看出,N=60和N=120时的频谱一样且正确,而N=16时的不正确,说明了:当矩形窗截取长度大于或等于信号周期时,可以正确显示频谱图;当矩形窗截取长度小于信号周期时,无法正确显示频谱图。
此外,对比图1-2和图1-3,可以看出加矩形窗和Hamming窗的频谱有区别,但在对应的频率点都有最大值,说明Hamming窗影响并不是太大.

二、对连续信号进行谱分析在这里插入图片描述
试用DFT进行频谱分析,要求频率分辨率为1Hz。
注:频率分辨率是指频谱分析中能够分辨的两个相邻频率点谱线的最小距离,即频率域的采样间隔
实验要求:
1、确定对x(t)采样的最大采样间隔和频域采样的最少采样点数
2、编程实现上述频谱分析;
3、画出该信号的幅频特性;(横坐标用信号的模拟频率!!!)
4、分析该信号的幅频特性,考虑频域二、对连续信号进行谱分析
试用DFT进行频谱分析,要求频率分辨率为1Hz。
注:频率分辨率是指频谱分析中能够分辨的两个相邻频率点谱线的最小距离,即频率域的采样间隔
实验要求:
1、确定对x(t)采样的最大采样间隔和频域采样的最少采样点数
2、编程实现上述频谱分析;
3、画出该信号的幅频特性;(横坐标用信号的模拟频率!!!)
4、分析该信号的幅频特性,考虑频域采样的采样点数对频谱的影响。

close all;
clear all;
t = 1;   %time =1s
fs = 300; %采样频率 fs>=2*fm,fm = 100Hz
N1 = 50;
T = 1/fs;
t1 = 0:T:t;
x = cos(200*pi*t1) + sin(100*pi*t1) + cos(50*pi*t1);
y = fft(x,fs);
Y = abs(fftshift(y));
 
figure
subplot(211)
stem(x)
title('时域(fs=300Hz)')
xlabel('n')
ylabel('x(nT)')
subplot(212)
yl = -length(y)/2:length(y)/2-1;
stem(yl,Y)
title('频域(fs=300Hz)')
xlabel('f')
ylabel('X(f)')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果分析:
这里对时长为1s的连续信号进行时域采样,通过fft函数得到频域采样的结果.
由x[n]的代数式可知截止频率fm = 100Hz,则采样频率fs>=200Hz,则时域最大采样间隔为1/200s.这里取采样频率为fs=300Hz.
信号基频为50π,最高频率为200π,为4倍基频,则频域采样的最少采样点为9个。 对比图一和图二,采样频率不同,即采样点数也不同,可以看到都能在对应的频率点有峰值,而其他点基本为0.可见当满足以上的采样规则时,采样点数对频谱基本没有影响.但是,当不满足以上的采样规则,如fs =100Hz,在图2-3可以看出不能正确显示频谱.

三、在这里插入图片描述

1)取一个周期,计算其DFT;
2)将1)中的 x[n]补零,使 0≤n ≤99,计算其DFT;
3)对x[n]取0≤n ≤99,计算其DFT。
实验要求:
1、编程实现上述三个步骤;
2、分析上述三个步骤得到的频谱有什么区别和联系。
注:DFT点数取成等于时域信号的点数,即X=fft(x)

close all;
clear all;
 
n = 1:100;
nl = length(n);
x = cos(0.48*pi*n) + cos(0.52*pi*n);
%0.48pi/2 =0.24pi; 0.24pi = 24pi/100 = 12*2pi/50  ,0.52pi = 13*2pi/50 ;
T = 50; %周期
%(1)
x1 = x(1:T);
y1 = fft(x1,T);
Y1 = abs(fftshift(y1));
%(2)
y2 = fft(x1,nl);
Y2 = abs(fftshift(y2));
%(3)
y3 = fft(x,nl);
Y3 = abs(fftshift(y3));
 
figure
subplot(221)
stem(x)
title('时域')
xlabel('n')
ylabel('x(n)')
 
subplot(222)
l1 = (-length(Y1)/2:length(Y1)/2-1)/T;
stem(l1,Y1)
title('(1)')
xlabel('f')
ylabel('X(f)')
 
subplot(223)
l2 = (-length(Y2)/2:length(Y2)/2-1)/nl;
stem(l2,Y2)
title('(2)')
xlabel('f')
ylabel('X(f)')
 
subplot(224)
l3 = (-length(Y3)/2:length(Y3)/2-1)/nl;
stem(l3,Y3)
title('(3)')
xlabel('f')
ylabel('X(f)')

在这里插入图片描述
结果分析:
对比(1)和(3)发现频谱一致,说明了去时域的一个周期(50个采样点)或两个周期(100个采样点)都可以正确显示频谱图;
但是对x[n]补0后,补0 的部分当做了信号的一个周期内的一部分,所以频谱发生了变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值