- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据采集与信号处理个人整理版
一.基本内容: 基于FFT的功率谱分析程序设计与应用
1) 对一个人为产生的信号,采用FFT变换方法进行功率谱分析
已知信号x(n)=100.0*COS(2*3.14*SF*n/FS) +50.0*COS(4*3.14*SF*n/FS) ,n=0,1,2 ……N-1
式中: N---采样点数,必须为2x
SF---信号频率,SF=10 Hz
FS---采样频率
其FFT变换结果X(k)可用下面提供的FFT子程序求出,计算功率谱的公式为:
G(k)=2(XR(k)2 +XI(k)2)/N , k=0,1,2 ……N/2-1
式中: XR(k)--- X(k)的实部
XI(k)--- X(k)的虚部
请用VB,VC或C++Builder编译器编程,或采用MATLAB计算。处理结果(时域波形或频谱)采用窗口显示,并且拷贝至作业稿中。
注意:除FFT分析程序可参考附件所附的程序外,其余程序必须自己设计(小波或EMD除外),后面限选题目要求与此相同。
该信号的处理结果如下:
其matlab程序如下:
SF=10.0;%信号频率
N=1024;%采样点数
n=0:1023;%时间轴N个点
FS=300;%采样频率
t=n/FS;
x=100.0*cos(2*3.14*SF*t) +50.0*cos(4*3.14*SF*t);
figure;
plot(t,x);%信号输出
xlabel(t);
ylabel(y);
title(时域波形);
grid;
y1=fft(x,N);%FFT运算
mag=abs(y1);
f=(0:length(y1)-1)*FS/length(y1);
figure;
plot(f,mag);%做频谱图
xlabel(频率(Hz));
ylabel(幅值);
title(幅频谱图);
grid;
Pyy1 =(y1.*conj(y1))*2/N;%取功率普密度
figure;
plot(f,Pyy1);
xlabel(频率(Hz));
ylabel(功率谱密度);
title(功率谱密度);
grid;
2)对一个用A/D数据采集板采集的信号进行频谱分析
参考数据文件名(见作业文件压缩包):
① fanbo_45HZ_1024_1000HZ,45Hz方波发生器输出信号采集结果,采样频率1000Hz,采样点数1024
② sin_45HZ_1024_1000HZ,45Hz正弦波发生器输出信号采集结果,采样频率1000Hz,采样点数1024
③ A_1_1024_1000HZ,汽轮机轴向振动位移信号采集结果,采样频率1000Hz,采样点数1024
数据文件名的含义,如文件名为fanbo_45HZ_1024_1000HZ,表示45Hz方波信号,采样点数1024,采样频率1000Hz
①该信号处理结果如下:
其matlab程序如下:
SF=45;%信号频率
N=1024;%采样点数
n=0:1023;%时间轴N个点
FS=1000;%采样频率
t=n/FS;
x=load(D:\fanbo_45HZ_1024_1000HZ.txt);
figure;
plot(t,x);%信号输出
xlabel(t);
ylabel(y);
title(时域波形);
grid;
y1=fft(x,N);%FFT运算
mag=abs(y1);
f=(0:length(y1)-1)*FS/length(y1);
figure;
plot(f,mag);%做频谱图
xlabel(频率(Hz));
ylabel(幅值);
title(幅频谱图);
grid;
Pyy1 =(y1.*conj(y1))*2/N;%取功率普密度
figure;
plot(f,Pyy1);
xlabel(频率(Hz));
ylabel(功率谱密度);
title(功率谱密度);
grid;
②该信号的处理结果如下:
其matlab程序基本同上。
③该信号处理结果如下:
其matlab程序基本同上。
3)讨论
1. 信号经过零均值化处理或不经过零均值化处理的结果比较。
对于已知信号x=100.0*cos(2*3.14*SF*t) +50.0进行处理,结果如下:
该信号的非零均值相当于在此信号的低频段叠加上了一个直流分量,可以看到在零频率处出现一个很大的谱峰,并会影响在零频率左、右处的频谱曲线,使之产生较大误差。零均值化处理后零频率出的谱峰消失,并去除了干扰。
其matlab处理程序如下:
FS=300;%采样频率
n=0:300;
N=1024;%采样点数
SF=10.0;%信号频率
t=n/FS;
x=100.0*cos(2*3.14*SF*t) +50.0;%产生波形序列
文档评论(0)