信号的频谱分析及MATLAB实现

信号的频谱分析及MATLAB实现
信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现

张登奇, 杨慧银

(湖南理工学院信息与通信工程学院, 湖南岳阳 414006)

摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法.

关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应

中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05

Analysis of Signal Spectrum and Realization

Based on MATLAB

ZHANG Deng-qi, YANG Hui-yin

(College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented.

Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect

引言

信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序.

1 分析流程

实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频

收稿日期: 2010-06-09

作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

30 湖南理工学院学报(自然科学版) 第23卷 谱; 如果对离散信号进行了加窗处理, 则会因截断效应产生吉伯斯现象; 倘若是连续信号, 则还会出现频谱混叠. 但如果合理选择参

数, 分析误差完全可以控制在

允许范围内, 利用DFT 分析信

号的频谱在工程上是完全可行

的[2]. 分析信号频谱的基本流

程如图1所示.

w ( n )

)

图1 信号频谱分析的基本流程 2 分析误差

利用DFT(实际是用FFT)对连续或离散信号进行频谱分析时, 如果信号连续一般要进行采样和截断, 即使信号离散也往往需要进行加窗截断. 用有限的离散数据进行DFT 变换, 得到有限个DFT 数据值, 与原信号的频谱肯定不同, 这种不同就是分析误差. 下面按信号频谱分析的基本流程, 分别介绍误差形成的原因及减小分析误差的主要措施, 为实际分析过程中适当选择参数提供理论依据.

2.1 混叠现象

对连续信号进行频谱分析时, 先要对信号进行采样, 理论上要求采样频率s f 必须大于两倍信号的最高频率[3]. 在满足采样定理条件下, 采样序列的数字频谱能准确反映连续信号的模拟频谱, 否则会发生频谱混叠现象. 严格地讲, 实际信号的持续时间有限、频谱无限, 为了尽可能减少频谱混叠, 信号在采样之前一般都要进行预滤波处理. 预滤波也不可能是理想低通, 所以频谱混叠不可避免. 在实际工作中, 为了减小频谱混叠的影响, 可通过适当提高防混叠滤波器的指标和适当增大采样频率来实现, 采样频率常取信号最高频率的2.5~3倍. 各类连续信号采样频率的选取原则与方法可参考文[2].

2.2 截断效应

利用计算机对离散序列或连续信号的采样序列进行DFT 运算时, 往往要进行截断, 即将离散序列进行加窗处理. 对离散序列的加窗实际上是将离散序列与窗函数相乘, 加窗后信号的频谱是加窗前信号的频谱与窗函数频谱的卷积, 造成截断后信号的频谱与截断前信号的频谱不同, 这就是所谓截断效应. 截断效应对频谱分析的影响主要表现在两个方面:

(1) 频谱泄漏 原序列经截断后, 频谱会向两边展宽, 通常称这种展宽为泄漏. 频谱泄漏使频谱变模糊, 分辨率变差, 泄漏程度与窗函数幅度谱主瓣宽度有关. 窗型一定, 窗口越长, 主瓣越窄, 频谱泄漏越小. 窗口长度一定, 矩形窗主瓣最窄, 频谱泄漏最小, 但其旁瓣的幅度最大.

(2) 谱间干扰 对原序列截断, 频谱不仅会向附近展宽, 还会形成许多旁瓣, 引起不同频率间的干扰, 简称谱间干扰. 特别是强信号谱的旁瓣可能湮没弱信号的主谱或误认为是另一假信号的主谱线. 矩形窗的旁瓣幅度大, 谱间干扰严重. 相对而言, 布莱克曼窗的旁瓣幅度比矩形窗小, 谱间干扰小, 但其主瓣过渡带宽, 分辨率差.

采样频率或采样周期是在满足混叠误差前提下选取的, 当采样频率或采样周期确定后, 适当增加窗口长度有利于减小截断效应. 工程上, 可用试探法确定窗口长度M , 即将M 加倍, 分别进行DFT 运算, 直到相邻两个长度的计算结果接近, 取长度较小的M , 这样既可满足截断效应要求, 又可使存储单元最小且运算速度最快. 如对频率分辨率有要求, 则窗口长度M 可取0F 0

s f F 或大于且接近该值的2的整数幂. 在窗口长度一定情况下, 如果希望引起频谱扩展的过渡带窄, 可选矩形窗, 但其旁瓣大, 谱间干扰严重. 若选用布莱克曼窗, 旁瓣幅度小, 谱间干扰相对较小, 但主瓣过渡带更宽, 分辨率会进一步下降[4].

2.3 栅栏效应

对加窗后的序列进行DFT 运算时, DFT 长度必须大于或等于加窗序列的长度, 否则会作自动截断处理.

第3期 张登奇等: 信号的频谱分析及MATLAB 实现 31 实际的DFT 运算一般采用FFT 算法, 其长度取大于或等于加窗序列的2的整数幂, 不足进行补零处理, 得到的DFT 值是对加窗序列的连续谱进行等间隔取样的结果. 这就好比通过一个有很多缝隙的栅栏去观察一个连续频谱, 很多地方会被栅栏挡住, 故称栅栏效应. 在加窗序列的尾部补零可使频谱的取样点更密, 相当于加密了栅栏的缝隙, 使原来看不到的谱分量可能看得到, 减小了栅栏效应, 但由于被观察的连续谱并没有发生变化, 故频率分辨率并没有提高, 最多只能说可视分辨率提高了[5]. 要提高信号的频率分辨率, 选择主瓣窄的截断窗可有一定的改善, 但谱间干扰会更严重, 根本上只能通过增加原始信号的长度来实现.

3 分析实例

对信号进行频谱分析时, 由于信号不同, 傅里叶分析的频率单位也可能不同, 频率轴有不同的定标方式. 为了便于对不同信号的傅里叶分析进行对比, 这里统一采用无纲量的归一化频率单位, 即模拟频率对采样频率归一化; 模拟角频率对采样角频率归一化; 数字频率对2π归一化; DFT 的k 值对总点数归一化. 同时, 为了便于与理论值进行对比, 理解误差的形成和大小, 这里以确定信号的幅度谱分析为例进行分析说明. 假设信号为: ()e ()t x t u ?=t , 分析过程: 首先利用CTFT 公式计算其模拟频谱的理论值; 然后对其进行等间隔理想采样, 得到()x n 序列, 利用DTFT 公式计算采样序列的数字连续频谱理论值, 通过与模拟频谱的理论值对比, 理解混叠误差形成的原因及减小误差的措施; 接下来是对()x n 序列进行加窗处理, 得到有限长加窗序列()xw n , 再次利用DTFT 公式计算加窗后序列()xw n 的数字连续频谱, 并与加窗前()x n 的数字连续频谱进行对比, 理解截断误差形成的原因及减小误差的措施; 最后是对加窗序列进行DFT 运算, 得到加窗后序列()xw n 的DFT 值, 它是对()xw n 数字连续频谱进行等间隔采样的采样值, 通过对比, 理解栅栏效应及DFT 点数对栅栏效应的影响. 利用MATLAB 实现上述分析过程的程序如下:

clc;close all;clear;

%CTFT 程序, 以x(t)=exp(-t) t>=0 为例

%利用数值运算计算并绘制连续信号波形

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) 信号时域波形'),%加网格和标题

%利用符号运算和数值运算计算连续信号幅度谱的理论值

syms t W %定义时间和角频率符号对象

xt=exp(-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('幅度'), %加标签

grid,title('(b) 连续信号幅频理论值'), %加网格和标题

32 湖南理工学院学报(自然科学版) 第23卷

%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) 理想采样图形'),%加网格和标题

%利用符号运算和数值运算计算离散信号幅度谱的理论值

syms n z w %定义符号对象

xn=exp(-n*T), %定义离散信号

Xz=ztrans(xn,n,z),%用完整调用格式计算其Z变换

%利用复合函数计算序列傅里叶变换的解析解

Z=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) 离散信号幅频理论值'), %加网格和标题

%序列加窗图示及频谱幅值绘制

%利用数值运算计算并绘制加窗后序列xw(n)的图形

M=8;win=(window(@rectwin,M))'; %定义窗点和窗型

xwn=xn_num.*[win,zeros(1,N-M)]; %给离散信号加窗

subplot(3,2,5);stem(n_num,xwn,'b.'), %加窗序列图示

xlabel('n'),ylabel('xw(n)'), %加标签

grid,title('(e) 加窗序列图形'), %加网格和标题

%利用符号运算和数值运算计算加窗序列的频谱幅值

%先求加窗序列的Z变换, 注意表达式长度限制问题

Xwz=0;for n=0:(M-1);Xwz = Xwz+xwn(n+1)*z^(-n); end

%利用复合函数计算加窗序列傅里叶变换的解析解

Zw=exp(j*w);HejwM=compose(Xwz,Zw,z,w);

HejwM_num=subs(HejwM,w,w1*2*pi);%求频谱数值解

mag3=abs(HejwM_num);%计算各频点频谱的幅度

subplot(3,2,6);plot(w1,mag3*T),%绘频谱幅度曲线

%利用DFT计算加窗序列xw(n)的离散谱幅值

Ndft=16, Xk=fft(xwn,Ndft);%定义DFT点数和DFT运算

Xk0=fftshift(Xk)*T;%将DFT值0对称和幅值加权处理

if mod(Ndft,2)==0; N1=Ndft; else N1=Ndft-1; end;

k=[0:(Ndft-1)]-N1/2;wk=k/Ndft;%0对称取值并归一化

hold on;stem(wk,abs(Xk0),'r.'),%绘制DFT图形

legend('幅谱','DFT',0),%加响应图例, 位置自动最佳

xlabel('归一化频率'),ylabel('幅度'),%加标签

grid,title('( f ) 加窗序列幅谱及其DFT幅值'),

第3期 张登奇等: 信号的频谱分析及MATLAB 实现 33 plot(w1,mag1,'k:'),%与连续信号幅谱的理论值比较

该程序过程清晰、容易理解, 程序运行结果如图2所示. 图2(a)是信号的时域波形, 图2(b)是对应的幅度谱图. 由于在归一化频率

为0.5的地方还有较大幅度,

所以对信号进行理想采样后存

在较大的混叠失真, 表现在图

2(d)中归一化频率为?0.5~0.5

范围内的波形与图的波

形明显不同. 图是理想采

样序列加矩形窗得到的图形,

对应的幅度谱线如图中

实线所示. 该谱线与图相

比有明显的不同(如波动现象),

这是加窗截断的结果. 窗口长

度越短截断效应会越明显. 对

加窗序列进行DFT 运算, 只要

DFT 点数大于等于窗口长度,

算出的DFT 值就是对加窗序列的连续频谱在一个周期内进行的等间隔采样的采样值. 在图2(f 表现为DFT 幅值在加窗序列连续幅谱的谱线上, 是连续频谱曲线上的有限个数据点, 即所谓栅栏效应. 图2(用虚线画出了连续信号的幅谱理论值, 与DFT 的幅值对比, 存在一定误差, 但只要采样频率足够高, 时窗长度足够长, FFT 点数足够大, 得到的DFT 值越逼近实际频谱.

2(b))中中2(e)2(f 2(d))f

)图2 频谱分析图解说明

4 结束语

利用傅里叶分析方法可以对各类信号进行频谱分析, DFT 在时域和频域均实现了离散, 适合数值运算且有快速算法, 解决了利用计算机分析信号频谱的难题. 在实际分析过程中, 对连续信号先要进行采样, 会出现频谱混叠现象. 对离散信号一般要进行加窗处理, 会出现频谱泄漏和谱间干扰等截断效应. 对加窗序列进行DFT 运算, 只能得到该序列连续谱的等间隔取样数据, 故存在栅栏效应. 理解了各种误差形成的原因和可能产生的不良后果, 合理选择分析参数, 完全可以使分析结果在工程误差允许范围内.

参考文献

[1] 吴湘淇. 信号与系统[M]. 第3版. 北京: 电子工业出版社, 2009

[2] 吴湘淇. 肖 熙, 郝晓莉. 信号、系统与信号处理的软硬件实现[M]. 北京: 电子工业出版社, 2002: 45~78

[3] John G. Proakis. 数字信号处理[M]. 方艳梅, 刘永清, 译. 北京: 电子工业出版社, 2006: 282~295

[4] 万建伟, 王 玲. 信号处理仿真技术[M]. 长沙: 国防科技大学出版社, 2008: 77~88

[5] 赵彦斌, 张永瑞. 信号谱分析中参数选择对频率分辨率的影响[J]. 电子科技, 2005,(11): 8~11

[6] 栗学丽, 刘 琚. “数字信号处理”教学中易混淆的问题讨论[J]. 电气电子教学学报, 2009,31(4): 39~41

[7] 汉泽西, 姚英彪. 用DFT 分析正弦信号频谱时应注意的几个问题[J]. 西安石油学院学报, 2003,18(2): 67~70

[8] 张志勇. 精通MATLAB6.5[M]. 北京: 北京航空航天大学出版社, 2003

[9] 高西全, 丁玉美. 数字信号处理[M]. 第3版. 西安: 西安电子科技大学出版社, 2008: 95~105

[10] 刘顺兰, 吴 杰. 数字信号处理[M]. 第2版. 西安: 西安电子科技大学出版社, 2008: 137~145

用MATLAB进行FFT频谱分析

用MATLAB 进行FFT 频谱分析 假设一信号: ()()292.7/2cos 1.0996.2/2sin 1.06.0+++=t t R ππ 画出其频谱图。 分析: 首先,连续周期信号截断对频谱的影响。 DFT 变换频谱泄漏的根本原因是信号的截断。即时域加窗,对应为频域卷积,因此,窗函数的主瓣宽度等就会影响到频谱。 实验表明,连续周期信号截断时持续时间与信号周期呈整数倍关系时,利用DFT 变换可以得到精确的模拟信号频谱。举一个简单的例子: ()ππ2.0100cos +=t Y 其周期为0.02。截断时不同的持续时间影响如图一.1:(对应程序shiyan1ex1.m ) 图 错误!文档中没有指定样式的文字。.1 140.0160.0180.02 截断时,时间间期为周期整数倍,频谱图 0.0250.03 0100200300400500600 7008009001000 20 40 60 80 100 截断时,时间间期不为周期整数倍,频谱图

其次,采样频率的确定。 根据Shannon 采样定理,采样带限信号采样频率为截止频率的两倍以上,给定信号的采样频率应>1/7.92,取16。 再次,DFT 算法包括时域采样和频域采样两步,频域采样长度M 和时域采样长度N 的关系要符合M ≧N 时,从频谱X(k)才可完全重建原信号。 实验中信号R 经采样后的离散信号不是周期信号,但是它又是一个无限长的信号,因此处理时时域窗函数尽量取得宽一些已接近实际信号。 实验结果如图一.2:其中,0点位置的冲激项为直流分量0.6造成(对应程序为shiyan1.m ) 图 错误!文档中没有指定样式的文字。.2 ?ARMA (Auto Recursive Moving Average )模型: 将平稳随机信号x(n)看作是零均值,方差为σu 2的白噪声u(n)经过线性非移变系统H(z)后的输出,模型的传递函数为 020406080100120140160180200 0.4 0.50.60.7 0.800.050.10.150.20.250.30.350.40.450.5 50100 150

基于Matlab的相关频谱分析程序教程

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()()2 xx S X ωω=,其中()/2 /2 1lim N j n n N n N X x e N ωω→∞ =-=∑ πωπ-<≤。其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ =∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωπ π ωωπ --= = ? ? 序列n x 在整个Nyquist 间隔上的平均功率可以表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f π π ωωπ --= = ? ? 上式中的

信号的频域分析及MATLAB实现.doc

《M A T L A B电子信息应用》 课程设计 设计五 信号的频域分析及MATLAB实现 学院: 专业: 班级: 姓名: 学号:

信号的频域分析及MATLAB实现 一、设计目的 通过该设计,理解傅里叶变换的定义及含义,掌握对信号进行频域分析的方法。 二、课程设计环境 计算机 MATLAB软件 三、设计内容及主要使用函数 快速傅里叶变换的应用 1)滤波器频率响应 对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器。其功能就是得到一个特定频率或消除一个特定频率,滤波器是一种对信号有处理作用的器件或电路。主要作用是:让有用信号尽可能无衰减的通过,对无用信号尽可能大的。 滤波器的类型:巴特沃斯响应(最平坦响应),贝赛尔响应,切贝雪夫响应。 滤波器冲激响应的傅里叶变换就是该滤波器的频率响应。

2)快速卷积 卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。其中表示f 的傅里叶变换。 这一定理对拉普拉斯变换、双边拉普拉斯变换等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。 利用卷积定理可以简化卷积的运算量。对于长度为n 的序列,按照卷积的定义进行计算,需要做2n - 1组对位乘法,其计算复杂度为;而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为。这一结果可以在快速乘法计算中得到应用。 1. 信号的离散傅里叶变换 有限长序列的离散傅里叶变换公式为: kn N j N n e n x k X )/2(10)()(π--=∑= ∑==1_0)/2()(1)(N n kn N j e k X N n x π MATLAB 函数:fft 功能是实现快速傅里叶变换,fft 函数的格式为: ),(x fft y =返回向量x 的不连续fourier 变换。 若)6 cos()(πn n x =是一个N=12的有限序列,利用MATLAB 计算

基于MATLAB的频谱分析及信号去噪仿真研究开题报告

辽宁石油化工大学 信息与控制工程学院 毕业设计(论文)开题报告 论文题目:基于MATLAB的频谱分析及信号去噪仿真研究 学生姓名:徐宏强 专业班级:信息0901 学号: 0903030123 指导教师:崔畅 2013 年 03 月 17日

填写说明: 1.题目的背景和意义 对题目的出处,背景和意义进行说明论述,不少于300字。2.题目研究现状概述 通过调研和查阅文献,对题目所涉及的技术、理论和研究成果进行说明论述,不少于1000字。 3.题目要完成的主要内容和预期目标 对题目要完成的主要内容进行说明,并说明达到的预期目标, 不少于300字 4.进度计划 从设计开始的教学周起,依据任务书的进度安排进行细化并以周为单位给出主要工作和完成的任务。 5.参考文献 对2引用的资料、论文或著作按照引用顺序列出参考文献(格式同论文《参考文献》)。不少于10篇(其中近3年的文献占1/3以上), 注:相应栏不够时自动加页。 排版要求:正文,宋体,小四,行距固定值20磅 要求学生在毕业设计(论文)开始后的第2周末完成《开题报告》,并交到指导教师评阅(交电子稿和双面打印稿)。

1.题目的背景和意义 随着时代的发展,信息的传输方式逐渐发展为通过信号的方式传送,信号在采集和传输的过程中,由于外界的影响及机器自身的原因难免会有噪声夹杂在其中,在这种情况下,会影响对信号的分析,尤其是对一些高精度数据影响更为巨大,所以对信号的去噪,提取出原始信号是一个重要课题,最为传统的去噪方式是让信号通过一个低通或者带通滤波器,通过这种方法滤去噪声,但是在这个过程中可能会使信号变得平滑失去突变信息,现今的数字滤波器分为有限冲激响应滤波器FIR和无限冲激响应滤波器IIR,在各种信号处理与分析的中,最重要的数学工具是傅立叶变换,而常用的处理工具是MATLAB,利用MATLAB设计滤波器,可以随时对比设计要求,并调整滤波器参数,这样更为直观简便,减轻工作量,有利于对滤波器的设计优化,对信号的去噪有更好的帮助。 2.题目研究现状概述 随着计算机的发展,数字信号处理的理论与技术得到飞速发展,20世纪60年代以来,我国形成了一系列的数字信号处理的理论与算法,比如,数字滤波器,快速傅立叶变换(FFT),这些都是数字信号处理的技术基础,随着信息科技的飞速发展,信号处理取得了重大的飞跃。信号的去噪是数字信号处理中的一个很重要的研究课题,在现今的各种信号中,噪声一般分为两类:相干噪声和随机噪声,相干噪声包括面波,多次波等,随机噪声包括测量误差,环境噪声等。而对信号滤除噪声的方法大致分为三种:基于傅立叶变换的去噪法,相干平均去噪法,和基于小波变换的去噪法。信号去噪在雷达的使用和通信中有着极大的作用,经过先辈们不断的研究与实验,运用滤波器进行信号去噪的方法已经相当完美了,数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能,数字滤波器分为IIR数字滤波器和FIR数字滤波器。 信号处理基本涉及到所有的工程技术领域,而信号去噪是信号处理的一个非常重要的分支,而频谱分析又是信号处理中一个非常重要的分析手段,一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。而利用MATLAB就会免去以上的问题。信号去噪被用于从一堆波音资料中提取有用信息去除干扰,提高波音资料信噪比。为了提高信噪比,人们根据信号和噪声的各种特征差异,设计了许多去噪方法,并在应用中取得了很好的成果。信号去噪的很多方法都是利用短时傅立叶变换来滤波去噪,但是短时傅立叶变换不能同时兼顾时间分辨率和

基于MATLAB的信号频谱分析仪的实现

基于的信号频谱分析仪的实现 一、概述 信号处理几乎涉及到所有的工程技术领域,而频谱分析又是信号处理中一个非常重要的分析手段。一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路,用软件代替了硬件,使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析。 在工程领域中,是一种倍受程序开发人员青睐的语言,对于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算 法显得游刃有余。本文将重点介绍基于的虚拟频谱分析仪的设计。本文设计的虚拟频谱分析仪的功能包括: () 音频信号信号输入。输入的途径包括从声卡输入、从文件输入、从信号发生器输入; () 信号波形分析。包括幅值、频率、周期、相位的估计,并计算统计量的峰值、均值、均方值和方差等信息; () 信号频谱分析。频率、周期的估计,图形显示幅值谱、相位谱和功率谱等信息的曲线。

二、实验原理 时域抽样定理 时域抽样定理给出了连续信号抽样过程中信号不失真的约束条件:对于基带信号,信号抽样频率 大于等于倍的信号最高频 率 ,即 。时域抽样是把连续信号 变成适于数字 系统处理的离散信号 。对连续信号 以间隔抽样,则可得到 的离散序列为 。 图 连续信号抽样的离散序列 若 ,则信号 与 的频谱之间存在: 其中: 的频谱为 , 的频谱为 。 可见,信号时域抽样导致信号频谱的周期化。 ()为抽 样角频率, 为抽样频率。数字角频率Ω与模拟角频率ω的关系为:Ωω。 离散傅立叶变换() 有限长序列)(n x 的离散傅立叶变换()为 )e (j Ω X ()∑∞ -∞=-=n n X T )(j 1sam ωω)e (j ΩX []k X )e (j ωX )j (ωX T sam /2πω=[]k X ()t X []()kT t kT X X ==k ()t X []k X ()t X []()kT t kT X X ==k m sam f f 2≥sam f m f T f sam 1=

用Matlab进行信号与系统的时、频域分析

课程实验报告 题目:用Matlab进行 信号与系统的时、频域分析 学院 学生姓名 班级学号 指导教师 开课学院 日期 用Matlab进行信号与系统的时、频域分析 一、实验目的 进一步了解并掌握Matlab软件的程序编写及运行; 掌握一些信号与系统的时、频域分析实例; 了解不同的实例分析方法,如:数值计算法、符号计算法; 通过使用不同的分析方法编写相应的Matlab程序; 通过上机,加深对信号与系统中的基本概念、基本理论和基本分析方法的理解。 二、实验任务 了解数值计算法编写程序,解决实例; 在Matlab上输入三道例题的程序代码,观察波形图; 通过上机实验,完成思考题; 完成实验报告。 三、主要仪器设备

硬件:微型计算机 软件:Matlab 四、 实验内容 (1) 连续时间信号的卷积 已知两个信号)2()1()(1---=t t t x εε和)1()()(2--=t t t x εε,试分别画出)(),(21t x t x 和卷积)()()(21t x t x t y *=的波形。 程序代码: T=0.01; t1=1;t2=2; t3=0;t4=1; t=0:T:t2+t4; x1=ones(size(t)).*((t>t1)-(t>t2)); x2=ones(size(t)).*((t>t3)-(t>t4)); y=conv(x1,x2)*T; subplot(3,1,1),plot(t,x1); ylabel('x1(t)'); subplot(3,1,2),plot(t,x2); ylabel('x2(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1)); ylabel('y(t)=x1*x2'); xlabel('----t/s'); (2)已知两个信号)()(t e t x t ε-=和)()(2/t te t h t ε-=,试用数值计算法求卷积,并分别画出)(),(t h t x 和卷积)()()(t h t x t y *=的波形。 程序代码: t2=3;t4=11; T=0.01; t=0:T:t2+t4; x=exp(-t).*((t>0)-(t>t2)); h=t.*exp(-t/2).*((t>0)-(t>t4)); y=conv(x,h)*T; yt=4*exp(-t)+2*t.*exp(-1/2*t)-4*exp(-1/2*t); subplot(3,1,1),plot(t,x); ylabel('x(t)'); subplot(3,1,2),plot(t,h); ylabel('h(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1),t,yt,'--r'); legend('by numberical','Theoretical'); ylabel('y=x*h'); xlabel('----t/s'); (3)求周期矩形脉冲信号的频谱图,已知s T s A 5.0,1.0,1===τ

Matlab对采样数据进行频谱分析

使用Matlab对采样数据进行频谱分析 1、采样数据导入Matlab 采样数据的导入至少有三种方法。 第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。 第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。据本人经验,当数据大于15万对之后,读入速度就会显著变慢,出现假死而失败。 第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load 等,如果采样数据保存在txt文件中,则推荐使用 textread命令。如 [a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。强烈推荐! 2、对采样数据进行频谱分析 频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100; t=[0:1/fs:100]; N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t); %上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析 figure(1) plot(t,p); grid on title('信号 p(t)'); xlabel('t') ylabel('p')

基于matlab的频谱分析仪设计

Frequency Analyzer YangXiao M2013705103 HuaZhong University of Science and Technology School of Mechanical Science and Engineering Abstract: Matlab Is a numerical analysis, matrix calculation, scientific data visualization and nonlinear dynamic state system modeling and simulation, and other functions of practical software engineering.It’s easy to use the windows environment and cast off a tradition on the interactive programming language (such as C, Fortran) Edit mode In large range.In this report,The task is to design a frequency analyzer by using matlab. Keyword:frequency analyzer;Matlab;time-domain analysis;frequency-domain analysis;

1.Preface MATLAB is called Matrix Laboratory,which is designed by the United States MathWorks company.It’s a commercial mathematical software. Matlab can be use for Matrix operations, mapping functions and data, algorithm, creating the user interface, connect to other programming languages procedures, mainly used in engineering calculations, control design, signal processing and communications, image processing, signal detection, design and financial modeling analysis and other fields. GUI (Graphical User Interface, referred to as GUI, known Graphical User Interface) is displayed using the graphical user interface of computer operations.. Matlab has a powerful GUl tool. In this report, by using matlab GUI tool we could design a frequency analyzer. Frequency analyzer is the instrument which could be used to study the structure of the electrical signal spectrum, and used to measure the signal parameters of signal distortion, modulation, frequency stability and spectral purity.Frequency analyzer could be used to measure some parameters of amplifier and filter circuit system , and it is a kind of multipurpose electronic measuring instrument. FFT (Fast Fourier Transformation) is the fast algorithm of DFT(discrete Fourier transformtion), which is based on discrete Fourier transform.By using FFT we could get the answer faster than DFT.

matlab频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 %写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [h,f]=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器''); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel('时间(seconds)'); ylabel('时间按幅度'); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 w= %新信号角频率 subplot(223); plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 title('低通滤波后的频谱图'); %设计高通滤波器 [N,Wc]=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 [h,f]=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot()); %绘制Butterworth高通滤波器的幅频响应图 title('巴氏高通滤波器'); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel('Time(seconds)'); ylabel('Time waveform'); w; %新信号角频率 subplot(223);

基于MATLAB的频谱分析仪设计

基于MATLAB的信号频谱分析仪的实现 一、概述 信号处理几乎涉及到所有的工程技术领域,而频谱分析又是信号处理中一个非常重要的分析手段。一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路,用软件代替了硬件,使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析。 在工程领域中,MA TLAB是一种倍受程序开发人员青睐的语言,对于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算法MA TLAB显得游刃有余。本文将重点介绍虚拟频谱分析仪、MA TLAB软件及对正弦信号的频谱分析。 1.1虚拟频谱分析仪的功能包括: (1) 音频信号信号输入。输入的途径包括从声卡输入、从WAV文件输入、从信号发生器输入; (2) 信号波形分析。包括幅值、频率、周期、相位的估计,并计算统计量的峰值、均值、均方值和方差等信息; (3) 信号频谱分析。频率、周期的估计,图形显示幅值谱、相位谱和功率谱等信息的曲线。 2.1MA TLAB软件

二、实验原理 2.1快速傅立叶变换(FFT) 在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。 有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT是DFT 的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。 MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰富的数学函数,主要有Fft、Ifft、Fft2 、Ifft2, Fftn、ifftn和Fftshift、Ifftshift等。当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。所以,要尽可能使所要处理的数据长度为2的幂次或者用添零的方式来添补数据使之成为2的幂次。 Fft函数调用方式:○1Y=fft(X); ○2Y=fft(X,N); ○3Y=fft(X,[],dim)或Y=fft(X,N,dim)。 函数Ifft的参数应用与函数Fft完全相同。 2.2周期图法功率谱分析原理 周期图法是把随机数列x(n)的N个观测数据视为能量有限的序列,直接计算x(n)的傅立叶变换,得X(k),然后再取幅值的平

MATLAB关于FFT频谱分析的程序

MATLAB关于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=128'); grid; %求均方根谱 sq=abs(y); figure(1); subplot(233); plot(f,sq); xlabel('频率(Hz)'); ylabel('均方根谱'); title('正弦信号y=2*pi*10t均方根谱'); grid; %求功率谱 power=sq.^2; figure(1); subplot(234); plot(f,power); xlabel('频率(Hz)'); ylabel('功率谱'); title('正弦信号y=2*pi*10t功率谱'); grid; %求对数谱 ln=log(sq); figure(1); subplot(235); plot(f,ln);

基于MATLAB的信号波形与频谱分析 精品

辽宁科技大学毕业设计(论文)第I页 基于MATLAB的信号波形与频谱分析 摘要 本文利用MATLAB软件进行信号频谱分析的设计,并通过GUI界面(图形用户界面)实现信号频谱分析的动态设计。用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及对离散信号与连续信号的动态频谱分析。并利用MATLAB内嵌的Simulink模块,实现系统的信号频谱分析,满足不同用户的不同要求。 MATLAB的GUIDE是专门用于图形用户界面(GUI)程序设计的快速开发环境,本文从介绍GUIDE入手结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。通过本文的研究得出利用GUIDE设计的仿真界面不仅可以对离散信号与连续信号的动态频谱进行相关分析,而且还可以对此问题作进一步的预测和分析。基于GUIDE技术制作的图形用户界面,具有友好性,开放性,方便科研人员不断地研究和扩充。 关键词频谱分析;GUI;SIMULINK;MATLAB

辽宁科技大学毕业设计(论文)第II页 Abstract Using MATLAB software for signal spectrum analysis of the design, and through the GUI interface (graphical user interface) signal spectrum analysis of the dynamic design. Users can interactively with the computer targeting parameters for the establishment, control algorithm selection, and the discrete signals and continuous signal analysis of the dynamic spectrum. MATLAB and Simulink embedded module, the signal system to achieve spectral analysis, meet the needs of different users with different needs. MATLAB GUIDE is devoted to the graphical user interface (GUI) design procedures for the rapid development environment, This paper introduced GUIDE start from the context of the specific examples of graphical interface software, GUIDE is produced using a graphical user interface methods. Through this paper, the study of the use of simulation GUIDE interface design can not only right for discrete signal and the signal dynamic spectrum analysis, but also the issue for further analysis and forecasts. GUIDE technology based on the production of graphical user interface is friendly and open, facilitate researchers continue to study and expanded. Keywords Spectrum Analysis ;GUI;SIMULINK;MATLAB

基于MATLAB的频率调制与解调

郑州轻工业学院 课程设计说明书 题目:利用MATLAB实现信号的频率调制与解调 姓名:宋蒙 院(系):电气信息工程学院 专业班级:电子信息工程专业 学号:541101030233 指导教师:赵红梅 成绩: 时间:2014年 6 月9 日至2014年 6 月13 日

郑州轻工业学院 课 程 设 计 任 务 书 题目 利用MATLAB 实现信号的频率调制与解调 专业、班级 电子信息工程11级 2班 学号 33 姓名 宋蒙 主要内容、基本要求、主要参考资料等: 主要内容: 利用MATLAB 对信号 ()()???? ?≤=其他 ,0t ,10002t t Sa t m 进行频率调制,载波信号频率为1000Hz ,频偏常数s t K f 2.0,500==。首先在MATLAB 中显示调制信号的波形和频谱,已调信号的波形和频谱,比较信号调制前后的变化。然后对已调信号解调,并比较解调后的信号与原信号的区别。 基本要求: 1、掌握利用MATLAB 实现信号频率调制与解调的方法。 2、学习MATLAB 中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示。 3、加深理解调制信号的变化;验证信号调制的基本概念、基本理论,掌握信号与系统的分析方法。 主要参考资料: 1、王秉钧等. 通信原理[M].北京:清华大学出版社,2006.11 2、陈怀琛.数字信号处理教程----MATLAB 释义与实现[M].北京:电子工业出版社,2004. 完 成 期 限: 2014.6.9—2014.6.13 指导教师签名: 课程负责人签名: 2014年 6月 13日

利用MATLAB实现信号的频率调制与解调 电子信息工程 11级 2班指导老师:赵红梅 摘要:FM属于角度调制,角度调制与线性调制不同,已调信号频谱不再是原调制信号频谱的线性搬移,而是频谱的非线性变换,会产生与频谱搬移不同的新的频率成分,故又称为非线性调制。FM调制又称为频率调制,与幅度调制相比,角度调制的最突出的优势在于其较高的抗噪声性能,但获得这种优势的代价是角度调制占用比幅度调制信号更宽的带宽。调制在通信系统中有十分重要的作用,通过调制不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于传播的已调信号,而且它对系统的传输有效性和传输的可靠性有着很大的影响,调制方式往往决定了一个通信系统的性能 本课程设计主要基于MATLAB集成环境编写程序实现FM 调制与解调过程,并分别绘制出调制信号、已调信号和解调信号的时域及频域波形。 关键词: FM调制;非相干解调;MATLAB

利用matlab怎样进行频谱分析、、

利用matlab怎样进行频谱分析 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数。 这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰。另外我还想说明以下几点: 1、图像经过二维傅立叶变换后,其变换系数矩阵表明: 若变换矩阵Fn原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅立叶变换矩阵Fn的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。 2、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大)。 从计算机处理精度上就不难理解,一个长度为N的信号,最多只能有N/2+1个不同频率,再多的频率就超过了计算机所能所处理的精度范围)X[]数组又分两种,一种是表示余弦波的不同频率幅度值:Re X[],另一种是表示正弦波的不同频率幅度值:Im X[],Re是实数(Real)的意思,Im是虚数(Imagine)的意思,采用复数的表示方法把正余弦波组合起来进行表示,但这里我们不考虑复数的其它作用,只记住是一种组合方法而已,目的是为了便于表达(在后面我们会知道,复数形式的傅立叶变换长度是N,而不是N/2+1)。

matlab声音信号频谱分析的课程设计

原语音信号 [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Y=fft(y,n); >> subplot(2,1,1);plot(y); >> subplot(2,1,2);plot(abs(Y));

加噪声 >> [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Noise=0.2*randn(n,2); >> s=y+Noise; >> sound(s) >> subplot(2,1,1); >> plot(s) >> S=fft(s); >> subplot(2,1,2); >> plot(abs(S)) >> title('加噪语音信号的频谱波形')

FIR 低通滤波器 fp=1000;fc=1200;As=100;Ap=1;fs=30000; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1; >> beta=0.1102*(As-8.7); >> Win=Kaiser(N+1,beta); b=fir1(N,wc,Win); >> freqz(b,1,512,fs); >> s_low=filter(b,1,s); >> plot(s_low);title('信号经过低通滤波器的时域图') >> S_low=fft(s_low,n); >> plot(abs(S_low));title('信号经过低通滤波的频谱') >> sound(s_low,fs,bits)

基于MATLAB的语音信号的频谱分析

数字信号处理 结课报告 设计题目:基于MATLAB的语音信号的频谱分析姓名: 专业班级: 学号: 成绩: 指导教师: 日期: 2013 年 11 月 30 日

1.课程设计目的 综合运用数学信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.理解设计基本要求 1)熟悉离散信号和系统的时域特性。 2)熟悉线性卷积和相关的计算编程方法。 3)掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对离散信号、系统和 系统的响应进行频域分析。 4)学会MATLAB的使用,掌握MATLAB的程序设计方法。 5)利用MATLAB对wav文件进行频谱分析。 6)分别用不同的滤波器对加噪语音信号进行滤波,选择最佳滤波器。 3.课程设计内容 选择一个wav文件作为分析的对象,或录制一段语音信号,对其进行频谱分析,分别对加噪前后的语音信号进行频谱分析,再通过不同滤波器根据信号的频谱特点重构语音信号,选出最佳滤波方案。 4.课程设计实现步骤 (1)语音信号的获取 选择一个wav文件作为分析的对象,可以利用Windows下的录音机或其他软件,录制一段自己的话音,在MATLAB中,[y,fs,bits]=wavread('Blip',[N1 N2]);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。[N1 N2]表示读取的值从N1点到N2点的值。 sound(y);用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。 下面是语音信号在MATLAB中的语言程序,它实现了语音的读入与打开,并绘出了语音信号时域波形,然后对语音信号进行频谱分析。在MATLAB中,可以利用函数fft对信号进行快速傅里叶变化,得到信号的频谱特性。 在频谱特性中分析最大值的位置(可能有几个),它代表的频率和时域的采样时间有关,相邻的两点之间的距离为。其中,N是离散傅里叶变换用的点数,是采样的时间,前面在读取 wav文件时得到了采样频率。 既然知道了该声波的频谱,按频率就可以反演它的时域值,利用以上分析的主要峰值来重构声波。由于没有考虑相位和其他的频谱分量,所以波形和原来的波形相差甚大,但大体的频率是没有错的。 fs=25600; %语音信号采样频率为25600 [x,fs,bits]=wavread('C:\windows\system32\config\systemprofile\Des ktop\mayue.wav'); sound(x,fs,bits); %播放语音信号

相关文档
最新文档