文档详情

Simulin下的频谱分析方法及matlab的FFT编程.doc

发布:2016-10-14约9.92千字共8页下载文档
文本预览下载声明
Simulink下的频谱分析方法实现功能: 信号发生器一个信号输入,实时显示其频谱分析 调用模块: 信号源(Signal Processing Blockset - Signal Processing Sources - Sine Wave) Tip 1:不能用连续的信号源 频谱观察窗(Signal Processing Blockset - Signal Processing Sources - Spectrum Scope) Tip 2: 不能用普通的观察窗 Tip 3:必须构上设置中的Buffer input. Buffer size 越大越精细。 Tip 4: 剩下的tips读帮助。 连接关系: 如下图所示 ????原理框图实验结果: 输出示意图 ------------------------------ ------------------------------ 实现功能: 从Workspace读取一组数,进行频谱分析 调用模块: From Workspace Tip 1: 采样时间不能用0,即必须使用离散模式 Tip 2: 从其他模型中Scope保存出来的“Structure with time”的数据可以直接用 频谱观察窗(同上一功能) ------------------------------ ------------------------------ 实现功能: 从dSPACE读取一组数,进行频谱分析 实现方法: 1. 从dSPACE读数保存成文件,数据导入Workspace(过程略) 2. 采用从其他模型的Scope保存数据为“Structure with time”的方式构建一个结构变量ScopeData1 3. 使用以下代码将dSPACE数据dscapture拷贝到结构变量ScopeData1中 %% ScopeData1.time=[0:0.0001:1.9156]; %纯粹为占位,19157为dSPACE保存数据长度 for i=1:19157 ????ScopeData1.signals.values(:,:,i)=dscapture.Y.Data(i); end %% 4. 采用下图中的模型进行频谱分析 实验结果: ????通过以上方法对单轴压电加速度传感器进行灵敏度分析,下图分别为采用dSPACE和直接利用示波器分析的结果对比。 结果分析: 波形吻合,采用dSPACE测试时噪声的分贝减小了25dB。 在310Hz、370Hz和410Hz出现异常尖峰 Matlab编程实现FFT实践及频谱分析 内容 1.用Matlab产生正弦波,矩形波,以及白噪声信号,并显示各自时域波形图 2.进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选 3.做出上述三种信号的均方根图谱,功率图谱,以及对数均方根图谱 4.用IFFT傅立叶反变换恢复信号,并显示恢复的正弦信号时域波形图 源程序 %*************************************************************************% %? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?FFT实践及频谱分析? ?? ?? ?? ?? ?? ?? ?? ???% %*************************************************************************% %*************************************************************************% %***************1.正弦波****************% fs=100;%设定采样频率 N=128; n=0:N-1; t=n/fs; f0=10;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f0*t); figure(1); subplot(231); plot(t,x);%作正弦信号的时域波形 xlabel(t); ylabel(y); title(正弦信号y=2*pi*10t时域波形); grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 f=(0:length(y)-1)*fs/length(y);%进行对应的频率转换 figure(1); subplot(232); plot(f,mag);%做频谱图 axis([0,100,0,80]); xlabel(频率(Hz)); ylabel(幅值); title(正弦信号y=2*pi*10t幅频谱图N=
显示全部
相似文档