连续非周期信号频谱分析及Matlab实现
实验四非周期信号频域分析
实验四 非周期信号频域分析1 实验目的(1) 掌握傅里叶变换的分析方法及其物理意义。
(2) 掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质。
(3) 学习掌握利用MA TLAB 语言编写计算CTFT 的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT 的若干重要性质。
2 实验原理及方法2.1连续时间信号傅里叶变换——CTFT傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。
傅里叶变换和其逆变换定义如下:⎰∞∞--=dt e t x j X t j ωω)()( 4-1 ⎰∞∞-=ωωπωd e j X t x t j )(21)( 4-2连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。
任意非周期信号,如果满足狄里克利条件,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号e j ωt 的线性组合构成的,每个频率所对应的周期复指数信号e j ωt 称为频率分量,其相对幅度为对应频率的|X(j ω)|之值,其相位为对应频率的X(j ω)的相位。
X(j ω)通常为关于ω的复函数,可以按照复数的极坐标表示方法表示为:X(j ω)=| X(j ω)|e j ∠ X(j ω)其中,| X(j ω)|称为x(t)的幅度谱, ∠X(j ω)称为x(t)的相位谱。
给定一个连续时间非周期信号x(t),它的频谱是连续且非周期的。
对于连续时间周期信号,也可以用傅里叶变换来表示其频谱,其特点是,连续时间周期信号的傅里叶变换是由冲激序列构成的,是离散的——这是连续时间周期信号的傅里叶变换的基本特征。
2.2 用MA TLAB 实现CTFT 及其逆变换2.2.1 用MATLAB 实现CTFT 的计算MA TLAB 进行傅里叶变换有两种方法,一种利用符号运算的方法计算,另一种是数值计算,本实验采用数值计算的方法。
严格来说,用数值计算的方法计算连续时间信号的傅里叶变换需要有个限定条件,即信号是时限信号,也就是当时间|t|大于某个给定时间时其值衰减为零或接近于零,这个条件与前面提到的为什么不能用无限多个谐波分量来合成周期信号的道理是一样的。
matlab软件仿真实验(信号与系统)(1)
matlab软件仿真实验(信号与系统)(1)《信号与系统实验报告》学院:信息科学与⼯程学院专业:物联⽹⼯程姓名:学号:⽬录实验⼀、MATLAB 基本应⽤实验⼆信号的时域表⽰实验三、连续信号卷积实验四、典型周期信号的频谱表⽰实验五、傅⽴叶变换性质研究实验六、抽样定理与信号恢复实验⼀MATLAB 基本应⽤⼀、实验⽬的:学习MATLAB的基本⽤法,了解 MATLAB 的⽬录结构和基本功能以及MATLAB在信号与系统中的应⽤。
⼆、实验内容:例⼀已知x的取值范围,画出y=sin(x)的图型。
x=0:0.05:4*pi;y=sin(x);plot(y)例⼆计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,⽤subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表⽰1、指数信号:指数信号Ae at在MATLAB中可⽤exp函数表⽰,其调⽤形式为:y=A*exp(a*t) (例取 A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;2、正弦信号:正弦信号Acos(w0t+?)和Asin(w0t+?)分别由函数cos和sin表⽰,其调⽤形式为:A*cos(w0t+phi) ;A*sin(w0t+phi) (例取A=1,w0=2π,?=π/6) 参考程序:A=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on ;3、抽样函数:抽样函数Sa(t)在MATLAB中⽤sinc函数表⽰,其定义为:sinc(t)=sin(πt)/( πt)其调⽤形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;4、矩形脉冲信号:在MATLAB中⽤rectpuls函数来表⽰,其调⽤形式为:y=rectpuls(t,width),⽤以产⽣⼀个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中⼼向左右各展开width/2的范围,width的默认值为1。
matlab 计算频谱的命令
【主题】matlab 计算频谱的命令一、matlab 中的频谱分析在 matlab 中,频谱分析是一种常见的数据处理技术,主要用于分析信号在频域上的特性。
频谱分析可以帮助我们了解信号的频率成分、周期性特征以及信号之间的关系,因此在信号处理、通信系统、音频分析等领域有着广泛的应用。
matlab 提供了丰富的频谱分析函数和命令,通过这些工具我们可以快速、准确地进行频谱分析,并获取有价值的信息。
二、常用的频谱分析命令1. fftfft 是 matlab 中最常用的频谱分析命令之一。
它可以将时域信号转换为频域信号,通过计算信号的傅立叶变换来获取信号的频谱信息。
其基本语法为:Y = fft(X),其中 X 表示输入的时域信号,Y 表示输出的频域信号。
对于一个长度为 N 的输入信号,fft 命令将返回一个长度为 N 的复数数组,其中包含了信号在频域上的幅度和相位信息。
我们可以进一步对这些复数进行振幅谱和相位谱的分析,以获取更详细的频谱特征。
2. periodogramperiodogram 是用于计算信号功率谱密度(PSD)的命令。
它可以帮助我们分析信号在频域上的能量分布情况,从而了解信号的频率成分和能量分布情况。
其基本语法为:Pxx = periodogram(X),其中 X 表示输入的信号。
通过 periodogram 命令,我们可以得到信号在不同频率上的功率谱密度估计值,以及相应的频率坐标。
这些信息对于分析信号的频谱特性非常有帮助,可以用于识别信号的主要频率成分和频率分布规律。
3. spectrogramspectrogram 命令用于计算信号的短时傅立叶变换,并绘制信号的时频谱图像。
它可以帮助我们观察信号在时间和频率上的变化规律,从而发现信号的时变特性和频率变化趋势。
其基本语法为:S = spectrogram(X),其中 X 表示输入的信号。
通过 spectrogram 命令,我们可以得到信号的时频谱图像,其中横轴表示时间,纵轴表示频率,颜色表示信号强度。
电路、信号与系统(2)实验指导书
描述线性时不变离散系统的差分方程为
编写求解上述方程的通用程序。
[建模]
将方程变形可得(用MATLAB语言表示)
a(1)*y(n)= b(1)*u(n)+…+ b(nb)*u(n-nb+1)- a(2)*y(n-1)-…- a(na)*y(n-na+1)
令us== [u(n),…, u(n-nb+1)]; ys=[y(n-1),…, y(n-na+1)]
x(n)={2,1,-1,3,1,4,3,7}(其中加下划线的元素为第0个采样点)在MATLAB中表示为:
n=[-3,-2,-1,0,1,2,3,4]; x=[2,1,-1,3,1,4,3,7];
当不需要采样位置信息或这个信息是多余的时候,可以只用x向量来表示。
(一)离散信号的MATLAB表述
[问题]
实验一连续时间信号与系统分析
一、实验目的
1、了解连续时间信号的特点;
2、掌握连续时间信号的MATLAB描述;
3、掌握连续LTI系统单位冲激响应的求解方法;
4、掌握连续LTI系统的零状态响应的求解方法。
二、实验内容
严格说来,只有用符号推理的方法才能分析连续系统,用数值方法是不能表示连续信号的,因为它给出的是各个样点的数据。只有当样本点取得很密时才可看成连续信号。所谓很密,是相对于信号变化的快慢而言的。以下均假定相对于采样点密度而言,信号变化足够慢。
elseif lu<lh nh=0; nu=lh-lu;
else nu=0; nh=0;
end
dt=0.1;
lt=lmax;
u=[zeros(1, lt), uls, zeros(1, nu), zeros(1, lt)];
实验二--连续时间信号的频域分析
实验二连续时间信号的频域分析专业班级通信1601 姓名宁硕学号 20 评分:实验日期: 2017 年 12 月 13日指导教师: 张鏖峰一、实验目的1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因;3、掌握连续时间傅里叶变换的分析方法及其物理意义;4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质;5、学习掌握利用MATLAB语言编写计算CTFS、CTFT和DTFT的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT、DTFT的若干重要性质。
基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB编程完成相关的傅里叶变换的计算。
以看得很清楚。
二、实验原理及方法任何一个周期为T1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。
其中三角傅里叶级数为:2.1或:2.2指数形式的傅里叶级数为:2.3其中,为指数形式的傅里叶级数的系数,按如下公式计算:2.4傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。
傅里叶变换和其逆变换定义如下:2.52.6连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。
按照教材中的说法,任意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号ejt的线性组合构成的,每个频率所对应的周期复指数信号ejt称为频率分量(frequency component),其相对幅度为对应频率的|X(j)|之值,其相位为对应频率的X(j)的相位三、实验内容和要求Q2-1 编写程序Q2_1,绘制下面的信号的波形图:其中,0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos(0t)、cos(30t)、cos(50t) 和x(t) 的波形图,给图形加title,网格线和x 坐标标签,并且程序能够接受从键盘输入的和式中的项数。
信号与系统(陈后金)_MATLAB
function [f,k]=impseq(k0,k1,k2) %产生 f[k]=delta(k-k0);k1<=k<=k2 k=[k1:k2];f=[(k-k0)==0]; k0=0;k1=-50;k2=50; [f,k]=impseq(k0,k1,k2); stem(k,f)
已知三角波x(t),用MATLAB画出的x(2t)和x(2-2t) 波形
x(2t) 1 0. 8 0. 6 0. 4 0. 2 03 1 0. 8 0. 6 0. 4 0. 2 03 2 1 0 1 2 3 2 1 0 x(2-2t) 1 2 3
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -3
指数信号Aeat
指数序列ak
y = A*exp(a*t);
幂运算a.^k实现
正弦型信号
抽样函数Sa(t) 矩形脉冲信号
内部函数cos( ) 和sin( )
sinc(t) y = rectpuls(t,width)
三角波脉冲信号 y = tripuls(t, width,skew)
三、表达式
数值
MATLAB用常规的十进制表示数值 用i或j作为后缀来表示复数的虚部 例 1.235e5表示1.235105,x=2+3j abs(x) 求复数x的模 angle(x) 求复数x的相角(弧度) real(x) 求复数x的实部 imag(x) 求复数x的虚部 conj(x) 求复数x的共轭
九、stem函数——绘图函数(discrete)
k=0:39; stem(k,cos(0.9*pi*k)); title('cos(0.9\pik)');
数字信号处理实验报告_完整版
实验1 利用DFT 分析信号频谱一、实验目的1.加深对DFT 原理的理解。
2.应用DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境 计算机、MATLAB 软件环境 三、实验基础理论1.DFT 与DTFT 的关系有限长序列 的离散时间傅里叶变换 在频率区间 的N 个等间隔分布的点 上的N 个取样值可以由下式表示:212/0()|()()01N jkn j Nk N k X e x n eX k k N πωωπ--====≤≤-∑由上式可知,序列 的N 点DFT ,实际上就是 序列的DTFT 在N 个等间隔频率点 上样本 。
2.利用DFT 求DTFT方法1:由恢复出的方法如下:由图2.1所示流程可知:101()()()N j j nkn j nN n n k X e x n eX k W e N ωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑ 由上式可以得到:IDFTDTFT( )12()()()Nj k kX e X k Nωπφω==-∑ 其中为内插函数12sin(/2)()sin(/2)N j N x eN ωωφω--= 方法2:实际在MATLAB 计算中,上述插值运算不见得是最好的办法。
由于DFT 是DTFT 的取样值,其相邻两个频率样本点的间距为2π/N ,所以如果我们增加数据的长度N ,使得到的DFT 谱线就更加精细,其包络就越接近DTFT 的结果,这样就可以利用DFT 计算DTFT 。
如果没有更多的数据,可以通过补零来增加数据长度。
3.利用DFT 分析连续信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。
对于连续时间非周期信号,按采样间隔T 进行采样,阶段长度M ,那么:1()()()M j tj nT a a a n X j x t edt T x nT e ∞--Ω-Ω=-∞Ω==∑⎰对进行N 点频域采样,得到2120()|()()M jkn Na a M kn NTX j T x nT eTX k ππ--Ω==Ω==∑因此,可以将利用DFT 分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T ,得到离散序列(2)确定截取长度M ,得到M 点离散序列,这里为窗函数。
实验二 连续时间信号的频域分析
实验二连续时间信号的频域分析专业班级通信1601 姓名宁硕学号20 评分:实验日期: 2017 年 12 月 13日指导教师:张鏖峰一、实验目的1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因;3、掌握连续时间傅里叶变换的分析方法及其物理意义;4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质;5、学习掌握利用MATLAB语言编写计算CTFS、CTFT和DTFT的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT 、DTFT 的若干重要性质。
基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB 编程完成相关的傅里叶变换的计算。
以看得很清楚。
二、实验原理及方法任何一个周期为T 1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。
其中三角傅里叶级数为:∑∞=++=1000)]sin()cos([)(k k k t k b t k a a t x ωω或: ∑∞=++=100)cos()(kk k t k A A t x ϕω指数形式的傅里叶级数为:∑∞-∞==kt jk k e F t x 0)(ω 其中,k F 为指数形式的傅里叶级数的系数,按如下公式计算:⎰--=2/2/111)(1T Tt jk k dt e t x T F ω傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。
傅里叶变换和其逆变换定义如下:⎰∞∞--=dt e t x j X t j ωω)()(⎰∞∞-=ωωπωd e j X t x tj )(21)( 连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。
按照教材中的说法,任意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号e j?t 的线性组合构成的,每个频率所对应的周期复指数信号e j?t 称为频率分量(frequency component ),其相对幅度为对应频率的|X(j?)|之值,其相位为对应频率的X(j?)的相位三、实验内容和要求Q2-1 编写程序Q2_1,绘制下面的信号的波形图:Λ-+-=)5cos(51)3cos(31)cos()(000t t t t x ωωω∑∞==10)cos()2sin(1n t n n nωπ其中,?0 = π,要求将一个图形窗口分割成四个子图,分别绘制cos(?0t)、cos(3?t)、cos(5?t) 和x(t) 的波形图,给图形加title,网格线和x坐标标签,并且程序能够接受从键盘输入的和式中的项数。
非周期信号(方波,锯齿波,三角波)的合成分解以及频谱分析的MATLAB实现
1.2 主要功能
1.数值分析 2.数值和符号计算 3.工程与科学绘图 4.控制系统的设计与仿真 5.数字图像处理 6.数字信号处理 7.通讯系统设计与仿真 8.财务与金融工程
2
连续周期信号的傅立叶级数分析及其 MATLAB 实现
2 连续周期信号的傅立叶级数
频域分析法即傅里叶分析法,它是变换域分析法的基石。其中,傅里叶级数 是变换域分析法的理论基础,傅里叶变换作为频域分析法的重要数学工具,具有 明确的物理意义,在不同的领域得到广泛的应用。
2.1 连续时间周期信号的分解
以高等数学的知识,任何周期为 T 的周期函数,在满足狄里赫利条件时,则 该周期信号可以展开成傅里叶级数。傅里叶级数有三角形式和指数形式两种。
(3-2)
2
2
3
MATLAB 实现程序:
n=7;
6
连续周期信号的傅立叶级数分析及其 MATLAB 实现
T0=2;A=2; T1=2; tn_i=1; for tn=0:0.01:T1*T0
y_t(tn_i)=A* rem (tn,T0)/T0; t_t(tn_i)=tn; tn_i=tn_i+1; end; t=0:0.01:T1*T0; x=A/2; pi=3.1415926; w0=2*pi/T0; for i=1:n fw(i)=i*w0; a(i)=-A/(pi*i); y(i,:)=a(i)*sin(fw(i)*t); x=x+y(i,:); end; subplot(1,3,1); plot(t_t,[y_t;x]); title('锯齿波、锯齿波合成图') subplot(1,3,2); plot(t,[x; y]); title('0-n 次谐波及合成图') subplot(1,3,3); stem(fw,a); title('锯齿波频谱图') 生成图形:
连续时间信号频谱分析研究及MATLAB实现
周期 ,即频 谱数值 计算 的范 围 ;而 在某 时间段 上对信
即得到离散频率点上 的近似计算式 :
N
. 一 .
-
号进 行截取 的方 式 .即不 同窗函数 的应用 .决定 了信 号频谱估计 的精度和有效范 围。 设 要 分 析 连 续 时 间 非 周 期 信 号 厂 f在 频 率 范 围 ( )
f()x (j n f) n ep一 0 ) 3 3
n= 0
对 ID T : F 计算式 显然有 I c
Ff J . T D T ( ] T Fk 1l () 2 ・ F[ n = ・ ( 4 f ) )
一
l
该式表明 ,利用D TF T计算连续 时间傅 ̄ n 变换 F (F ) - I - 的频谱时 ,除 了计算时域样点的离散傅里叶变化的频谱 , 七 ,还要gF k乘 以取 样时间间隔 ,才能得出结果 。 () q () 直 接 计 算 DF 的 复 杂 度 为 序 列 长 度 的 平 方 ,即 T
取信 号 的时 间段 、如何 选择 时域采 样率 ,以及在 时 间
Hz
,
采 样 时 间间 隔 ( 间分 辨率 ) =l , 5 ,而 时 为T / = ms f
段 上对信 号进 行截取 的方式 。截取 信号 的 时间段 长度 根 据要 求的频 率分辨 率可 以得 出信 号 时域截 断长 度为
2 、频 谱 分 析 的若 干 问题 讨 论
( )根据频率分辨率要 求确定分析信号厂( 的截取 2 f ) 时间长度 。要使所分析的频率分辨率达到△ ,即每隔 厂 计算一个频率点 ,那么对信号 的截取时间长度三 必须满足 L / ≥1A f,根据截取时间长度 和采样时间间隔 可以计
算出截取 时间信号离散化之后的序列点数Ⅳ ,也可 以由计
连续非周期信号频谱分析及Matlab实现
连续非周期信号频谱分析及Matlab实现作者:谢海霞孙志雄来源:《现代电子技术》2013年第11期摘要:为了便于计算机辅助计算复杂的连续信号频谱,经常采用DFT方法。
DFT不仅能反映信号的频域特征更便于用计算机处理。
这里先对连续非周期信号做离散化处理,然后截短得到有限长序列,最后做DFT变换。
针对常用信号DFT谱分析的原理及谱分析中的相关问题进行了较为深入的探讨,并结合实例用Matlab仿真软件进行了分析和验证。
关键词: DFT;频谱分析; Matlab;矩形窗; Hamming窗中图分类号:TN911.72⁃34 文献标识码: A 文章编号: 1004⁃373X(2013)11⁃0053⁃040 引言频谱分析在数字信号处理中用途广泛:如滤波、检测等方面,这些都需要DFT(Discrete Fourier Transform)运算[1⁃3]。
信号的Fourier变换建立了信号的时域与频域之间的一一对应关系,可以借助DFT来分析。
有限长序列的DFT可以由数字方法直接计算,且DFT存在快速算法,便于用计算机处理[4⁃6]。
本文介绍具体的连续非周期信号结合Matlab软件来分析其频谱。
1 连续非周期信号谱DFT分析在已知连续信号数学解析式的情况下,非周期信号的频谱可以根据Fourier变换的定义进行解析计算。
实际应用中的多数信号不存在数学解析式,信号的频谱无法利用傅里叶分析公式方法直接计算,一般需采用数值方法进行近似计算分析频谱,在进行数字计算时,需对计算的连续变量进行离散化。
由于连续非周期信号[x(t)]的频谱函数[X(jω)]是连续函数,因此,需要对其进行离散化处理得到[x[n]]以近似分析相应的频谱。
通过建立序列[x[n]]的离散Fourier 变换[X[m]]与连续非周期信号[x(t)]的Fourier变换[X(jω)]之间的关系,可以利用DFT对连续非周期信号频谱进行近似分析,此近似分析过程中一般将会出现三种现象:混叠现象、泄漏现象和栅栏现象[7⁃8]。
连续非周期信号频谱分析及Matlab实现
连续⾮周期信号频谱分析及Matlab实现《信号与系统A(1)》课程⾃学报告实施报告题⽬:连续⾮周期信号频谱分析及Matlab实现学号:姓名:任课教师:联系⽅式:第⼀部分. 理论⾃学内容阐述(⼀)系统物理可实现性、佩利-维纳准则通过之前的学习我们知道,理想低通滤波器在物理上是不可能实现的,但是我们却可以做出传输特性接近理想特性的⽹络。
如下图是⼀个低通滤波器,其中 R =√RC图1-1 ⼀个低通滤波⽹络则其⽹络传递函数为:(式1-1)引⼊符号ωc =1√LC,则(式1-1)改为:其中)(1t v CRL )(2t v --++()()()R L LC C RL C R V V H ωωωωωωωωj 11 j 11j j 11j j j 212+-=+++==()()()ω?ωωωωωωωωωωωj 222e j 3j 33j 11j H H c c cc c c =+ + -=2+222=()()????--=???+ -=2c c 2c 22c 1arctan 11j ωωωωω?ωωωωωH求出其冲激响应为:h (t )=2ωc √3eωc 2sin (√3ωct )画出波形图及频谱图如下:图1-2 h(t)的波形图幅度特性相位特性图1-3 幅度特性和相位特性可以看出这些曲线与理想低通滤波器有相似之处,但是同时也有不同之处。
这个电路的幅度特性不可能出现零值,冲激响应的起始时刻在t=0处。
那么究竟什么样的系统数学模型可以在物理上实现呢?就时间域特性⽽⾔,⼀个物理可实现⽹络的冲激响应h(t)在t<0时必须为0。
那么由于理想低通滤波器不是⼀个因果系统,所以它是不可能在物理上实现的。
从频域特性来看,|H(jw)|要满⾜平⽅可积条件。
佩利和维纳证明了对于幅度函数|H(jw)|物理可实现的必要条件是这就是佩利—维纳准则。
佩利—维纳准则只从幅度特性上提出要求,⽽在相位特性⽅⾯却没有给出约束,因此该准则只是系统物理可实现的必要条件,⽽不是充分条件。
实验3-信号的频域分析
一,实验目的四,心得体会了解信号频谱和信号频域,掌握其特性。
一,实验原理实验主要分为四个部分,分别分析了连续和离散信号的周期、非周期情况下特性。
1.连续周期信号的频谱分析首先手算出信号的傅里叶级数,得出信号波形,然后通过代码画出信号波形图。
2.连续非周期信号的频谱分析先由非周期信号的时域信号得到它的频谱X(w),再通过MATLAB求出其傅里叶变换并绘出图形。
X=fourier(x)x=ifourier(x)①符号运算法syms t②数值积分法quad(fun,a,b)③数值近似法3.离散周期信号的频谱分析X=fft(x)4.离散非周期信号的频谱分析可以化为两个相乘的矩阵,从而由MATLAB实现。
三,实验内容(1)已知x(t)是如图周期矩形脉冲信号。
1).计算该信号的傅里叶级数。
2).利用MATLAB绘出由前N次谐波合成的信号波形,观察随着N的变化合成信号波形的变化规律。
3).利用MATLAB绘出周期矩形脉冲信号的频谱,观察参数T和τ变化时对频谱波形的影响。
思考下列问题:①什么是吉伯斯现象?产生吉伯斯现象的原因是什么?②以周期矩形脉冲信号为例,说明周期信号的频谱有什么特点。
③周期矩形脉冲信号参数τ/T的变化,其频谱结构(如频谱包络形状、过零点、频谱间隔等)如何变化?(2)已知x(t)是如图所示矩形脉冲信号。
1).求该信号的傅里叶变幻。
2). 利用MATLAB绘出周期矩形脉冲信号的频谱,观察参数T和τ变化时对频谱波形的影响。
3). 让矩形脉冲宽度始终等于一,改变矩形脉冲宽度,观察矩形脉冲信号时域波形和频谱随矩形脉冲宽度的变化趋势。
①比较矩形脉冲信号和周期矩形脉冲信号的频谱,两者之间有何异同。
②让矩形脉冲的面积始终等于一,改变矩形脉冲的宽度,观察矩形脉冲信号时域波形和频谱波形随矩形脉冲宽度的变化趋势。
(1)已知x(t)是如图所示的周期矩形脉冲信号①,计算该信号的傅里叶级数答:由图中x(t)波形可知信号为通过计算,可以知道所以x(t)的傅里叶级数为。
实验2连续时间系统的模拟
信号与系统实验指导书编写:高玉芹、丁洪影、朱永红信电工程学院2014-7-11前言“信号与系统”是无线电技术、自动控制、通信工程、生物医学电子工程、信号图象处理、空间技术等专业的一门重要的专业基础课,也是国内各院校相应专业的主干课程。
当前,科学技术的发展趋势既高度综合又高度分化,这要求高等院校培养的大学生,既要有坚实的理论基础,又要有严格的工程技术训练,不断提高实验研究能力、分析计算能力、总结归纳能力和解决各种实际问题的能力。
21世纪要求培养“创造型、开发型、应用型”人才,即要求培养智力高、能力强、素质好的人才。
由于该课程核心的基本概念、基本理论和分析方法都非常重要,而且系统性、理论性很强,为此在学习本课程时,开设必要的实验,对学生加深理解深入掌握基本理论和分析方法,培养学生分析问题和解决问题的能力,以及使抽象的概念和理论形象化、具体化,对增强学习的兴趣有极大的好处,做好本课程的实验,是学好本课程的重要教学辅助环节。
目录实验一信号的时域表示及变换 (1)实验二连续信号的卷积 (4)实验三阶跃响应与冲激响应 (8)实验四连续系统的频域分析 (12)实验五抽样定理与信号恢复 (23)实验六连续系统的s域分析 (30)实验七连续系统零极点分析 (33)实验一信号的时域表示及变换一、实验目的1. 掌握用matlab软件产生基本信号的方法。
2. 应用matlab软件实现信号的加、减、乘、反褶、移位、尺度变换及卷积运算。
二、实验原理(一)产生信号波形的方法利用Matlab软件的信号处理工具箱(Signal Processing Toolbox)中的专用函数产生信号并绘出波形。
1.产生正弦波t=0:0.01:3*pi;y=sin(2*t);plot(t,y)图1-1 图1-22.产生叠加随机噪声的正弦波t=0:0.01:3*pi;y=10*sin(2*t);s=y+randn(size(t));plot(t,s)3. 产生周期方波t=0:0.01:1;y=square(4*pi*t);plot(t,y)4. 产生周期锯齿波t=(0:0.001:2.5);y=sawtooth(2*pi*30*t);plot(t,y),axis([0 0.2 -1 1])图1-3 图1-45.产生Sinc函数x=linspace(-5,5);y=sinc(x);plot(x,y)图1-5 图1-6 6.产生指数函数波形x=linspace(0,1,100);(或x=0:0.01:1;)y=exp(-x);plot(x,y)(二)信号的运算1.加(减)、乘运算:要求二个信号序列长度相同例1-1t=0:0.01:2;f1=exp(-3*t);f2=0.2*sin(4*pi*t);f3=f1+f2;f4=f1.*f2;subplot(2,2,1);plot(t,f1);title('f1(t)');subplot(2,2,2);plot(t,f2);title('f2(t)');subplot(2,2,3);plot(t,f3);title('f1+f2');subplot(2,2,4);plot(t,f4);title('f1*f2');图1-72.用matlab的符号函数实现信号的反褶、移位、尺度变换由f(t)到f(-at+b)(a>0)步骤:b)atf(b)f(atb)f(tf(t)反褶尺度移位+-−−→−+−−→−+−−→−例1-2:已知f(t)=sin(t)/t,试通过反褶、移位、尺度变换由f(t)的波形得到f(-2t+3) 的波形。
北京理工大学信号与系统实验报告3信号的频域分析报告
实验3 信号的频域分析(综合型实验)一、实验目的1)深入理解信号频谱的概念,掌握信号的频域分析方法。
2)观察典型周期信号和非周期信号的频谱,掌握其频谱特性。
二、实验原理与方法 1.连续周期信号的频谱分析如果周期信号满足Dirichlet 条件,就可展开为傅里叶级数的形式,即0(t)jk tkk x c eω+∞=-∞=∑(1) 0001(t)e jk tk T c x dt T ω-=⎰(2) 其中0T 表示基波周期,002/T ωπ=为基波频率,0(...)T ⎰表示任一个基波周期内的积分。
上面两式为周期信号复指数形式的傅里叶级数,系数k c 成为x(t)的傅里叶系数。
周期信号的傅里叶级数还可由三角函数的线性组合来表示,即00011(t)cos sin k k k k x a a k t b k t ωω+∞+∞===++∑∑(3)其中000000000122(t),(t)cosk ,(t)sink k k T T T a x dt a x tdt b x tdt T T T ωω===⎰⎰⎰(4) (3)式中同频率的正弦、余弦项合并可以得到三角函数形式的傅里叶级数,即001(t)cos(k t )k k k x A A ωθ+∞==++∑ (5)其中00,arctankk k kb A a A a θ===- (6) 任何满足Dirichlet 条件的周期信号都可以表示成一组谐波关系的复指数函数或三角函数的叠加。
周期信号表示为傅里叶级数时需要无限多项才能完全逼近原信号,但在实际应用中常采用有限项级数代替,所选级数项越多就越接近原信号。
2.连续非周期信号的频谱分析对于非周期连续时间信号,信号的傅里叶变换和傅里叶逆变换定义为()(t)ej tX x dt ωω+∞--∞=⎰(7)1(t)()e 2j t x X d ωωωπ+∞-∞=⎰(8)以上两式把信号的时频特性联系起来,确立了非周期信号(t)x 和频谱()X ω之间的关系。
应用MATLAB实现周期信号和非周期信号频谱仿真课程设计
设计题目:应用MATLAB实现周期信号和非周期信号频谱仿真1 课程设计目的通过课程设计,提高学生综合运用所学知识来解决实际问题、查阅文献资料、及进行科学实验或技术设计的能力。
学会用MATLAB 语言编写信号与系统及数字信号处理的仿真程序;认真分析每个题目的具体要求;上机前初步编好程序,上机时认真调试程序;增加学生对仿真软件MATLAB的感性认识,熟悉MATLAB软件平台的使用和MATLAB编程方法及常用语句;了解MATLAB的编程方法和特点;加深理解采样与重构的概念,掌握连续系统频率响应概念,掌握利用MATLAB分析系统频率响应的方法和掌握利用MATLAB实现连续信号采用与重构的方法初步掌握线性系统的设计方法,培养独立工作能力。
培养学生正确的设计思想,理论联系实际的科学态度,严肃认真、实事求是的科学态度和勇于探索的创新精神。
培养学生综合运用所学信号与系统及数字信号处理的知识,分析和解决工程技术问题的能力。
为毕业设计打下基础。
2 设计原理2.1 MATLAB软件说明MATLAB(Matrix Laboratory)是美国Math Works公司产品,Matrix Laboratory意为“矩阵实验室”,最初的MATLAB只是一个数学计算工具。
但现在的MATLAB已经远不仅仅是一个“矩阵实验室”,它已经成为一个集概念设计、算法开发、建模仿真,实时实现于一体的集成环境,它拥有许多衍生子集工具。
MATLAB现已被广泛于数学、通信、信号处理、自动控制、神经网络、图形处理等许多不同学科的研究中。
MATLAB特点:(1)此高级语言可用于技术计算(2)此开发环境可对代码、文件和数据进行管理(3)交互式工具可以按迭代的方式探查、设计及求解问题(4)数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数积分等(5)二维和三维图形函数可用于可视化数据(6)各种工具可用于构建自定义的图形用户界面(7)各种函数可将基于MATLAB 的算法与外部应用程序和语言(如 C 、C++、Fortran 、Java 、COM 以及 Microsoft Excel )集成 (8)不支持大写输入,内核仅仅支持小写2.2 周期信号的频谱分析——傅里叶级数FS(1) 任何满足狄义赫利条件周期函数都可展成傅里叶级数。
实验三 用FFT对信号进行频谱分析及MATLAB程序
实验三 用FFT 对信号进行频谱分析一 实验目的1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法; 2了解用FFT 进行频谱分析可能出现的分析误差及其原因;二 实验原理1.用DFT 对非周期序列进行谱分析单位圆上的Z 变换就是序列的傅里叶变换,即()()j j z e X e X z ωω== (3-1)()j X e ω是ω的连续周期函数。
对序列()x n 进行N 点DFT 得到()X k ,则()X k 是在区间[]0,2π上对()j X e ω的N 点等间隔采样,频谱分辨率就是采样间隔2Nπ。
因此序列的傅里叶变换可利用DFT (即FFT )来计算。
用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而非周期序列的频谱是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。
2.用DFT 对周期序列进行谱分析已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)和(3-3) 给出:DFS : ∑-=-=12)(1N n kn Nj k e n x N a π, n =0,1,2,…,N -1 (3-2) IDFS : ∑-==102)(N k kn Njk ea n x π, n =0,1,2,…,N -1 (3-3)对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)和(3-5)给出: DFT : ∑-=-=102)()(N n kn Njen x k X π , n =0,1,2,…,N -1 (3-4)IDFT : ∑-==12)(1)(N k kn N j e k X N n x π, n =0,1,2,…,N -1 (3-5) FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)和(3-7)给出:DTFS : 1*(())k a fft x n N=(3-6) IDTFS : ()*()k x n N ifft a = (3-7) 周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
信号与系统Matlab实验作业
实验一典型连续时间信号和离散时间信号一、实验目的掌握利用Matlab画图函数和符号函数显示典型连续时间信号波形、典型时间离散信号、连续时间信号在时域中的自变量变换。
二、实验内容1、典型连续信号的波形表示(单边指数信号、复指数信号、抽样信号、单位阶跃信号、单位冲击信号)1)画出教材P28习题1-1(3) ()[(63)(63)]t=----的波形图。
f t e u t u t2)画出复指数信号()()j t f t e σω+=当0.4, 8σω==(0<t<10)时的实部和虚部的波形图。
t=0:0.01:10;f1='exp(0.4*t)*cos(8*t)';f2='exp(0.4*t)*sin(8*t)';figure(1)ezplot(f1,t);grid on;figure(2)ezplot(f2,t);grid on;3)画出教材P16图1-18,即抽样信号Sa(t)的波形(-20<t<20)。
t=-10:0.01:10;f='sin(t)/t';ezplot(f,t);grid on;4)用符号函数sign画出单位阶跃信号u(t-3)的波形(0<t<10)。
t=0:0.01:10;f='(sign(t-3)+1)/2';ezplot(f,t);grid on;5)单位冲击信号可看作是宽度为∆,幅度为1/∆的矩形脉冲,即t=t 1处的冲击信号为11111 ()()0 t t t x t t t otherδ∆⎧<<+∆⎪=-=∆⎨⎪⎩画出0.2∆=, t 1=1的单位冲击信号。
t=0:0.01:2;f='5*(u(t-1)-u(t-1.2))';ezplot(f,t);grid on;axis([0 2 -1 6]);2、典型离散信号的表示(单位样值序列、单位阶跃序列、实指数序列、正弦序列、复指数序列)编写函数产生下列序列:1)单位脉冲序列,起点n0,终点n f,在n s处有一单位脉冲。
MATLAB处理信号得到频谱、相谱、功率谱
第一:频谱一.调用方法X=FFT(x);X=FFT(x,N);x=IFFT(X);x=IFFT(X,N)用MATLAB进行谱分析时注意:(1)函数FFT返回值的数据结构具有对称性。
例:N=8;n=0:N-1;xn=[4 3 2 6 7 8 9 0];Xk=fft(xn)→Xk =39.0000 -10.7782 + 6.2929i 0 - 5.0000i 4.7782 -7.7071i 5.0000 4.7782 + 7.7071i 0 + 5.0000i -10.7782 - 6.2929iXk与xn的维数相同,共有8个元素。
Xk的第一个数对应于直流分量,即频率值为0。
(2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分析结果。
在IFFT时已经做了处理。
要得到真实的振幅值的大小,只要将得到的变换后结果乘以2除以N即可。
二.FFT应用举例例1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。
采样频率fs=100Hz,分别绘制N=128、1024点幅频图。
clf;fs=100;N=128; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求得Fourier变换后的振幅f=n*fs/N; %频率序列subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');grid on;subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');grid on;%对信号采样数据为1024点的处理fs=100;N=1024;n=0:N-1;t=n/fs;x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求取Fourier变换的振幅f=n*fs/N;subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');grid on;subplot(2,2,4)plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');grid on;运行结果:fs=100Hz,Nyquist频率为fs/2=50Hz。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信号与系统A(1)》课程自学报告实施报告题目:连续非周期信号频谱分析及Matlab实现学号:姓名:任课教师:联系方式:第一部分. 理论自学内容阐述(一) 系统物理可实现性、佩利-维纳准则通过之前的学习我们知道,理想低通滤波器在物理上是不可能实现的,但是我们却可以做出传输特性接近理想特性的网络。
如下图是一个低通滤波器,其中 R =√RC图1-1 一个低通滤波网络则其网络传递函数为:(式1-1)引入符号 ωc =1√LC,则(式1-1)改为:其中)(1t v CRL )(2t v --++()()()R L LC C RL C R V V H ωωωωωωωωj 11 j 11j j 11j j j 212+-=+++==()()()ωϕωωωωωωωωωωωj 222e j 3j 33j 11j H H c c cc c c =⎪⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛⋅+⎪⎪⎭⎫ ⎝⎛-=2+222=()()⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎭⎫ ⎝⎛+⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛-=2c c 2c 22c 1arctan 11j ωωωωωϕωωωωωH 求出其冲激响应为:h (t )=2ωc √3e−ωc 2sin (√3ωct )画出波形图及频谱图如下:图1-2 h(t)的波形图幅度特性 相位特性图1-3 幅度特性和相位特性可以看出这些曲线与理想低通滤波器有相似之处,但是同时也有不同之处。
这个电路的幅度特性不可能出现零值,冲激响应的起始时刻在t=0处。
那么究竟什么样的系统数学模型可以在物理上实现呢?就时间域特性而言,一个物理可实现网络的冲激响应h(t)在t<0时必须为0。
那么由于理想低通滤波器不是一个因果系统,所以它是不可能在物理上实现的。
从频域特性来看,|H(jw)|要满足平方可积条件。
佩利和维纳证明了对于幅度函数|H(jw)|物理可实现的必要条件是这就是佩利—维纳准则。
佩利—维纳准则只从幅度特性上提出要求,而在相位特性方面却没有给出约束,因此该准则只是系统物理可实现的必要条件,而不是充分条件。
其实只要我们找到一个满足该准则的|H(jw)|,就一定可以找到适当的相位函数φ(w )与它一起构成一个物理可实现的系统函数。
几点说明:①佩利—维纳准则要求可实现的幅度特性其总的衰减不能过于迅速; ②对于物理可实现系统,可以允许H(jw)特性在某些不连续的频率点上为零,但不允许在一个有限频带内为零。
按此原理,理想低通,理想带通,理想带阻等理想滤波器都是不可实现的。
③佩利-维纳准则是系统物理可实现的必要条件,而不是充分条件。
(二) 调制与解调在通信系统中,信号从发射端传输到接收端,为实现信号的传输,往往需要进行调制和解调。
1.调制①定义:将信号的频谱搬移到任何所需的较高频段上的过程。
②分类:按载波:正弦型信号作为载波脉冲串或一组数字信号作为载波按连续性:模拟(连续)调制数字调制模拟调制是数字调制的基础。
∞<+⎰∞∞ωωωd 1)(j ln -2H③说明:我们可以利用傅里叶变换的某些性质说明搬移信号频谱的原理。
由公式载波信号(如cos(w0t))与调制信号(g(t))乘积的傅立叶变换等于二者分别的傅里叶变换卷积除以2π,则可以得到信号的频谱被搬移到载频w0附近。
(a)图2-1 调制原理方框图及其频谱2.解调①定义:将已调信号恢复成原来的调制信号的过程。
②说明:下图是实现解调的一种原理方框图,这里,cos(w0t)信号是接收端的本地载波信号,它与发送端的载波同频同相。
f(t)与cos(w0t)相乘的结果使频谱F(w)向左、右分别移动±w0(并乘以系数1/2),得到G0(w),然后再利用一个低通滤波器(带宽大于wm,小于2w0-wm),滤去在频率为2w0附近的分量,即可取出g(t),完成解调。
(a)图2-2 同步解调原理方框图及其频谱第二部分. 案例陈述及实现方案(一)案例背景在当今,信号系统是一门针对信号分析和系统分析的学科。
信号又分为离散信号和连续信号。
根据对连续信号的分析导出了对线性系统的分析方法:时域分析、频域分析、复频域分析,进而导出了对离散信号的分析方法。
在系统分析的方法中,有运用到很多数学变换和计算:傅里叶变换、拉普拉斯变换,还有级数的运用等等。
频谱分析在数字信号的处理中用途十分广泛,比如如滤波、检测等方面都需要离散傅里叶运算。
信号的傅里叶变换建立了信号的时域与频域之间的一一对应关系,可以借助离散傅里叶来分析信号。
如果连续信号数学解析式已知,非周期信号的频谱就可以根据傅里叶变换的定义进行解析计算。
而在实际应用中,大多数信号不存在数学解析式,这样它们的频谱就无法利用傅里叶分析公式直接计算,这时就需采用数值方法进行近似计算,从而达到分析频谱的目的。
而在进行数字计算时,我们需要对计算的连续变量进行离散化。
由于连续非周期信号 x(t)的频谱函数 X(jω) 是连续函数,因此,需要对其进行离散化处理,从而得到 x[n] ,此时才能近似地分析相应的频谱。
通过建立序列 x[n] 的离散傅里叶变换 X[m] 与连续非周期信号x(t) 的傅里叶变换X(jω) 之间的关系,可以利用离散傅里叶对连续非周期信号频谱进行近似分析。
(二)案例功能及指标在上述近似分析过程中一般将会出现三种现象:①频谱混叠:由傅里叶计算得出的频谱是信号 x(t) 的频谱 X(jω) 周期化的抽样值,如果抽样频率不满足抽样定理,在连续信号离散化时,就会出现信号频谱的混叠,这种现象被称为频谱混叠。
②频率泄漏:对连续非周期信号的采样序列 x[n] 进行离散傅里叶运算时,时间长度总是取有限值,在将信号截短的过程中,就会出现分散的扩展谱线的现象,被称为频率泄漏。
③栅栏现象:由离散傅里叶变换得到的频谱X[m] 只能是连续非周期信号频谱X(jω) 上的有限离散频点采样,由于 X[m] 是离散序列,因而无法反映抽样点之间的具体细节,这种现象称为栅栏现象。
这些现象与应用中信号和离散傅里叶变换的参数选择有关。
频率混叠与连续信号的时域抽样间隔有关,频率泄漏与信号的时域及窗型有关,栅栏现象与离散傅里叶变换的点数有关。
在大多数情况下,一般已知待分析连续信号的最高频率,以及离散傅里叶变换分析的频率分辨率的目标值。
下面根据信号的傅里叶变换的理论,讨论利用离散傅里叶变换进行谱分析的参数(抽样频率、持续时间、样点数等)选择的原则。
首先确定信号抽样频率 fs,fs应满足时域抽样定理,即 fs ≥2fm,其中 fm为待分析的连续信号的最高频率,抽样间隔T应满足:T=1fn⁄≤1(2fm)⁄(1)紧接着确定抽样信号的长度 N ,N 应满足频率分辨率Δf 的要求,即N≥cfn∆f⁄(2)矩形窗时取 c=1,Hamming窗时取 c=2 。
根据谱线间隔Δfd确定离散傅里叶变换的点数L ,即:L≥fs∆fd⁄(3)L 一般取满足式(3)的2的整数幂次。
下面所描述的两个案例将分别讨论近似过程中可能出现的问题及其解决方法。
[案例 1]已知一连续信号为x(t)=cos(2πf0t)+cos(2πf1t),其中f0=100 Hz,f1=130 Hz。
现以频率fs=600 Hz对该信号进行抽样,试利用离散傅里叶变换分析其频谱。
分析思路及步骤:由于抽样频率fs大于信号x(t)的最高频率f1的2倍,故抽样过程没有造成混叠,抽样后的序列为x[n]=x(t)|t=nT cos(2πf0t)+cos(2πf1t)。
由于 x[n] 为无限长序列,可采用矩形窗对其进行加窗截短处理。
为了能够分辨这两个间隔为Δf=f1-f0=30 Hz的相邻谱峰,由式(2)可得矩形窗的长度N 应满足N ≥20。
现应用Matlab软件进行频谱分析。
分别取 N=10和 N= 20时,由离散傅里叶变换计算出的频谱做对比。
[案例 2]已知一连续信号为x(t)=cos(2πf0t)+0.15cos(2πf1t),其中f0=50Hz,f1=100 Hz。
现以频率fs=400 Hz 对该信号进行抽样,试利用离散傅里叶变换分析其频谱。
分析思路及步骤:采样频率满足抽样定理,所以采样后的频谱不会产生混叠现象,但由于信号y(t) 中存在一个较弱的频率分量 f1,若采用矩形窗函数加窗,则由于其旁瓣泄漏较大,很难检测出信号 y(t) 幅度较小的频率分量 f1,因而采用Hamming窗函数,以此解决频率泄漏现象。
第三部分. 案例成果阐述及代码[案例 1]已知一连续信号为x(t)=cos(2πf0t)+cos(2πf1t),其中f0=100 Hz,f1=130 Hz。
现以频率 fs=600 Hz对该信号进行抽样,试利用DFT分析其频谱。
实现代码如下:N1=10N2=20L=512f0=100f1=130fs=600T=1/fsws=2*pi*fst1=(0:N1-1)*Tt2=(0:N2-1)*Tx1=cos(2*pi*f0*t1)+cos(2*pi*f1*t1)x2=cos(2*pi*f0*t2)+cos(2*pi*f1*t2)X1=fftshift(fft(x1,L))X2=fftshift(fft(x2,L))w=(-ws/2+(0:L-1)*ws/L)/(2*pi)subplot(2,1,1)plot(w,abs(X1));ylabel('幅度谱'):xlabel('频率/Hz') subplot(2,1,2)plot(w,abs(X2));ylabel('幅度谱');xlabel('频率/Hz')在matlab中执行该代码得到如下所示的图形:(可执行代码文件见附件 exp1)(a)信号样本点数N=10(b)信号样本点数N=20分析:由于 N =10不满足式(2),所以由上图(a)几乎分辨不出信号中两个频率分量。
而由上图(b)可见,当信号的长度满足式(2)时,可清晰地分辨出信号中的两个不同频率分量。
[案例 2]已知一连续信号为x(t)=cos(2πf0t)+0.15cos(2πf1t),其中f0=50Hz,f1=100 Hz。
现以频率fs=400 Hz 对该信号进行抽样,试利用离散傅里叶变换分析其频谱。
实现代码如下:N1=30N2=50;L=512;f1=50,f2=100;fs=600;T=1/fs;ws=2*pi*fs;t1=(0:N1-1)*T;t2=(0:N2-1)*T;y1=cos(2*pi*f1*t1)+0.15*cos(2*pi*f2*t1);y2=cos(2*pi*f1*t2)+0.15*cos(2*pi*f2*t2);wh1=(hamming(N1))';y11=y1.*wh1;wh2=(hamming(N2))';y22=y2.*wh2;Y1=fftshift(fft(y1,L));Y2=fftshift(fft(y2,L));Y11=fftshift(fft(y11,L));Y22=fftshift(fft(y22,L));w=(-ws/2+(0:L-1)*ws/L)/(2*pi);subplot(2,2,1)plot(w,abs(Y1));ylabel('幅度谱');xlabel('频率/Hz');subplot(2,2,2)plot(w,abs(Y11));ylabel('幅度谱');xlabel('频率/Hz');subplot(2,2,3)plot(w,abs(Y2));ylabel('幅度谱');xlabel('频率/Hz');subplot(2,2,4)plot(w,abs(Y22));ylabel('幅度谱');xlabel('频率/Hz');在matlab中执行该代码,得到如下图形:(可执行代码文件见附件 exp2)(a)矩形窗N=30 (b)矩形窗N=50(c)Hamming 窗N=30 (d)Hamming 窗N=50分析:图(a)、图(c)与图(b)、图(d)相比,Hamming窗以增加主瓣宽度来降低旁瓣能量,检测出较弱的频率分量 f1。