数据采集与信号处理.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
哈尔滨理工大学
研究生考试试卷
考试科目:数据采集与信号处理阅卷人:
专业:
姓名:
2013年06月21日
一、基本内容:基于FFT的功率谱分析程序设计与应用
1.基本要求
1)对一个人为产生的信号进行采用FFT变换方法进行功率谱分析。
已知信号x(n)=80.0*COS(2*3.14*SF*n/FS)
式中:n=0,1,2 ……N-1
SF---信号频率
FS---采样频率
其FFT变换结果X(k)可用下面提供的FFT子程序求出,计算功率谱的公式为:
W(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计算,或采用高级语言调用MATLAB计算。处理结果为采用窗口显示时域波形和频域波形。
此信号的时域谱,频域谱,功率谱如下图所示:
其MA TLAB代码为:
FS=200;
SF=10;
N=1024;
n=0:N-1;
t=n/FS;
x=80.0*cos(2*3.14*SF*t);
subplot(221);
plot(t,x);
xlabel('t');
ylabel('y');
title('x=80.0*cos(2*3.14*SF*t)时域波形');
grid;
y=fft(x,N);
mag=abs(y);
f=(0:length(y)-1)*FS/length(y);%进行对应的频率转换
subplot(222);
plot(f(1:N/2),mag(1:N/2));%做频谱图
xlabel('频率(Hz)');
ylabel('幅值');
title('x=80.0*cos(2*3.14*SF*t)幅频谱图N=1024');
grid;
Py =2*(y.*conj(y))/N; %计算功率谱密度Py
subplot(223)
plot(f(1:N/2),Py(1:N/2));
xlabel('频率(Hz)');
ylabel('功率谱密度');
title('x=80.0*cos(2*3.14*sf*t)功率谱密度');
grid;
二. 对一个用A/D数据采集板采集的信号进行频谱分析1)方波的频谱分析图像和程序
%fangbopufenxi
fid = fopen('F:\研究生信号处理\fanbo_45HZ_1024_1000HZ\fanbo _45HZ_1024_1000HZ '); %读入方波信号
SF=1000; %采样频率为1000HZ
[a,N]= fscanf(fid,'%f');
fclose(fid); %关闭打开的方波文件
y=fft(a,N); %进行快速傅里叶运算
Pyy =sqrt(y.*conj(y))*2.0/N; %取功率普密度
f=(0:length(Pyy)-1)*SF/length(Pyy);
LPyy=20*log10(Pyy);
plot(f(1:N/2),Pyy(1:N/2),'black'); %输出FS/2点幅频谱图grid;
2)三角波的频谱分析图像和程序
%sanjiaobopufenxi
fid = fopen('F:\研究生信号处理
\fanbo_45HZ_1024_1000HZ\sanjiao
_45HZ_1024_1000HZ'); %读入三角波信号
SF=1000; %采样频率为1000HZ
[a,N]= fscanf(fid,'%f');
fclose(fid); %关闭打开的三角波文件
y=fft(a,N); %进行快速傅里叶运算
Pyy =sqrt(y.*conj(y))*2.0/N; %取功率普密度
f=(0:length(Pyy)-1)*SF/length(Pyy);
LPyy=20*log10(Pyy);
plot(f(1:N/2),Pyy(1:N/2),'black'); %输出FS/2点幅频谱图grid;
3)正弦波的频谱分析图像和程序
%zhengxianbopufenxi
fid = fopen('F:\研究生信号处理
\fanbo_45HZ_1024_1000HZ\sin_45HZ_1024_1000HZ'); %读入三角波信号
SF=1000; %采样频率为1000HZ
[a,N]= fscanf(fid,'%f');
fclose(fid); %关闭打开的三角波文件
y=fft(a,N); %进行快速傅里叶运算
Pyy =sqrt(y.*conj(y))*2.0/N; %取功率普密度
f=(0:length(Pyy)-1)*SF/length(Pyy);
LPyy=20*log10(Pyy);
plot(f(1:N/2),Pyy(1:N/2),'black'); %输出FS/2点幅频谱图grid;
由上面的三幅图我们可以看出,在三角波、正弦波和方波这三种相同频率波的频谱分析中,方波的谐波特性最明显而且都是频率的奇数倍,三角波的谐波特性次之,正弦波的最不明显。