数据采集与信号处理教程范本.docVIP

  • 3
  • 0
  • 约7.21千字
  • 约 22页
  • 2016-10-21 发布于湖北
  • 举报
哈尔滨理工大学 研究生考试试卷 考试科目:数据采集与信号处理 阅 卷 人: 专 业: 姓 名: 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计算。处理结果为采用窗口显示时域波形和频域波形。 此信号的时域谱,频域谱,功率谱 如下图所示: 其MATLAB代码为: 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; %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; %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; %取功率普密度

文档评论(0)

1亿VIP精品文档

相关文档