信号频谱分析

信号频谱分析
信号频谱分析

信号频谱分析

摘要:信号频谱分析就是利用MATLAB实现快速傅里叶变换的分析的方法,通过DSP数字信号处理器对实时采集到的信号进行FFT运算后实现时域与频域的转换,频谱分析主要分析信号是由哪些频率的正弦信号叠加得到的,以及这些正弦信号的振幅,所以FFT运算结果反映的是频域中各频率分量幅值的大小。

关键词:MATLAB、傅里叶变换、频谱分析。

一、引言

信号的频谱分析的主要是求出时域描述相对应的频域描述,从中找出信号频谱的变化规律,已达到特征提取的目的。不同信号的傅里叶分析理论与方法有差别,目前常用的是FFT分析法,在特定的时间段中队时域信号进行FFT变换,得到频域信息并获取相对于频率的幅度、相位信息,适用于非周期信号和持续时间很短的瞬态信号的频谱测量。

二、实验设计思想

先将实时信号的采样值送入DSP系统,DSP程序对这些采样值进行FFT变换,经运算求出对应的信号频谱数据,并将结果送到PC机屏幕上进行显示,使DSP硬件系统完成一台信号频谱分析仪的功能,如下流程所示:

在A/D端加入输入信号→装在并运行FFT程序→读入AD采样值→进行FFT运算求信号的DFT→将计算结果送入PC机→显示时域信号及频谱图

1、实验原理说明

一个模拟信号,经过ADC采样之后,就变成了数字信号。采样定理告诉我们,采样频率要大于信号频率的两倍。采样得到的数字信号,然后做FFT变换。N个采样点,经过FFT之后,就可以得到N个点

的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。若原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A 的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N 倍。而每个点的相位就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。

假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=a*a+b*b的二次开方,相位就是Pn=atan2(b,a)。根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。对于n=1

点的信号,是直流分量,幅度即为A1/N。由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。

2、实验过程

(1)、先运行上位软件Signal,进入频谱分析窗口。

(2)、分析函数发生器产生的模拟信号,实验时先将函数发生器的输出端接到数字滤波器的输入端,然后运行FFT程序,最后做实时分析,即可在PC机屏幕上观察到输入信号的波形和快速傅里叶变换的结果(可通过选择不同波形进行观察)。

3、实验结果处理及分析

假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数atan2(b,a)计算。atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。

4、实验注意事项

(1)为了减小实验误差,在一定范围内需要提高频率分辨力,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度达到需要的点数,再做FFT。

(2)注意频谱分析时信号的采样率,只有当被测信号的频率和采样频率成整数倍关系时,频谱图才比较稳定清楚。

三、频谱分析意义及应用场合

频谱分析的意义是很明确的,就是分析信号的频率构成。更确切地说就是用来分析信号中都含有哪几种正弦波成份。反过来说就是,该信号可以用哪几种频率的正弦波来合成出来。方波信号、正弦波信号、

三角波信号以及白噪声信号等这些信号的频域与时域间关系明确,并且具有一定特性,熟练掌握这些典型信号的频谱分析可为实际工程分析做参考。频谱分析在工程测试中应用广泛,譬如研究噪声频谱寻找噪声污染源;又如在机床齿轮机器故障诊断中,通过测量齿轮箱上的振动信号,进行频谱分析,确定最大频率分量,再根据机床转速和转动链找出故障齿轮;再譬如螺旋桨设计中,可通过频谱分析确定螺旋桨的固有频率和临界转速,确定其转速范围等等。

四、参考文献

(1)《信号与系统》第二版郑君里杨为理高等教育出版社2005 08 (2)《数字信号处理》张洪涛、万红华中科技大学出版社2007 03 (3)《基于快速傅立叶变换的信号频谱分析仿真》曾立波科技广场第7期2006

实验一利用DFT分析信号频谱

实验一利用DFT 分析信号频谱 一、 实验目的 1. 加深对DFT 原理的理解。 2. 应用DFT 分析信号的频谱。 3. 深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。 二、 实验设备与环境 计算机、MATLAB^件环境。 三、 实验基础理论 1. DFT 与DTFT 的关系 方法二:实际在MATLAB 十算中,上述插值运算不见得是最好的办法。 由于DFT 是DTFT 的取 样值,其相邻两个频率样本点的间距为 —,所以如果我们增加数据的长度 N,使得到的 N DFT 谱线就更加精细,其包络就越接近 DTFT 的结果,这样就可以利用 DFT 计算DTFT 如果 没有更多的数据,可以通过补零来增加数据长度。 3、利用DFT 分析连续时间函数 利用DFT 分析连续时间函数是,主要有两个处理:①抽样,②截断 对连续时间信号x a (t) 一时间T 进行抽样,截取长度为 M 则 址 ML X a (N)「-x a (t)e4dt 二「x a (nT)e jnT n=0 再进行频域抽样可得 M 4 —j 竺 n 送,T' X a (nT)e N =TX M (k) NT n =0 因此,利用DFT 分析连续时间信号的步骤如下: (1 )、确定时间间隔,抽样得到离散时间序列 x(n). (2) 、选择合适的窗函数和合适长度 M 得到M 点离散序列x M DFT 实际上是 DTFT 在单位圆上以 的抽样,数学公式表示为: N-1 _j 空 k X(k) = X(z)| 耳八 x(n)e N z” N n=0 (2 — 1) 2、利用 DFT 求DTFT 方法一:利用下列公式: 2rk X(e j )二、X(k)( ) k=0 N k= 0,1,..N - 1 (2 — 2) Sn(N ,/2) Nsin(,/2) .N A e 2为内插函数 (2— 3) (2—4) X a (r 1)|

对正弦信号的采样频谱分析.doc

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计 课程名称:课程设计2 设计题目:对正弦信号的抽样频谱分析院系:电子与信息工程学院 班级:0805203 设计者:褚天琦 学号:1080520314 指导教师:郑薇 设计时间:2011-10-15 哈尔滨工业大学

一、题目要求: 给定采样频率fs,两个正弦信号相加,两信号幅度不同、频率不同。要求给定正弦信号频率的选择与采样频率成整数关系和非整数关系两种情况,信号持续时间选择多种情况分别进行频谱分析。 二、题目原理与分析: 本题目要对正弦信号进行抽样,并使用fft对采样信号进行频谱分析。因此首先对连续正弦信号进行离散处理。实际操作中通过对连续信号间隔相同的抽样周期取值来达到离散化的目的。根据抽样定理,如果信号带宽小于奈奎斯特频率(即采样频率的二分之一),那么此时这些离散的采样点能够完全表示原信号。高于或处于奈奎斯特频率的频率分量会导致混叠现象。设抽样周期为TS(抽样角频率为ωS),则 可见抽样后的频谱是原信号频谱的周期性重复,当信号带宽小于奈奎斯特频率的二分之一时不会产生频谱混叠现象。 因此,我们对采样频率的选择采取fs>2fo,fs=2fo,fs<2fo三种情况进行分析。对信号采样后,使用fft函数对其进行频谱分析。为了使频谱图像更加清楚,更能准确反映实际情况并接近理想情况,我们采用512点fft。取512点fft不仅可以加快计算速度,而且可以使频谱图更加精确。若取的点数较少,则会造成频谱较大的失真。 三、实验程序: 本实验采用matlab编写程序,实验中取原信号为 ft=sin(2πfXt)+2sin(10πfXt),取频率f=1kHz,实验程序如下: f=1000;fs=20000;Um=1; N=512;T=1/fs; t=0:1/fs:0.01; ft=Um*sin(2*pi*f*t)+2*Um*sin(10*pi*f*t); subplot(3,1,1); plot(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft'); title('抽样信号的连续形式'); subplot(3,1,2); stem(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft');

频谱及信号分析技术

频谱及信号分析技术 【摘要】随着电子技术的发展,世界各国加速了对电子领域的研究,具体体现在竞相提高通信、雷达、遥控、导航等无线电电子设备的威力和效能等方面。在这些方面,频谱分析成为必不可少的信号分析手段。频谱分析可以对信号的频率、电平、频谱纯度及抗干扰特性进行分析,使其成为电子领域必不可少的测量手段。对于信号分析,使用的仪器也是重中之重。其中使用最广泛的事频谱分析仪和矢量信号分析仪等。 【关键词】频谱、信号分析、应用、频谱分析仪、矢量信号分析仪首先介绍一下信号频谱分析的方法,信号又分为周期和非周期两种。下面就连续周期和非周期信号频谱分析的方法做一个介绍和研究。在信号处理过程中,频域分析方法往往比时域分析方法更方便和有效。对于确知连续时间信号,其频域分析可以通过连续时间傅里叶变换来进行,但是,这样计算出来的结果仍然是连续函数,计算机不能直接加以处理。为了实现数值计算,还需要对其进行离散化处理,即采用离散傅里叶变换(DFT)进行分析。DFT 的快速算法的出现,使 DFT 在数字通信、图像处理、功率谱估计、系统分析与仿真、雷达信号处理、光学、医学等各个领域都得到广泛应用。对于时间连续信号f(t),其频谱分析可以通过连续时间傅里叶变换(CTFT)来进行。连续时间傅里叶变化特别适合于对时间连续信号的理论分析,但是,由于函数 f(t)和其频谱函数都是连续函数,不能够直接用计算机来处理,因此在进行数值计算时必须将其离散化,然后利用离散傅里叶变换(DFT)实现近似计算。在已知连续信号数学解析式的情况下,非周期信号的频谱可以根据傅里叶变换的定义进行解析计算。实际应用中的多数信号不存在数学解析式,信号的频谱无法利用傅里叶分析公式方法直接计算,一般需采用数值方法进行近似计算分析频谱,在进行数字计算时,需对计算的连续变量进行离散化。由于连续非周期信号 x(t) 的频谱函数 X(jω)是连续函数,因此,需要对其进行离散化处理得到 x[n]以近似分析相应的频谱。通过建立序列 x[n]的离散傅里叶变换 X[m]与连续非周期信号 x(t)的傅里叶变换 X(jω)之间的关系,可以利用DFT对连续非周期信号频谱进行近似分析。在利用DFT分析连续时间信号的频谱时,涉及频谱混叠、频率泄漏及栅栏现象。频率混叠与连续信号的时域抽样间隔有关,频率泄漏与信号的时域加窗截短的长度及窗型有关,栅栏现象与DFT的点数有关。在大多数情况下,一般已知待分析连续信号的最高频率,以及希望的DFT的频率分辨率。 频谱分析仪是功能强大并广泛应用于射频信号检测的一种仪器。现代外差式频谱分析仪由射频前端、第1级混频、多级中频处理、视频处理、检波和踪迹输出5部分组成,如图1所示。

数字信号课程设计 应用FFT对信号进行频谱分析

实验二应用FFT对信号进行频谱分析 一、实验目的 1.加深对离散信号的DTFT和DFT的及其相互关系的理解。 2.在理论学习的基础上,通过本次实验,加深对快速傅立叶变换 的理解,熟悉FFT算法及其程序的编写。 3.熟悉应用FFT对典型信号进行频谱分析的方法。 4.了解应用FFT进行信号频谱分析过程中可能出现的问题,以便 在实际中正确应用FFT。 二、实验原理与方法 一个连续信号x a(t)的频谱可以用他的傅立叶变换表示为: = 如果对该信号进行理想采样,可以得到采样序列:x(n)=X a(nT) 同样可以对该序列进行Z变换,其中T为采样周期:X(z)= 当Z=e jω的时候,我们就得到了序列的傅立叶变换:X(e j ω)= 其中称为数字频率,它和模拟域频率的关系为: 式中的f s是采样频率,上式说明数字频率是模拟频率对采样频率 f s的归一化。同模拟域的情况相似,数字频率代表了序列值变化的 速率,而序列的傅里叶变换为序列的频谱。序列的傅里叶变换和对应的采样信号频率具有下式的对应关系。 X(e jω)= 即序列的频谱是采样信号频谱的周期延拓。从上式可以看出,只要分析采样序列的频谱,就可以得到相应的连续信号频谱,就可以得到相应的连续信号的频谱。注意:这里的信号必须是带限信号,采样也必须满足Nyquist定理。 在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。无限长的序列也往往可以用有限长序列来逼近。对于有限长的序列我们可以使用离散傅里叶变换(DFT),这一变换可以很好地反映序列的频域特性,并且容易利用快速算法在计算机上实现当序列的长度是N时,我们定义离散傅里叶变化为:X(k)=DFT[x(n)]= 其中,它的反变换定义为: x(n)=IDFT[X(k)]= 令Z=,则有:==DFT[x(n)] 可以得到,是Z平面单位圆上幅角为 的点,就是将单位圆进行N等分以后第K个点。所以,X(k)是Z变换在单位圆上的等距采样,或者说是序列福利叶变换的等距

周期矩形信号的频谱分析

1.周期信号的频谱 周期信号在满足一定条件时,可以分解为无数三角信号或指数之和。这就是周期信号的傅里叶级数展开。在三角形式傅里叶级数中,各谐波分量的形式为()1cos n n A n t ω?+;在指数形式傅里叶级数中,分量的形式必定为1j n t n F e ω 与1-j -n t n F e ω 成对出现。为了把周期信号所具有的各 次谐波分量以及各谐波分量的特征(如模、相角等)形象地表示出来,通常直接画出各次谐波的组成情况,因而它属于信号的频域描述。 以周期矩形脉冲信号为lifenxi 周期信号频谱的特点。周期矩形信号在一个周期(-T/2,T/2)内的时域表达式为 ,2 0,>2 ()A t T t f t ττ ≤?=?? (2-6) 其傅里叶复数系数为 12 n n A F Sa T ωττ?? = ??? (2-7) 由于傅里叶复系数为实数,因而各谐波分量的相位为零(n F 为正)或为π±(n F 为负),因此不需要分别画出幅度频谱n F 与相位频谱n φ。可以直接画出傅里叶系数n F 的分布图。 如图2.4.1所示。该图显示了周期性矩形脉冲信号()T f t 频谱的一些性质,实际上那个也是周期性信号频谱的普遍特性: ① 离散状频谱。即谱线只画出现在1ω的整数倍频率上,两条谱线的间隔为1ω(等于2π/t )。 ② 谱线宽度的包络线按采样函数()1/2a S n ωτ的规律变化。如图2.4.2所示。但1ω 为 2π τ 时,即( )2m π ωτ =(m=1,2,……)时,包络线经过零点。在两相邻 零点之间,包络线有极值点,极值的大小分别为-0.212()2A T τ,

用FFT对信号作频谱分析 实验报告

实验报告 实验三:用FFT 对信号作频谱分析 一、 实验目的与要求 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。 二、 实验原理 用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 三、 实验步骤及内容(含结果分析) (1)对以下序列进行FFT 分析: x 1(n)=R 4(n) x 2(n)= x 3(n)= 选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: n+1 0≤n ≤3 8-n 4≤n ≤7 0 其它n 4-n 0≤n ≤3 n-3 4≤n ≤7 0 其它 n

实验结果图形与理论分析相符。(2)对以下周期序列进行谱分析: x4(n)=cos[(π/4)*n]

x5(n)= cos[(π/4)*n]+ cos[(π/8)*n] 选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: (3)对模拟周期信号进行频谱分析: x6(n)= cos(8πt)+ cos(16πt)+ cos(20πt) 选择采样频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】:

用频谱分析仪测量通信信号

用频谱分析仪测量通信信号 一、GSM信号的测量 现代高度发达的通信技术可以让人们在地球的任意地点控制频谱分析仪,因此就更要懂得不同参数设置和不同信号条件对显示结果的影响。 典型的全球移动通信系统(GSM)的信号测量如图1所示,它清楚地标明了重要的控制参数设置和测量结果。IFR2399型频谱分析仪利用彩色游标来加亮测量区域,此例中,被加亮的测量区域是占用信道和上下两个相邻信道的中心50kHz频带。 显示的水平轴(频率轴)中心频率为900MHz,扫频频宽为1MHz,而每一小格代表l00kHz。顶部水平线表示0dBm,垂直方向每一格代表10dB。信号已经被衰减了10dB,测量显示的功率电平已考虑了此衰减。 图1 GSM信道带宽显示和功率测量 GSM是以两个25MHz带宽来传送的:从移动发射机到基站采用890MHz到915MHz,从基站到移动接收机采用935MHz到960MHz。这个频带被细分为多个200kHz信道,而第50个移动发送信道的中心频率为900MHz,如图1所示。该信号很明显是未调制载波,因为它的频谱很窄。实际运用中,一个GSM脉冲串只占用200kHz稍多一点的信道带宽。 按照GSM标准,在发送单个信道脉冲串时,时隙持续0.58ms,而信道频率以每秒217次的变化速率进行慢跳变,再加上扫频仪1.3s的扫描时间,根据这些条件可以判定这是一个没有时间和频率跳变的静态测试,没有迹象表明900阳z的信号是间断信号。 为了保证良好的清晰度,选用1kHz的分辨带宽(RBW)滤波器。较新的频谱分析仪中的模拟滤波器的形状系数(3dB:60dB)为11,意思是60dB时滤波器带宽(从峰值衰减60dB)是3dB时滤波器带宽(从峰值衰减3dB)的11倍,即11kHz比1kHz。 与此相比,数字滤波器的形状系数还不到5。例如一个3dB带宽为50kHz的带通滤波器,其60dB带宽只有60kHz,这几乎是矩形通带。它保证在计算平均功率时只含有50kHz以外区域很小一点的功率。作为对比,如果分辨带宽RBW50kHz,使用前面提及的模拟滤波器而不是数字滤波器,其60dB带宽将为550kHz。 标记1处的信号电平是4.97dBm。为了使噪声背景出现在屏幕上,显示轨迹线已向上偏移了10dB(在图中不易察觉),这是由于信号峰值被预先衰减10dB使其不超过顶部水平线,这也是信号峰值读数比参考电平高的原因。 图中,主信道功率(CHP)读数为7.55dBm,与峰值(标记1处)的读数4.978m不一致,其原因就是主信道功率是在50kHz测量带宽内计算的,而标记1的读数是峰值。公式1定义了在整个带宽内计算主信道功率的方法。 其中, CHPwr:信道功率,单位dBm CHBW:信道带宽 Kn:噪声带宽与分辨带宽之比 N:信道内象素的数目 Pi:以1mW为基准的电平分贝数(dBm)

DFT在信号频谱分析中的应用

DFT在信号频谱分析中的应用 目录 Ⅰ.设计题目 (1) Ⅱ.设计目的 (1) Ⅲ.设计原理 (1) Ⅳ.实现方法 (1) Ⅴ.设计内容及结果 (5) Ⅵ.改进及建议 (11) Ⅶ.思考题及解答 (14) Ⅷ.设计体会及心得 (15) Ⅸ.参考文献 (16)

Ⅰ.设计题目 DFT 在信号频谱分析中的应用 Ⅱ.设计目的 掌握离散傅里叶变换的有关性质,利用Matlab 实现DFT 变换。了解DFT 应用,用DFT 对序列进行频谱分析,了解DFT 算法存在的问题及改进方法。学习并掌握FFT 的应用。 Ⅲ.设计原理 所谓信号的频谱分析就是计算信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于直接用计算机进行计算,使其应用受到限制,而DFT 是一种时域和频域均离散化的变换,适合数值运算,成为分析离散信号和系统的有力工具。 工程实际中,经常遇到的连续信号Xa(t),其频谱函数Xa(jW)也是连续函数。数字计算机难于处理,因而我们采用DFT 来对连续时间信号的傅里叶变换进行逼近,进而分析连续时间信号的频谱。 Ⅳ.实现方法 离散傅里叶变换是有限长序列的傅里叶变换,它相当于把信号的傅里叶变换进行等频率间隔采样,并且有限长序列的离散傅里叶变换和周期序列的离散傅里叶级数本质是一样的。 快速傅里叶变换(FFT )并不是一种新的变换,它是离散傅里叶变换的一种快速算法,并且主要是基于这样的思路而发展起来的:(1)把长度为N 的序列的DFT 逐次分解成长度较短的序列的DFT 来计算。(2)利用WN(nk)的周期性和对称性,在DFT 运算中适当的分类,以提高运算速度。(对称性nk N nk N W W N -=+2 ,

信号的频谱分析及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? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

信号的频谱分析

姓名冯浩学号222017322092029 班级电气2班 专业电气工程及其自动化实验日期2019年6月10日实验学时 3 一.实验名称 信号的频谱分析 二.实验目的 1.熟悉快速傅里叶变换的fft函数的调用; 2.熟悉频谱分析仿真的方法; 3.验证时域抽样定理。 三.实验原理(略) 四.仿真实验练习 1.显示海明窗函数时域波形与频谱,与矩形窗比较。 海明窗函数与矩形窗函数比较脚本程序: N=51; w=hamming(N); %长度为51的海明窗 W=fft(w,256); %作256点的快速傅里叶变换 subplot(221);stem([0:N-1],w);title(‘海明窗函数’) subplot(222);plot([-128:127],abs(fftshift(W))); %将零频点移到频谱中 %间并取幅值为正 title(‘海明窗频谱’) w=boxcar(N); %长度为51的矩形窗 W=fft(w,256); subplot(223);stem([0:N-1],w); title(‘矩形窗函数’) Subplot(224);plot([-128:127],abs(fftshift(W)));title(‘矩形窗频谱’)

2.编写函数,分析抽样函数的频谱,并分析在不同采样频率、不同采样时间区间、不同加窗函数情况下的频谱与理论函数的区别。 函数编写: function X = SY2(T,t0,t1,window) if winodw==[] %输入参数没有说明加窗类型时默认使用矩形窗 window=1; end t=t0:T:t1; x=sinc(100*t); N=length(x); switch window case 1 w=boxcar(N); %矩形窗 case 2 w=hamming(N); %海明窗 case 3 w=hanning(N); %汉宁窗 end x=x'.*w; %转置后相乘 X=fft(x); end ①不同的采样频率脚本程序: clc t0=-1; t1=1; T=[0.001 0.005 0.01 0.05]; %取不同采样时间(间隔) for i=1:4 X=hs(T(i),t0,t1); N=length(X); w=(0:N-1)*5/N; %频率区间为5 subplot(5,1,i);plot(w,abs(X)) ylabel({num2str(T(i))}) %y坐标标题为采样时间 end 图片显示如下

实验:典型信号频谱分析报告

实验3.2 典型信号频谱分析 一、 实验目的 1. 在理论学习的基础上,通过本实验熟悉典型信号的波形和频谱特征,并 能够从信号频谱中读取所需的信息。 2. 了解信号频谱分析的基本方法及仪器设备。 二、 实验原理 1. 典型信号及其频谱分析的作用 正弦波、方波、三角波和白噪声信号是实际工程测试中常见的典型信号,这些信号时域、频域之间的关系很明确,并且都具有一定的特性,通过对这些典型信号的频谱进行分析,对掌握信号的特性,熟悉信号的分析方法大有益处,并且这些典型信号也可以作为实际工程信号分析时的参照资料。本次实验利用DRVI 快速可重组虚拟仪器平台可以很方便的对上述典型信号作频谱分析。 2. 频谱分析的方法及设备 信号的频谱可分为幅值谱、相位谱、功率谱、对数谱等等。对信号作频谱分析的设备主要是频谱分析仪,它把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式二种。模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础,实现信号的时—频关系转换分析。 傅立叶变换是信号频谱分析中常用的一个工具,它把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。 信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。时域信号x(t)的傅氏变换为: 式中X(f)为信号的频域表示,x(t)为信号的时域表示,f 为频率。 3. 周期信号的频谱分析 周期信号是经过一定时间可以重复出现的信号,满足条件: dt e t x f X ft j ?+∞ ∞--=π2)()(

实验二连续时间信号的频域分析

实验二 连续时间信号的频域分析 一、实验目的 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs 现象”,了解其特点以及产生的原因; 3、掌握连续时间傅里叶变换的分析方法及其物理意义; 4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质; 5、学习掌握利用Matlab 语言编写计算CTFS 、CTFT 和DTFT 的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT 、DTFT 的若干重要性质。 基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用Matlab 编程完成相关的傅里叶变换的计算。 二、原理说明 1、连续时间周期信号的傅里叶级数CTFS 分析 任何一个周期为T 1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。 三角傅里叶级数为: ∑∞ =++=1 000)]sin()cos([)(k k k t k b t k a a t x ωω 2.1 或: ∑∞=++=1 00)cos()(k k k t k c a t x ?ω 2.2 其中1 02T πω=,称为信号的基本频率(Fundamental frequency ),k k b a a ,和,0分别是信号)(t x 的直流分量、 余弦分量幅度和正弦分量幅度,k k c ?、为合并同频率项之后各正弦谐波分量的幅度和初相位,它们都是频率0ωk 的函数,绘制出它们与0ωk 之间的图像,称为信号的频谱图(简称“频谱”),k c -0ωk 图像为幅度谱,k ?-0ωk 图像为相位谱。 三角形式傅里叶级数表明,如果一个周期信号x(t),满足狄里克利条件,就可以被看作是由很多不同频率的互为谐波关系(harmonically related )的正弦信号所组成,其中每一个不同频率的正弦信号称为正弦谐波分量 (Sinusoid component),其幅度(amplitude )为k c 。也可以反过来理解三角傅里叶级数:用无限多个正弦谐波分量可以合成一个任意的非正弦周期信号。 指数形式的傅里叶级数为:

信号的频谱分析

实验三信号的频谱分析 方波信号的分解与合成实验 一、任务与目的 1. 了解方波的傅立叶级数展开和频谱特性。 2. 掌握方波信号在时域上进行分解与合成的方法。 3. 掌握方波谐波分量的幅值和相位对信号合成的影响。 二、原理(条件) PC机一台,TD-SAS系列教学实验系统一套。 1. 信号的傅立叶级数展开与频谱分析 信号的时域特性和频域特性是对信号的两种不同的描述方式。对于一个时域的周期信号f(t),只要满足狄利克莱条件,就可以将其展开成傅立叶级数: 如果将式中同频率项合并,可以写成如下形式: 从式中可以看出,信号f(t)是由直流分量和许多余弦(或正弦)分量组成。其中第一项A0/2是常数项,它是周期信号中所包含的直流分量;式中第二项A1cos(Ωt+φ1)称为基波,它的角频率与原周期信号相同,A1是基波振幅,φ1是基波初相角;式中第三项A2cos(Ωt+φ2)称为二次谐波,它的频率是基波的二倍,A2是基波振幅,φ2是基波初相角。依此类推,还有三次、四次等高次谐波分量。 2. 方波信号的频谱 将方波信号展开成傅立叶级数为: n=1,3,5… 此公式说明,方波信号中只含有一、三、五等奇次谐波分量,并且其各奇次谐波分量的幅值逐渐减小,初相角为零。图3-1-1为一个周期方波信号的组成情况,由图可见,当它包含的分量越多时,波形越接近于原来的方波信号,还可以看出频率较低的谐波分量振幅较大,它们组成方波的主体,而频率较高的谐波分量振幅较小,它们主要影响波形的细节。

(a)基波(b)基波+三次谐波 (c)基波+三次谐波+五次谐波 (d)基波+三次谐波+五次谐波+七次谐波 (e)基波+三次谐波+五次谐波+七次谐波+九次谐波 图3-1-1方波的合成 3. 方波信号的分解 方波信号的分解的基本工作原理是采用多个带通滤波器,把它们的中心频率分别调到被测信号的各个频率分量上,当被测信号同时加到多路滤波器上,中心频率与信号所包含的某次谐波分量频率一致的滤波器便有输出。在被测信号发生的实际时间内可以同时测得信号所包含的各频率分量。本实验便是采用此方法,实验中共有5路滤波器,分别对应方波的一、三、五、七、九次分量。 4. 信号的合成 本实验将分解出的1路基波分量和4路谐波分量通过一个加法器,合成为原输入的方波信号,信号合成电路图如图3-1-2所示。 图3-1-2 三、内容与步骤 本实验在方波信号的分解与合成单元完成。 1. 使信号发生器输出频率为100Hz、幅值为4V的方波信号,接入IN端。 2. 用示波器同时测量IN和OUT1端,调节该通路所对应的幅值调节电位器,使该通路输出方波的基波分量,基波分量的幅值为方波信号幅值的4/π倍,频率于方波相同并且没有相位差.(注意:出厂时波形调节电位器已调到最佳位置,其波形基本不失真,基本没有相位差。若实验中发现存在波形失真或有相位差的现象,请适当调节波形调节电位器,使波形恢复正常。) 3. 用同样的方法分别在OUT3、OUT5、OUT7、OUT9端得到方波的三、五、七、九此谐波分量(注意其他谐波分量各参数应当满足式3-1-1所示)。 4. 完成信号的分解后,先后将OUT1与IN1、OUT3与IN2、OUT5与IN3、OUT7与IN4、OUT9与IN5连接起来,即进行谐波叠加(信号合成),分别测量(1)基波与三次谐波;(2)基波、三次谐波与五次谐波;(3)基波、三次谐波、五次谐波与七次谐波;(4)基波、三次谐波、五次谐波、七次谐波与九次谐波合成后的波形。并分别保

频谱分析仪和信号分析仪的区别

在实验室和车间最常用的信号测试仪器是电子示波器。人的思维对时间概念比较敏感,每时每刻都与时域事件发生联系,但是信号往往以频率形式出现,用示波器观察最简单的调幅载波信号也不方便,往往显示载波时看不清调制仪,屏幕上获得的是三条谱线,即载频和在载频左右的调制频。调制方式越复杂,电子示波器越难显示,频谱分析器的表达能力强,频谱分析仪是名副其实的频域仪器的代表。沟通时间一频率的数字表达方法就是傅里叶变换,它把时间信号分解成正弦和余弦曲线的叠加,完成信号由时间域转换到频率域的过程。 早期的频谱分析仪实质上是一台扫频接收机,输入信号与本地振荡信号在混频器变频后,经过一组并联的不同中心频率的带通滤波器,使输入信号显示在一组带通滤波器限定的频率轴上。显然,由于带通滤波器由无源元件构成,频谱分析器整体上显得很笨重,而且频率分辨率不高。既然傅里叶变换可把输入信号分解成分立的频率分量,同样可起着滤波器类似的作用,借助快速傅里叶变换电路代替低通滤波器,使频谱分析仪的构成简化,分辨率增高,测量时间缩短,扫频范围扩大,这就是现代频谱分析仪的优点了。 矢量信号分析仪是在预定,频率范围内自动测量电路增益与相应的仪器,它有内部的扫频频率源或可控制的外部信号源。其功能是测量对输入该扫频信号的被测电路的增益与相位,因而它的电路结构与频谱分析仪相似。频谱分析仪需要测量未知的和任意的输入频率,矢量信号分析仪则只测量自身的或受控的已知频率;频谱分析仪只测量输入信号的幅度(标量仪器),矢量信号分析仪则测量输入信号的幅度和相位(矢量仪器)。由此可见,矢量信号分析仪的电路结构比频谱分析仪复杂,价位也较高。现代的矢量信号分析仪也采用快速傅里叶变换,以下介绍它们的异同。 频谱分析议和FFT颁谱分析议 传统的频谱分析仪的电路是在一定带宽内可调谐的接收机,输入信号经下变频后由低通滤器输出,滤波输出作为垂直分量,频率作为水平分量,在示波器屏幕上绘出坐标图,就是输入信号的频谱图。由于变频器可以达到很宽的频率,例如30Hz-30GHz,与外部混频器配合,可扩展到100GHz以上,频谱分析仪是频率覆盖最宽的测量仪器之一。无论测量连续信号或调制信号,频谱分析仪都是很理想的测量工具。 但是,传统的频谱分析仪也有明显的缺点,首先,它只适于测量稳态信号,不适宜测量瞬态事件;第二,它只能测量频率的幅度,缺少相位信息,因此属于标量仪器而不是矢量仪器;第三,它需要多种低频带通滤波器,获得的测量结果要花费较长的时间,因此被视为非实时仪器。 既然通过傅里叶运算可以将被测信号分解成分立的频率分量,达到与传统频谱分析仪同样的结果,出现基于快速傅里叶变换(F盯)的频谱分析仪。这种新型的频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入信号取样,再经FFT处理后获得频谱分布图。据此可知,这种频谱分析仪亦称为实时频谱分析仪,它的频率范围受到ADC采集速率和FFT运算速度的限制。

DFT信号频谱分析

一,实验名称: DFT 的频谱分析 二,实验目的: 1. 加深对 DFT 原理的理解,熟悉DFT 的性质。 2. 掌握离散傅里叶变换的有关性质,利用Matlab 实现DFT 变换 3. 深刻理解利用 DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法 三,实验原理: 所谓信号的频谱分析就是计算信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于直接用计算机进行计算,使其应用受到限制,而DFT 是一种时域和频域均离散化的变换,适合数值运算,成为分析离散信号和系统的有力工具。工程实际中,经常遇到的连续信号Xa(t),其频谱函数Xa(jW)也是连续函数。数字计算机难于处理,因而我们采用DFT 来对连续时间信号的傅里叶变换进行逼近,进而分析连续时间信号的频谱。 离散傅里叶变换是有限长序列的傅里叶变换,它相当于把信号的 傅里叶变换进行等频率间隔采样,并且有限长序列的离散傅里叶变换和周期序列的离散傅里叶级数本质是一样的。快速傅里叶变换(FFT )并不是一种新的变换,它是离散傅里叶变换的一种快速算法,并且主要是基于这样的思路而发展起来的:(1)把长度为N 的序列的DFT 逐次分解成长度较短的序列的DFT 来计算。(2)利用WN(nk)的周期性和对称性,在DFT 运算中适当的分类,以提高运算速度。(对称性 nk N nk N W W N -=+2 ,12 -=N N W ;周期性nk N nk N nrN N k rN n N W W W W ---==)(,r 为任意整数

,1=nrN N W ) 离散傅里叶变换的推导: 离散傅里叶级数定义为 nk j N k p p e k x N n x N 21 )(1 )(π∑-== (1-1) 将上式两端乘以nm j N e π2-并对n 在0~N-1 求和可得 ?? ??? ?==∑∑∑∑∑-=---=-=-=---=-1 )(1 1 0101 )(1 0N 2 N 2N 2 )()(1)(N n m k n j N N k p N n N k m k n j p N n nm j p e k X e k X N e n x πππ 因为 { m k 1m k 0)(N )(1 ) (N 2 N 2N 2-1-1N 11=≠---=-==∑m k j m k j N n m k n j e e e N πππ 所以∑∑-=-=--=1 10 )()()(N 2N k p N n nm j p m k k X e n x δπ 这样∑-=-=10 N 2)()(N n nm j p p e n x m X π用k 代替m 得 ∑-=-=10 N 2)()(N n nk j p P e n x k X π (1-2) 令N 2πj N e W -=,则(1-2)成为DFS []∑-===10 )()()(N n nk N p p p W n x k X n x (1-3) (1-1)成为 IDFS [] ∑-=-= =1 )(1 )()(N n nk N p p p W k X N n x k X (1-4) 式(1-3)、(1-4)式构成周期序列傅里叶级数变换关系。其中 )()(k X n x p p 、都是周期为N 的周期序列,DFS[·]表示离散傅里叶级数 正变换,IDFS[·]表示离散傅里叶级数反变换。习惯上,对于长为N 的周期序列,把0≤n ≤N-1区间称为主值区,把)1(~)0(-N x x p p 称为)(n x p 的主值序列,同样也称)1(~)0(-N X X p p 为)(k X p 的主值序列。由于 )()()(n R n x n x N p =,对于周期序列)(n x p 仅有N 个独立样值,对于任何一 个周期进行研究就可以得到它的全部信息。在主值区研究)(n x p 与)(n x 是等价的,因此在主值区计算DFS 和DFT 是相等的,所以DFT 计算公式形式与DFS 基本相同。其关系为

周期信号的频谱分析

信号与系统 实验报告 实验三周期信号的频谱分析 实验报告评分:_______ 实验三周期信号的频谱分析 实验目的: 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因;

3、掌握各种典型的连续时间非周期信号的频谱特征。 实验内容: (1)Q3-1 编写程序Q3_1,绘制下面的信号的波形图: 其中,0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos( 0t)、cos(3 0t)、cos(5 0t)和x(t) 的波形图,给图形加title,网格线和x坐标标签,并且程序能够接受从键盘输入的和式中的项数。 程序如下: clear,%Clear all variables close all,%Close all figure windows dt = 0.00001; %Specify the step of time variable t = -2:dt:4; %Specify the interval of time w0=0.5*pi; x1=cos(w0.*t); x2=cos(3*w0.*t); x3=cos(5*w0.*t); N=input('Type in the number of the harmonic components N='); x=0; for q=1:N; x=x+(sin(q*(pi/2)).*cos(q*w0*t))/q; end subplot(221) plot(t,x1)%Plot x1 axis([-2 4 -2 2]); grid on, title('signal cos(w0.*t)') subplot(222) plot(t,x2)%Plot x2 axis([-2 4 -2 2]); grid on, title('signal cos(3*w0.*t))') subplot(223) plot(t,x3)%Plot x3 axis([-2 4 -2 2])

应用FFT实现信号频谱分析

电信类课程试验报告

2.2 clear all N=100; n=0:N-1; xn=cos(2*pi*n/N); XK=fft(xn,N); magXK=abs(XK); phaXK=angle(XK); subplot(1,2,1); plot(n,xn); xlabel('n');ylabel('x(n)'); title('x(n)N=100') subplot(1,2,2) k=0:length(magXK)-1; title('x(n)N=100') subplot(1,2,2) k=0:length(magXK)-1; k=k*(2/100) stem(k,magXK,'.'); xlabel('k');ylabel('|X(k)|');

2.3复合函数 clear all N=100; n=0:N-1; xn=0.9*sin(2*pi*n/N)+0.6*sin(2*pi*n/(N/3)); XK=fft(xn,N); magXK=abs(XK); phaXK=angle(XK); subplot(1,2,1); plot(n,xn); xlabel('n');ylabel('x(n)'); title('x(n)N=100') subplot(1,2,2) k=0:length(magXK)-1; title('x(n)N=100') subplot(1,2,2) k=0:length(magXK)-1; k=k*(2/100) stem(k,magXK,'.'); xlabel('k');ylabel('|X(k)|'); title('X(k)N=100');

相关文档
最新文档