实 验 报 告
(理工类)
课 程 名 称: 机械工程测试技术 课 程 代 码: 8400271 学生所在学院: 机械工程与自动化学院
年级/专业/班: 09机电3班 学 生 姓 名: 王 泽 学 号: [**************] 实验总成绩: 任 课 教 师: 余 愚 开 课 学 院: 机械工程与自动化学院 实验中心名称: 机械工程专业实验中心
.
西华大学实验报告(机械类)
开课学院及实验室:机械工程与自动化学院计算机机房 实验时间 :2012年 5 月11日
一、实验目的
1. 学习使用Matlab,学会用Matlab提供的函数对信号进行频谱分析; 2. 加深了解信号分析手段之一的傅立叶变换的基本思想和物理意义;
3. 观察和分析由多个频率、幅值和相位成一定关系的正弦波叠加的合成波形;。 4. 观察和分析频率、幅值相同,相位角不同的正弦波叠加的合成波形; 5. 通过本实验熟悉信号的合成、分解原理,了解信号频谱的含义。
二、实验原理
按傅立叶分析的原理,任何周期信号都可以用一组三角函数sin(2πnf0t)、con(2πnf0t)的组合表示
x(t)=a0+
∑(a
n=1
∞
n
cos2πnf0t+bnsin2πnf0t) (n=1,2,3,„)
也就是说,我们可以用一组正弦波和余弦波来合成任意形状的周期信号。 对于典型的方波,其时域表达式为:
根据傅立叶变换,其三角函数展开式为:
x(t)=
11
[sin(2πf0t)+sin(6πf0t)+sin(10πf0t)+⋅⋅⋅⋅⋅⋅]π35
4A∞1=∑sin(2πnf0t)πn=1n
4A
由此可见,周期方波是由一系列频率成分成谐波关系,幅值成一定比例的正弦波叠加合成的。
三、实验内容
1. 用Matlab编程,绘出7次谐波叠加合成的方波波形图及幅值谱;
2. 用Matlab编程,改变上述7次谐波中其中两项谐波的幅值绘出合成波形及幅值谱; 3.用Matlab编程,改变上述7次谐波中其中一项谐波的相位绘出合成波形及幅值谱。
四、实验程序及结果分析
1、内容1的程序: t=0:0.001:0.512;
y=sin(2*pi*50*t)+sin(3*2*pi*50*t)/3+sin(5*2*pi*50*t)/5+sin(7*2*pi*50*t)/7; Y=fft(y); %时间抽取基2法FFT,计算序列x的傅里叶变换 Mx=abs(Y)/400; %求绝对值,获得幅值谱 f=1000*(0:255)/512;
subplot(211),plot(t(1:60),y(1:60)),title('Time-domain signal') subplot(212),plot(f,Mx (1:256)),title('Spectrum') 波形图及其幅值谱:
结论:所谓方波可以由傅立叶展开得到多个正弦谐波,频率最低的那个叫基波,其他的高频的叫谐波。利
用奇数次谐波可以合成方波。并且可以将方波分解成一个直流分量和无数个正弦波分量之和。
t=0:0.001:0.512;
y=sin(2*pi*50*t)+sin(3*2*pi*50*t)/3+5*sin(5*2*pi*50*t)/5+7*sin(7*2*pi*50*t)/7; Y=fft(y);
Mx=abs(Y)/400; f=1000*(0:255)/512;
subplot(211),plot(t(1:60),y(1:60)),title('Time-domain signal') subplot(212),plot(f,Mx(1:256)),title('Spectrum') 波形图及其幅值谱:
结论:改变上述7次谐波中其中两项谐波的幅值会使输出的方波的幅值也随之发生改变,若改变的幅值不
合适,将其合成的方波的幅值具有不确定性,方波不精确性增大。
t=0:0.001:0.512;
y=sin(2*pi*50*t)+sin(3*2*pi*50*t)/3+sin(5*2*pi*50*t+30)/5+sin(7*2*pi*50*t)/7; Y=fft(y); %时间抽取基2法FFT,计算序列x的傅里叶变换 Mx=abs(Y)/400; %求绝对值,获得幅值谱 f=1000*(0:255)/512;
subplot(211),plot(t(1:60),y(1:60)),title('Time-domain signal') subplot(212),plot(f,Mx (1:256)),title('Spectrum') 波形图及其幅值谱:
结论:改变上述7次谐波中其中一项谐波的相位,会使合成的方波的拐点的斜率发生改变,若改变的相位
不合适,则可能使合成的方波更接近于谐波即正弦波,使合成的方波不精确。
.
西华大学实验报告(机械类)
开课学院及实验室:机械工程与自动化学院计算机机房 实验时间 :2012年 5 月12日
一、实验目的
1. 学习使用Matlab,学会用Matlab提供的函数对信号进行频谱分析; 2. 掌握采样定理;
3. 理解加窗对频谱分析的影响; 4. 理解量化误差对频谱分析的影响;
5. 掌握采样点数N、采样频率fs、数据长度对频谱分析的作用。
二、实验原理
原理:《机械工程测试技术与信号分析》第2章,特别是2.4离散傅立叶变换的内容。 设备:PC机;软件:Matlab
三、实验内容
1. 画出x(t)=3sin(2 f t)+ 7sin(10 f t)+ 12sin(15 f t)的幅值谱图(f=50Hz)。 2. 用Mablab设计一程序,能形象地验证离散傅里叶变换中的4个重要问题: (1)采样定理
a)fs≥2fmax,其频谱不失真,fs
b)fs≥2fmax(工程中常用fs≥(3~4)fmax),可从频域中不失真恢复原时域信号; (2)加窗、截断
a)信号截断后,其频谱会产生泄漏,出现“假频”; b)信号截断后,降低了频率分辨率;
c)采用适当的窗函数后,可以减少泄漏和提高频率分辨率。 (3)量化误差
a)对信号x(t)=sin(2πft)进行采样,fs=1000Hz,采集N=64点。用3、8位量化器量化信号每点的幅值,画出原始波形和量化后的信号波形,得出结论。
(4)栅栏效应
如何才能提高频率分辨率?采样点数N、采样频率fs起何作用?用例子说明。
四、实验程序及结果分析
1、内容1的程序: t=0:0.001:0.512;
y=3*sin(2*pi*50*t)+7*sin(10*pi*50*t)+12*sin(15*pi*50*t); Y=fft(y);
Mx=abs(Y)/400; f=1000*(0:255)/512;
plot(f,Mx (1:256)),title('Spectrum') Mx=abs(Y)/400; f=1000*(0:255)/51 幅值谱:
五、实验感想
2、内容2的程序: (1)采样定理 (1)、试验代码
fs=100;N=128; %采样频率和数据点数 n=0:N-1;t=n/fs; %时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号 y=fft(x,N); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅 f=n*fs/N; %频率序列
subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on;
subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on; %对信号采样数据为1024点的处理 fs=100;N=1024;n=0:N-1;t=n/fs;
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号 y=fft(x,N); %对信号进行快速Fourier变换 mag=abs(y); %求取Fourier变换的振幅 f=n*fs/N;
subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=1024');grid on; subplot(2,2,4)
plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=1024');grid on;
(2)Matlab运行仿真图像:
第二:用 100Hz 对信号进行采样源信号为 f(t)= 0.5*sin(2*pi*15*t1)+2*sin(2*pi*40*t1),用 100Hz 的频率对 f(t)进行采样,其采样图如图 1 所示,程序如下:
(1)、试验代码: fs1=100;
t1=-0.1:1/fs1:0.1;
fa=0.5*sin(2*pi*15*t1)+2*sin(2*pi*40*t1) ; %x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t) figure(1);plot(t1,fa),xlabel('fs1=100Hz 时,fa 采样时域图
')
对信号进行快速离散傅立叶变换将采样信号进行快速离散傅立叶变换(FFT) ,用 300Hz 的频率对 f(t)进行采样,其采 样后快速傅立叶变换频谱图如图
f=40;fs=100; N=100;k=0:N-1; t=-0.1:1/fs:0.1; w1=500*k/N;
fa=0.5*sin(2*pi*f*t)+2*sin(2*pi*f*t); xfa=fft(fa,N);xf1=(xfa);
figure(1);plot(w1,xf1),xlabel('fs=100Hz 时,fa 经过 fft 后频谱图.单位:Hz')
信号的重建我们可以通过利用内插法把原信号从采样信号中恢复出来,观察信号在满足怎样的采样 条件下能够恢复原信号,下图为恢复后的信号.程序如下
Wm=180*pi;Wc=Wm; fs=100;Ws=2*pi*fs; n=-800:800;nTs=n/fs;
fa=0.5*sin(2*pi*15*nTs)+2*sin(2*pi*40*nTs); Dt=1/fs;t1=-0.1:Dt:0.1;
fa1=fa/fs*Wc/pi*sinc((Wc/pi)*(ones(length(nTs),1)*t1-nTs'*ones(1,length(t1)))); figure(1);plot(t1,fa1); axis([-0.1 0.1 -8 8]); xlabel('fs=100Hz,fa');
由抽样定理可知,抽样后的信号频谱是原信号频谱以抽样频率为周期进行周期延拓形成的,周期性在上面两个图中都有很好的体现。但是从10点和50点采样后的结果以及与员连续信号频谱对比可以看出,10点对应的频谱出现了频谱混叠而并非原信号频谱的周期延拓。这是因为N取值过小导致采样角频率Ωs
(2)加窗、截断
(1)、试验代码:
n=128; %每个周期抽样的点数
N=10; %取10个周期的波形
Ts=20/128000; %取样间隔
fs=1/Ts;
T=n*Ts*N;
t=0:Ts:T;
fre=50;
y=5+220*sqrt(2)*sin(2*pi*fre*t+pi/6)-22*sqrt(2)*sin(2*pi*1.12*fre*t+pi/2) %构造的含有间谐波的波形
%*******没有加窗函数时分析的构造波形的间谐波************
figure(1)
subplot(211)
plot(t(1:128*N),y(1:128*N))
11
xlabel('t 单位:s ');
ylabel('y 单位:V ');
title('没有加窗函数的时域波形和频率的幅值波形')
grid
hold on
ffdat1=fft(y(1:n*N),N*n)/(N*n/2); %对N个周期的波形进行傅立叶变换
ftdata1=abs(ffdat1);
ftdata1=[ftdata1(1)/2 ftdata1(2:end)/sqrt(2)]; %傅立叶变换后的幅值
ftangle1=180*angle(ffdat1)/pi; %傅立叶变换后的相位角
tab1=[[0:1/T:N*n*1/T-1];ftdata1(1:N*n);ftangle1(1:N*n)]; %统计傅立叶变换%的 N*n 个
点
subplot(212)
bar(([0:fs/(n*N):fs-1]),ftdata1(1:N*n));
axis([1 (fs+1)/25 0 250])
xlabel('f ( Hz )');
ylabel('ftdata1 单位:V ');
box off
grid
%*********加hanning窗时分析的构造波形的间谐波************
figure(2)
subplot(211)
plot(t(1:128*N),hanning(n*N)'.*y(1:128*N))
xlabel('t 单位:s ');
ylabel('y 单位:V ');
title('加hanning窗后的时域波形和频率的幅值波形')
grid
hold on
ffdat2=fft(hanning(n*N)'.*y(1:n*N),N*n)/(N*n/2); %对N个周期的波形进行傅立叶变换 ftdata2=abs(ffdat2);
ftdata2=[ftdata2(1)/2 ftdata2(2:end)/sqrt(2)]; %傅立叶变换后的幅值
ftangle2=180*angle(ffdat2)/pi; %傅立叶变换后的相位角
tab2=[[0:1/T:N*n*1/T-1];ftdata2(1:N*n);ftangle2(1:N*n)]; %统计傅立叶变换的 N*n 个点
subplot(212)
bar(([0:fs/(n*N):fs-1]),ftdata2(1:N*n));
axis([1 (fs+1)/25 0 250])
xlabel('f ( Hz )');
ylabel('ftdata2 单位:V ');
box off
grid
(2)Matlab运行仿真图像:
12
(3)栅栏效应
利用500Hz方波信号的频谱分析说明栅栏效应所造成的频谱误差。设定采样频率:fs=5120,MATLAB中默认的FFT计算点数为512,其离散频率点为:fi=i*fs/N=i*5120/512=10,i=0,1,2,3„,N/2。位于505H1位置的真实谱峰被挡住看不见,看见的只是它们在相邻频率500Hz或510Hz处能量泄漏的值。
13
若设fs=2560Hz,则频率间隔为df=5Hz,重复上述分析步骤,这时在505 Hz位置有谱线,因此可以得到它们的精确值。
从时域看,这个条件相当于对信号进行整周期采样,实际中常用此方法来提高周期信号的频谱分析精度。
程序如下:
t1=0:1/5120:0.1;
m1=0:10:5120;
t2=0:1/2560:0.2;
m2=0:5:2560;
y1=square(2*pi*505*t1);
transf1=abs(fft(y1)/256);
y2=square(2*pi*505*t2);
transf2=abs(fft(y2)/256);
subplot(2,2,1);plot(t1,y1);
title('square(2*pi*505*t1)');
subplot(2,2,3);stem(m1(1:256),transf1(1:256));
title('fs=5120');
subplot(2,2,2);plot(t2,y2);
title('square(2*pi*505*t2)');
subplot(2,2,4);stem(m2(1:256),transf2(1:256));
title('fs=2560');
(2)Matlab运行仿真图像:
将上图中的图3和图4进行放大可得到下面的图。在图中我们可以清楚的看到在图3的放大图中没有505Hz这个频率分量,而在图4的放大图中有
14
由此看出栅栏效应的影响。
五、实验感想
通过这次的试验,我学习了如何使用Matlab所提供的函数对信号进行频谱分析,并且加深了解信号分析手段之一的傅立叶变换的基本思想和物理意义。而且熟悉信号的合成、分解原理,了解信号频谱的含义,知道了所谓方波可以由傅立叶展开得到多个正弦谐波,频率最低的那个叫基波,其他的高频的叫谐波。利用奇数次谐波可以合成方波。并且可以将方波分解成一个直流分量和无数个正弦波分量之和。任意改变谐波的幅值和相位都会使合成的方波的波形发生变化。掌握了采样定理,理解了理解加窗和量化误差对频谱分析的影响以及采样点数、采样频率、数据长度对频谱分析的作用。通过这次的实验我对机械工程测试技术有了更进一步的了解,对它产生了更浓厚的兴趣,我会尽我所能将其应用到在以后的生活和学习中。
15
实 验 报 告
(理工类)
课 程 名 称: 机械工程测试技术 课 程 代 码: 8400271 学生所在学院: 机械工程与自动化学院
年级/专业/班: 09机电3班 学 生 姓 名: 王 泽 学 号: [**************] 实验总成绩: 任 课 教 师: 余 愚 开 课 学 院: 机械工程与自动化学院 实验中心名称: 机械工程专业实验中心
.
西华大学实验报告(机械类)
开课学院及实验室:机械工程与自动化学院计算机机房 实验时间 :2012年 5 月11日
一、实验目的
1. 学习使用Matlab,学会用Matlab提供的函数对信号进行频谱分析; 2. 加深了解信号分析手段之一的傅立叶变换的基本思想和物理意义;
3. 观察和分析由多个频率、幅值和相位成一定关系的正弦波叠加的合成波形;。 4. 观察和分析频率、幅值相同,相位角不同的正弦波叠加的合成波形; 5. 通过本实验熟悉信号的合成、分解原理,了解信号频谱的含义。
二、实验原理
按傅立叶分析的原理,任何周期信号都可以用一组三角函数sin(2πnf0t)、con(2πnf0t)的组合表示
x(t)=a0+
∑(a
n=1
∞
n
cos2πnf0t+bnsin2πnf0t) (n=1,2,3,„)
也就是说,我们可以用一组正弦波和余弦波来合成任意形状的周期信号。 对于典型的方波,其时域表达式为:
根据傅立叶变换,其三角函数展开式为:
x(t)=
11
[sin(2πf0t)+sin(6πf0t)+sin(10πf0t)+⋅⋅⋅⋅⋅⋅]π35
4A∞1=∑sin(2πnf0t)πn=1n
4A
由此可见,周期方波是由一系列频率成分成谐波关系,幅值成一定比例的正弦波叠加合成的。
三、实验内容
1. 用Matlab编程,绘出7次谐波叠加合成的方波波形图及幅值谱;
2. 用Matlab编程,改变上述7次谐波中其中两项谐波的幅值绘出合成波形及幅值谱; 3.用Matlab编程,改变上述7次谐波中其中一项谐波的相位绘出合成波形及幅值谱。
四、实验程序及结果分析
1、内容1的程序: t=0:0.001:0.512;
y=sin(2*pi*50*t)+sin(3*2*pi*50*t)/3+sin(5*2*pi*50*t)/5+sin(7*2*pi*50*t)/7; Y=fft(y); %时间抽取基2法FFT,计算序列x的傅里叶变换 Mx=abs(Y)/400; %求绝对值,获得幅值谱 f=1000*(0:255)/512;
subplot(211),plot(t(1:60),y(1:60)),title('Time-domain signal') subplot(212),plot(f,Mx (1:256)),title('Spectrum') 波形图及其幅值谱:
结论:所谓方波可以由傅立叶展开得到多个正弦谐波,频率最低的那个叫基波,其他的高频的叫谐波。利
用奇数次谐波可以合成方波。并且可以将方波分解成一个直流分量和无数个正弦波分量之和。
t=0:0.001:0.512;
y=sin(2*pi*50*t)+sin(3*2*pi*50*t)/3+5*sin(5*2*pi*50*t)/5+7*sin(7*2*pi*50*t)/7; Y=fft(y);
Mx=abs(Y)/400; f=1000*(0:255)/512;
subplot(211),plot(t(1:60),y(1:60)),title('Time-domain signal') subplot(212),plot(f,Mx(1:256)),title('Spectrum') 波形图及其幅值谱:
结论:改变上述7次谐波中其中两项谐波的幅值会使输出的方波的幅值也随之发生改变,若改变的幅值不
合适,将其合成的方波的幅值具有不确定性,方波不精确性增大。
t=0:0.001:0.512;
y=sin(2*pi*50*t)+sin(3*2*pi*50*t)/3+sin(5*2*pi*50*t+30)/5+sin(7*2*pi*50*t)/7; Y=fft(y); %时间抽取基2法FFT,计算序列x的傅里叶变换 Mx=abs(Y)/400; %求绝对值,获得幅值谱 f=1000*(0:255)/512;
subplot(211),plot(t(1:60),y(1:60)),title('Time-domain signal') subplot(212),plot(f,Mx (1:256)),title('Spectrum') 波形图及其幅值谱:
结论:改变上述7次谐波中其中一项谐波的相位,会使合成的方波的拐点的斜率发生改变,若改变的相位
不合适,则可能使合成的方波更接近于谐波即正弦波,使合成的方波不精确。
.
西华大学实验报告(机械类)
开课学院及实验室:机械工程与自动化学院计算机机房 实验时间 :2012年 5 月12日
一、实验目的
1. 学习使用Matlab,学会用Matlab提供的函数对信号进行频谱分析; 2. 掌握采样定理;
3. 理解加窗对频谱分析的影响; 4. 理解量化误差对频谱分析的影响;
5. 掌握采样点数N、采样频率fs、数据长度对频谱分析的作用。
二、实验原理
原理:《机械工程测试技术与信号分析》第2章,特别是2.4离散傅立叶变换的内容。 设备:PC机;软件:Matlab
三、实验内容
1. 画出x(t)=3sin(2 f t)+ 7sin(10 f t)+ 12sin(15 f t)的幅值谱图(f=50Hz)。 2. 用Mablab设计一程序,能形象地验证离散傅里叶变换中的4个重要问题: (1)采样定理
a)fs≥2fmax,其频谱不失真,fs
b)fs≥2fmax(工程中常用fs≥(3~4)fmax),可从频域中不失真恢复原时域信号; (2)加窗、截断
a)信号截断后,其频谱会产生泄漏,出现“假频”; b)信号截断后,降低了频率分辨率;
c)采用适当的窗函数后,可以减少泄漏和提高频率分辨率。 (3)量化误差
a)对信号x(t)=sin(2πft)进行采样,fs=1000Hz,采集N=64点。用3、8位量化器量化信号每点的幅值,画出原始波形和量化后的信号波形,得出结论。
(4)栅栏效应
如何才能提高频率分辨率?采样点数N、采样频率fs起何作用?用例子说明。
四、实验程序及结果分析
1、内容1的程序: t=0:0.001:0.512;
y=3*sin(2*pi*50*t)+7*sin(10*pi*50*t)+12*sin(15*pi*50*t); Y=fft(y);
Mx=abs(Y)/400; f=1000*(0:255)/512;
plot(f,Mx (1:256)),title('Spectrum') Mx=abs(Y)/400; f=1000*(0:255)/51 幅值谱:
五、实验感想
2、内容2的程序: (1)采样定理 (1)、试验代码
fs=100;N=128; %采样频率和数据点数 n=0:N-1;t=n/fs; %时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号 y=fft(x,N); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅 f=n*fs/N; %频率序列
subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on;
subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on; %对信号采样数据为1024点的处理 fs=100;N=1024;n=0:N-1;t=n/fs;
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号 y=fft(x,N); %对信号进行快速Fourier变换 mag=abs(y); %求取Fourier变换的振幅 f=n*fs/N;
subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=1024');grid on; subplot(2,2,4)
plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅 xlabel('频率/Hz');
ylabel('振幅');title('N=1024');grid on;
(2)Matlab运行仿真图像:
第二:用 100Hz 对信号进行采样源信号为 f(t)= 0.5*sin(2*pi*15*t1)+2*sin(2*pi*40*t1),用 100Hz 的频率对 f(t)进行采样,其采样图如图 1 所示,程序如下:
(1)、试验代码: fs1=100;
t1=-0.1:1/fs1:0.1;
fa=0.5*sin(2*pi*15*t1)+2*sin(2*pi*40*t1) ; %x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t) figure(1);plot(t1,fa),xlabel('fs1=100Hz 时,fa 采样时域图
')
对信号进行快速离散傅立叶变换将采样信号进行快速离散傅立叶变换(FFT) ,用 300Hz 的频率对 f(t)进行采样,其采 样后快速傅立叶变换频谱图如图
f=40;fs=100; N=100;k=0:N-1; t=-0.1:1/fs:0.1; w1=500*k/N;
fa=0.5*sin(2*pi*f*t)+2*sin(2*pi*f*t); xfa=fft(fa,N);xf1=(xfa);
figure(1);plot(w1,xf1),xlabel('fs=100Hz 时,fa 经过 fft 后频谱图.单位:Hz')
信号的重建我们可以通过利用内插法把原信号从采样信号中恢复出来,观察信号在满足怎样的采样 条件下能够恢复原信号,下图为恢复后的信号.程序如下
Wm=180*pi;Wc=Wm; fs=100;Ws=2*pi*fs; n=-800:800;nTs=n/fs;
fa=0.5*sin(2*pi*15*nTs)+2*sin(2*pi*40*nTs); Dt=1/fs;t1=-0.1:Dt:0.1;
fa1=fa/fs*Wc/pi*sinc((Wc/pi)*(ones(length(nTs),1)*t1-nTs'*ones(1,length(t1)))); figure(1);plot(t1,fa1); axis([-0.1 0.1 -8 8]); xlabel('fs=100Hz,fa');
由抽样定理可知,抽样后的信号频谱是原信号频谱以抽样频率为周期进行周期延拓形成的,周期性在上面两个图中都有很好的体现。但是从10点和50点采样后的结果以及与员连续信号频谱对比可以看出,10点对应的频谱出现了频谱混叠而并非原信号频谱的周期延拓。这是因为N取值过小导致采样角频率Ωs
(2)加窗、截断
(1)、试验代码:
n=128; %每个周期抽样的点数
N=10; %取10个周期的波形
Ts=20/128000; %取样间隔
fs=1/Ts;
T=n*Ts*N;
t=0:Ts:T;
fre=50;
y=5+220*sqrt(2)*sin(2*pi*fre*t+pi/6)-22*sqrt(2)*sin(2*pi*1.12*fre*t+pi/2) %构造的含有间谐波的波形
%*******没有加窗函数时分析的构造波形的间谐波************
figure(1)
subplot(211)
plot(t(1:128*N),y(1:128*N))
11
xlabel('t 单位:s ');
ylabel('y 单位:V ');
title('没有加窗函数的时域波形和频率的幅值波形')
grid
hold on
ffdat1=fft(y(1:n*N),N*n)/(N*n/2); %对N个周期的波形进行傅立叶变换
ftdata1=abs(ffdat1);
ftdata1=[ftdata1(1)/2 ftdata1(2:end)/sqrt(2)]; %傅立叶变换后的幅值
ftangle1=180*angle(ffdat1)/pi; %傅立叶变换后的相位角
tab1=[[0:1/T:N*n*1/T-1];ftdata1(1:N*n);ftangle1(1:N*n)]; %统计傅立叶变换%的 N*n 个
点
subplot(212)
bar(([0:fs/(n*N):fs-1]),ftdata1(1:N*n));
axis([1 (fs+1)/25 0 250])
xlabel('f ( Hz )');
ylabel('ftdata1 单位:V ');
box off
grid
%*********加hanning窗时分析的构造波形的间谐波************
figure(2)
subplot(211)
plot(t(1:128*N),hanning(n*N)'.*y(1:128*N))
xlabel('t 单位:s ');
ylabel('y 单位:V ');
title('加hanning窗后的时域波形和频率的幅值波形')
grid
hold on
ffdat2=fft(hanning(n*N)'.*y(1:n*N),N*n)/(N*n/2); %对N个周期的波形进行傅立叶变换 ftdata2=abs(ffdat2);
ftdata2=[ftdata2(1)/2 ftdata2(2:end)/sqrt(2)]; %傅立叶变换后的幅值
ftangle2=180*angle(ffdat2)/pi; %傅立叶变换后的相位角
tab2=[[0:1/T:N*n*1/T-1];ftdata2(1:N*n);ftangle2(1:N*n)]; %统计傅立叶变换的 N*n 个点
subplot(212)
bar(([0:fs/(n*N):fs-1]),ftdata2(1:N*n));
axis([1 (fs+1)/25 0 250])
xlabel('f ( Hz )');
ylabel('ftdata2 单位:V ');
box off
grid
(2)Matlab运行仿真图像:
12
(3)栅栏效应
利用500Hz方波信号的频谱分析说明栅栏效应所造成的频谱误差。设定采样频率:fs=5120,MATLAB中默认的FFT计算点数为512,其离散频率点为:fi=i*fs/N=i*5120/512=10,i=0,1,2,3„,N/2。位于505H1位置的真实谱峰被挡住看不见,看见的只是它们在相邻频率500Hz或510Hz处能量泄漏的值。
13
若设fs=2560Hz,则频率间隔为df=5Hz,重复上述分析步骤,这时在505 Hz位置有谱线,因此可以得到它们的精确值。
从时域看,这个条件相当于对信号进行整周期采样,实际中常用此方法来提高周期信号的频谱分析精度。
程序如下:
t1=0:1/5120:0.1;
m1=0:10:5120;
t2=0:1/2560:0.2;
m2=0:5:2560;
y1=square(2*pi*505*t1);
transf1=abs(fft(y1)/256);
y2=square(2*pi*505*t2);
transf2=abs(fft(y2)/256);
subplot(2,2,1);plot(t1,y1);
title('square(2*pi*505*t1)');
subplot(2,2,3);stem(m1(1:256),transf1(1:256));
title('fs=5120');
subplot(2,2,2);plot(t2,y2);
title('square(2*pi*505*t2)');
subplot(2,2,4);stem(m2(1:256),transf2(1:256));
title('fs=2560');
(2)Matlab运行仿真图像:
将上图中的图3和图4进行放大可得到下面的图。在图中我们可以清楚的看到在图3的放大图中没有505Hz这个频率分量,而在图4的放大图中有
14
由此看出栅栏效应的影响。
五、实验感想
通过这次的试验,我学习了如何使用Matlab所提供的函数对信号进行频谱分析,并且加深了解信号分析手段之一的傅立叶变换的基本思想和物理意义。而且熟悉信号的合成、分解原理,了解信号频谱的含义,知道了所谓方波可以由傅立叶展开得到多个正弦谐波,频率最低的那个叫基波,其他的高频的叫谐波。利用奇数次谐波可以合成方波。并且可以将方波分解成一个直流分量和无数个正弦波分量之和。任意改变谐波的幅值和相位都会使合成的方波的波形发生变化。掌握了采样定理,理解了理解加窗和量化误差对频谱分析的影响以及采样点数、采样频率、数据长度对频谱分析的作用。通过这次的实验我对机械工程测试技术有了更进一步的了解,对它产生了更浓厚的兴趣,我会尽我所能将其应用到在以后的生活和学习中。
15