基于MATLAB的信号的频谱分析

基于MATLAB的信号的频谱分析

ID:40640854

大小:129.50 KB

页数:4页

时间:2019-08-05

基于MATLAB的信号的频谱分析_第1页
基于MATLAB的信号的频谱分析_第2页
基于MATLAB的信号的频谱分析_第3页
基于MATLAB的信号的频谱分析_第4页
资源描述:

《基于MATLAB的信号的频谱分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于MATLAB的信号的频谱分析一.题目的说明及设计指标DFT是在时域和频域上都已离散的傅里叶变换,适于数值计算且有快速算法,是利用计算机实现信号频谱分析的常用数学工具。文章介绍了利用DFT分析信号频谱的基本流程,重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施,实例列举了MATLAB环境下频谱分析的实现程序。通过与理论分析的对比,解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应,并提出了相应的改进方法。二.建模分析离散傅里叶变换x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为:X(k)=DFT[x(n)]=,k=0,1

2、,...,N-1;逆变换:x(n)=IDFT[X(k)]=,k=0,1,...,N-1对信号进行频谱分析时,由于信号不同,傅里叶分析的频率单位也可能不同,频率轴有不同的定标方式。为了便于对不同信号的傅里叶分析进行对比,这里统一采用无纲量的归一化频率单位,即模拟频率对采样频率归一化;模拟角频率对采样角频率归一化;数字频率对2π归一化;DFT的k值对总点数归一化。同时,为了便于与理论值进行对比,理解误差的形成和大小,这里以确定信号的幅度谱分析为例进行分析说明。假设信号为:分析过程:首先利用CTFT公式计算其模拟频谱的理论值;然后对其进行等间隔理想采样,得到序列,利用DTFT

3、公式计算采样序列的数字连续频谱理论值,通过与模拟频谱的理论值对比,理解混叠误差形成的原因及减小误差的措施;接下来是对序列进行加窗处理,得到有限长加窗序列,再次利用DTFT公式计算加窗后序列的数字连续频谱,并与加窗前的数字连续频谱进行对比,理解截断误差形成的原因及减小误差的措施;最后是对加窗序列进行DFT运算,得到加窗后序列的DFT值,它是对数字连续频谱进行等间隔采样的采样值,通过对比,理解栅栏效应及DFT点数对栅栏效应的影响。4三.运行代码利用MATLAB实现上述分析过程的程序如下:clc;closeall;clear;%CTFT程序,以x(t)=exp(-t)t>=0

4、为例%利用数值运算计算并绘制连续信号波形L=4,%定义信号波形显示时间长度fs=4,T=1/fs;%定义采样频率和采样周期t_num=linspace(0,L,100);%取若干时点,点数决定作图精度xt_num=exp(-1*t_num);%计算信号在各时点的数值subplot(3,2,1);plot(t_num,xt_num),%绘信号波形xlabel('时间(秒)'),ylabel('x(t)'),%加标签grid,title('(a)信号时域波形'),%加网格和标题%利用符号运算和数值运算计算连续信号幅度谱的理论值symstW%定义时间和角频率符号对象xt=ex

5、p(-1*t)*heaviside(t),%连续信号解析式XW=fourier(xt,t,W),%用完整调用格式计算其傅氏变换%在0两边取若干归一化频点,点数决定作图精度w1=[linspace(-0.5,0,50),linspace(0,1.5,150)];XW_num=subs(XW,W,w1*2*pi*fs);%利用置换函数求频谱数值解mag1=abs(XW_num);%计算各频点频谱的幅值subplot(3,2,2);plot(w1,mag1),%绘制归一化频率幅值谱线xlabel('频率(*2*pi*fs)rad/s'),ylabel('幅度'),%加标签gr

6、id,title('(b)连续信号幅频理论值'),%加网格和标题%DTFT程序,以x(n)=exp(-nT)n>=0为例%利用数值运算计算并绘制离散信号图形N=L*fs+1;n_num=0:N-1;%生成信号波形采样点xn_num=exp(-1*n_num*T);%计算信号理想采样后的序列值subplot(3,2,3);stem(n_num,xn_num,'b.'),%绘序列图形xlabel('n'),ylabel('x(n)'),%加标签grid,title('(c)理想采样图形'),%加网格和标题%利用符号运算和数值运算计算离散信号幅度谱的理论值symsnzw%定义

7、符号对象xn=exp(-n*T),%定义离散信号Xz=ztrans(xn,n,z),%用完整调用格式计算其Z变换%利用复合函数计算序列傅里叶变换的解析解4Z=exp(j*w);Hejw=compose(Xz,Z,z,w);Hejw_num=subs(Hejw,w,w1*2*pi);%求频谱数值解mag2=abs(Hejw_num);%计算各频点频谱的幅度subplot(3,2,4);plot(w1,mag2*T),%绘制频谱幅度曲线xlabel('频率(*2*pi)rad'),ylabel('幅度'),%加标签grid,title('(d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。