第5章_用MATLAB进行控制系统频域分析

第5章_用MATLAB进行控制系统频域分析
第5章_用MATLAB进行控制系统频域分析

第5章 用MATLAB 进行控制系统频域分析

一、基于MATLAB 的线性系统的频域分析基本知识

(1)频率特性函数)(ωj G 。 设线性系统传递函数为:

n

n n

n m

m m m a s a s a s a b s b s b s b s G ++???++++???++=---1101110)( 则频率特性函数为:

n

n n

n m

m m m a j a j a j a b j b j b j b jw G ++???++++???++=---)()()()()()()(1101110ωωωωωω 由下面的MATLAB 语句可直接求出G(jw)。

i=sqrt(-1) % 求取-1的平方根 GW=polyval(num ,i*w)./polyval(den ,i*w)

其中(num ,den )为系统的传递函数模型。而w 为频率点构成的向量,点右除(./)运算符表示操作元素点对点的运算。从数值运算的角度来看,上述算法在系统的极点附近精度不会很理想,甚至出现无穷大值,运算结果是一系列复数返回到变量GW 中。

(2)用MATLAB 作奈魁斯特图。

控制系统工具箱中提供了一个MATLAB 函数nyquist( ),该函数可以用来直接求解Nyquist 阵列或绘制奈氏图。当命令中不包含左端返回变量时,nyquist ()函数仅在屏幕上产生奈氏图,命令调用格式为:

nyquist(num,den) nyquist(num,den,w) 或者

nyquist(G) nyquist(G,w) 该命令将画出下列开环系统传递函数的奈氏曲线: )

()

()(s den s num s G =

如果用户给出频率向量w,则w 包含了要分析的以弧度/秒表示的诸频率点。在这些频率点上,将对系统的频率响应进行计算,若没有指定的w 向量,则该函数自动选择频率向量进行计算。

w 包含了用户要分析的以弧度/秒表示的诸频率点,MATLAB 会自动计算这些点的频率响应。

当命令中包含了左端的返回变量时,即:

[re,im,w]=nyquist(G) 或

[re,im,w]=nyquist(G,w)

函数运行后不在屏幕上产生图形,而是将计算结果返回到矩阵re 、im 和w 中。矩阵re 和im 分别表示频率响应的实部和虚部,它们都是由向量w 中指定的频率点计算得到的。

在运行结果中,w 数列的每一个值分别对应re 、im 数列的每一个值。 例5.1 考虑二阶典型环节: 1

8.01

)(2++=

s s s G

试利用MATLAB 画出奈氏图。

利用下面的命令,可以得出系统的奈氏图,如图5-1所示。 >> num=[0,0,1];

den=[1,0.8,1]; nyquist(num,den) % 设置坐标显示范围 v=[-2,2,-2,2]; axis(v) grid

title(′Nyquist Plot of G(s)=1/(s^2+0.8s+1) ′)

(3)用MATLAB 作伯德图

控制系统工具箱里提供的bode()函数可以直接求取、绘制给定线性系统的伯德图。 当命令不包含左端返回变量时,函数运行后会在屏幕上直接画出伯德图。如果命令表达式的左端含有返回变量,bode()函数计算出的幅值和相角将返回到相应的矩阵中,这时屏幕上不显示频率响应图。命令的调用格式为:

[mag,phase,w]=bode(num,den) [mag,phase,w]=bode(num,den,w) 或

[mag,phase,w]=bode(G)

[mag,phase,w]=bode(G,w)

图5-1 二阶环节奈氏图

矩阵mag 、phase 包含系统频率响应的幅值和相角,这些幅值和相角是在用户指定的频率点上计算得到的。用户如果不指定频率w,MATLAB 会自动产生w 向量,并根据w 向量上各点计算幅值和相角。这时的相角是以度来表示的,幅值为增益值,在画伯德图时要转换成分贝值,因为分贝是作幅频图时常用单位。可以由以下命令把幅值转变成分贝:

magdb=20﹡log10(mag)

绘图时的横坐标是以对数分度的。为了指定频率的范围,可采用以下命令格式: logspace(d1,d2) 或

logspace(d1,d2,n) 公式logspace(d1,d2) 是在指定频率范围内按对数距离分成50等分的,即在两个十进制数1101d

=ω和

2

102d =ω之间产生一个由50个点组成的分量,向量中的点数50

是一个默认值。例如要在1.01=ω弧度/秒与1002=ω弧度/秒之间的频区画伯德图,则输入命令时,)(log 1101ω=d ,)(log 2102ω=d 在此频区自动按对数距离等分成50个频率点,返回到工作空间中,即

w=logspace(-1,2)

要对计算点数进行人工设定,则采用公式logspace(d1,d2,n)。例如,要在11=ω与

10002=ω之间产生100个对数等分点,可输入以下命令:

w=logspace(0,3,100)

在画伯德图时,利用以上各式产生的频率向量w ,可以很方便地画出希望频率的伯德图。 由于伯德图是半对数坐标图且幅频图和相频图要同时在一个绘图窗口中绘制,因此,要用到半对数坐标绘图函数和子图命令。

1)对数坐标绘图函数

利用工作空间中的向量x ,y 绘图,要调用plot 函数,若要绘制对数或半对数坐标图,只需要用相应函数名取代plot 即可,其余参数应用与plot 完全一致。命令公式有:

semilogx(x ,y ,s)

上式表示只对x 轴进行对数变换,y 轴仍为线性坐标。

semilogy(x ,y ,s)

上式是y 轴取对数变换的半对数坐标图。

Loglog(x ,y ,s)

上式是全对数坐标图,即x 轴和y 轴均取对数变换。 2)子图命令

MATLAB 允许将一个图形窗口分成多个子窗口,分别显示多个图形,这就要用到subplot()函数,其调用格式为:

subplot(m ,n ,k)

该函数将把一个图形窗口分割成m ×n 个子绘图区域,m 为行数,n 为列数,用户可以通过参数k 调用各子绘图区域进行操作,子图区域编号为按行从左至右编号。对一个子图进行的图形设置不会影响到其它子图,而且允许各子图具有不同的坐标系。例如,subplot(4,3,6)则表示将窗口分割成4×3个部分。在第6部分上绘制图形。 MATLAB 最多允许9×9的分

割。

例5.2 给定单位负反馈系统的开环传递函数为:

)

7()

1(10)(++=

s s s s G

试画出伯德图。

利用以下MATLAB 程序,可以直接在屏幕上绘出伯德图如图5-2。 >> num=10*[1,1]; den=[1,7,0]; bode(num,den) grid

title(′Bode Diagram of G(s)=10*(s+1)/[s(s+7)] ′) 该程序绘图时的频率范围是自动确定的,从0.01弧度/秒到30弧度/秒,且幅值取分贝值,ω轴取对数,图形分成2个子图,均是自动完成的。

如果希望显示的频率范围窄一点,则程序修改为: >> num=10*[1,1]; den=[1,7,0];

w=logspace(-1,2,50); % 从0.1至100,取50个点。 [mag, phase, w]=bode(num, den, w);

magdB=20*log10(mag) % 增益值转化为分贝值。

% 第一个图画伯德图幅频部分。 subplot(2,1,1);

semilogx(w,magdB, ′-r ′) % 用红线画 grid

title(′Bode Diagram of G(s)= 10*(s+1)/[s(s+7)] ′) xlabel(1Frequency(rad/s)1

)

图5-2 自动产生频率点画出的伯德图

ylabel(1Gain(dB)1)

% 第二个图画伯德图相频部分。

subplot(2,1,2);

semilogx(w,phase, 1-r1);

grid

xlabel(1Frequency(rad/s)1)

ylabel(′Phase(deg) ′)

修改程序后画出的伯德图如5-3所示。

图5-3用户指定的频率点画出的伯德图

(4). 用MATLEB求取稳定裕量

同前面介绍的求时域响应性能指标类似,由MATLAB里bode()函数绘制的伯德图也可以采用游动鼠标法求取系统的幅值裕量和相位裕量。例如,我们可以在图20的幅频曲线上按住鼠标左键游动鼠标,找出纵坐标(Magnitude)趋近于零的点,从提示框图中读出其频率约为7.25dB。然后在相频曲线上用同样的方法找到横坐标(Frequence)最接近7.25dB的点,可读出其相角为-53.9度,由此可得,此系统的相角裕量为126.1度。幅值裕量的计算方法与此类似。

此外,控制系统工具箱中提供了margin()函数来求取给定线性系统幅值裕量和相位裕量,该函数可以由下面格式来调用:

[Gm, Pm, Wcg, Wcp]=margin(G); (67) 可以看出,幅值裕量与相位裕量可以由LTI对象G求出,返回的变量对(Gm, Wcg)为幅值裕量的值与相应的相角穿越频率,而(Pm, Wcp)则为相位裕量的值与相应的幅值穿越频率。若得出的裕量为无穷大,则其值为Inf,这时相应的频率值为NaN(表示非数值),Inf 和NaN均为MATLAB软件保留的常数。

如果已知系统的频率响应数据,我们还可以由下面的格式调用此函数。

[Gm, Pm, Wcg, Wcp]=margin(mag, phase, w);

其中(mag, phase, w)分别为频率响应的幅值、相位与频率向量。

例5.3 已知三阶系统开环传递函数为:

)

232(27

)(23+++=

s s s s G

利用下面的MATLAB 程序,画出系统的奈氏图,求出相应的幅值裕量和相位裕量,并求出闭环单位阶跃响应曲线。

>> G=tf(3.5,[1,2,3,2]);

subplot(1,2,1); % 第一个图为奈氏图 nyquist(G); grid

xlabel('Real Axis') ylabel('Imag Axis') % 第二个图为时域响应图 [Gm,Pm,Wcg,Wcp]=margin(G) G_c=feedback(G,1); subplot(1,2,2); step(G_c) grid

xlabel(′Time(secs) ′) ylabel(′Amplitude ′) 显示结果为:

ans=1.1429 1.1578 1.7321 1.6542

图5-4 三阶系统的奈氏图和阶跃响应图

画出的图形如图5-4 所示。由奈氏曲线可以看出,奈氏曲线并不包围(-1,j0)点,故闭环系统是稳定的。由于幅值裕量虽然大于1,但很接近1,故奈氏曲线与实轴的交点离

临界点(-1,j0)很近,且相位裕量也只有7.1578o

,所以系统尽管稳定,但其性能不会太好。观察闭环阶跃响应图,可以看到波形有较强的振荡。

如果系统的相角裕量γ>45o

,我们一般称该系统有较好的相角裕量。 例5.4 考虑一个新的系统模型,开环传递函数为:

)

9)(1()5(100)(22

++++=

s s s s s G 由下面MATLAB 语句可直接求出系统的幅值裕量和相位裕量:

>> G=tf(100*conv([1,5],[1,5]), conv([1,1],[1,1,9])); [Gm, Pm, Wcg, Wcp]=margin(G)

结果显示 Gm = Pm =

Inf 85.4365

Wcg = Wcp =

NaN 100.3285 再输入命令

>> G_c=feedback(G,1);

step(G_c) grid

xlalel(′Time(sec) ′) ylalel(′Amplitude ′)

可以看出,该系统有无穷大幅值裕量,且相角裕量高达85.4365o

。所以系统的闭环响应是较理想的,闭环响应图如图5-5.

(5).时间延迟系统的频域响应

(1) 时间延迟系统的传递函数模型

带有延迟环节e -Ts

的系统不具有有理函数的标准形式,在MATLAB 中,建立这类系统的模型。要由一个属性设置函数set()来实现。该函数的调用格式为:

图5-5 较理想的系统响应

set(H, ′属性名′, ′属性值′)

其中H 为图形元素的句柄(handle )。在MATLAB 中,当对图形元素作进一步操作时,只需对该句柄进行操作即可。例如以下调用格式

h=plot(x,y) G=tf(num,den)

Plot()函数将返回一个句柄h ,tf()函数返回一个句柄G ,要想改变句柄h 所对应曲线的颜色,则可以调用下面命令:

Set(h,color,[1,0,0]);

即对“color ”参数进行赋值,将曲线变成红色(由[1,0,0]决定)

同样,要想对G 句柄所对应模型的延迟时间’T d ’进行修改,则可调用下面命令

Set(G, ′T d ′,T)

其中T 为延迟时间。由此修改后,模型G 就已具有时间延迟特性。 (2) 时间延迟系统的频域响应

含有一个延迟环节的系统,其开环频域响应为 ω

ω?ω

ωωT j jT e

j G e

j G --=)()()(

可见,该系统的幅频特性不变,只加大了相位滞后。例5.5 考虑系统的开环模型为: Ts

e s s G -+=

1

1)( 当T=1时,我们可以由下面的MATLAB 命令绘出系统的奈氏图,如图5-6所示,此系统对应的时域响应图为5-7。

>> G=tf(1,[1, 1]); T=[1];

w=[0, logspace(-3, 1, 100), logspace(1,2,200)]; set(G,‘Td', T); % 延迟1秒。 nyquist(G,w) grid

figure % 建立一个新的绘图窗口 step(G)

例5.6 控制系统如图5-8所示,试分析其闭环特性。

图5-6 时间延迟系统奈氏图

图5-7 时间延迟系统的阶跃响应

图5-8

下面是该系统的演示过程,带符号%语句为注释语句。%清文字屏

%clc

%清图形屏

%clf

%系统1描述

a1=[1 3 0];

b1=2;

%系统2描述

a2=[1 2 2];

b2=[1 2];

%两系统串联后的传递函数:

[b12,a12]=series(b1,a1,b2,a2);

%串联后频率响应(波特图)

figure(1)

bode(b12,a12);pause

%clf

%求振幅及相位裕度

figure(2)

[m,p,w]=bode(b12,a12)

%求开环振幅Gm和相位裕度Pm及其对应频率margin(m,p,w);

[Gm,Pm,Wg,Wp]=margin(m,p,w);pause

%画nichols曲线,先用ngrid函数画坐标网

figure(3)

ngrid('new');

nichols(b12,a12);pause

%clf

%画根轨迹,先消除画nichols曲线时冻结的坐标系,%用axis命令恢复自动定标。

figure(4)

axis;

rlocus(b12,a12);

%用鼠标器找适当的极点

[k1,p1]= rlocfind(b12,a12);pause

%将环路闭合

b1=k1*b1;

b121=k1*b12;

%再看闭环振幅及相位裕度

figure(5)

[m,p,w]=bode(b121,a12);

margin(m,p,w);

[Gm,Pm,Wg,Wp]=margin(m,p,w);pause

%求闭环传递函数,[ bb,ab]指单位反馈情况,

%[ bb1,ab1]指将系统2置于反馈通道上:

[bb,ab]=cloop(b121,a12);pause

[bb1,ab1]=feedback(b1,a1,b2,a2,-1);pause

%求闭环频率响应

figure(6)

bode(bb1,ab1);pause

%clg;

%闭环过渡过程

figure(7)

step(bb1,ab1);pause

%clg

figure(8)

impulse(bb1,ab1);pause

%clg;

%再求闭环零一极点,作为校核:

[zb,pb,kb]=tf2zp(bb,ab);pause

printsys(zb,pb,kb);

format

echo off

%演示结束

运行结果:

开环系统幅值裕量及相位裕量:Gm=3.5435,Pm=55.022,Wg=1.6159,Wp=0.66898

在根轨迹上选择一点:selected_point = -4.0158 + 0.0309i

此时闭环系统幅值裕量及相位裕量:Gm= 0.34677,Pm= -29.162,Wg= 1.6159,Wp= 2.5192

根据选定根轨迹上一点的位置可计算出相应的闭环零点,闭环极点及闭环增益值。

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进行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频谱分析程序

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 lim N j 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 ππ ωωπ- -= =?? 上式中的 ()()2xx xx S P ωωπ = 以及()()xx xx s S f P f f = 被定义为平稳随机信号n x 的power spectral density (PSD)(功率谱密度) 一个信号在频带[]1 2 1 2 ,,0ωωωω π ≤<≤上的平均功率 可以通过对PSD 在频带上积分求出 []()()2 1 121 2 ,xx xx P P d P d ωωωωωω ωωωω-- = +?? 从上式中可以看出()xx P ω是一个信号在一个无 穷小频带上的功率浓度,这也是为什么它叫做功率谱密度。

离散系统频域分析及matlab实现

《数字信号处理》 课程设计报告 离散系统的频域分析及matlab实现 专业:通信工程 班级:通信11级 组次: 姓名及学号: 姓名及学号:

离散系统的频域分析及matlab 实现 一、设计目的 1.熟悉并掌握matlab 软件的使用; 2.掌握离散系统的频域特性; 3.学会分析离散系统的频域特性的方法; 二、设计任务 1.设计一个系统函数系统的频率响应进行分析; 2.分析系统的频域响应; 3.分析系统的因果稳定性; 4.分析系统的单位脉冲响应; 三、设计原理 1. 系统函数 对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。 在本文中利用系统函数H(z)进行描述。若已知一个差分方程为 ∑∑==---=M i N i i i i n y a i n x b n 0 1 )()()(y ,则可以利用双边取Z 变换,最终可以得到系统函数的一 般式H(z),∑∑=-=-== N i i i M i i i z a z b z X z z H 0 0) () (Y )(。若已知系统的单位脉冲响应,则直接将其进行Z 变换就可以得到系统函数H(z)。系统函数表征系统的复频域特性。 2.系统的频率响应: 利用Z 变化分析系统的频率响应:设系统的初始状态为零,系统对输入为单位脉冲序列 ) (n δ的响应输出称为系统的单位脉冲响应h (n )。对h(n)进行傅里叶变换,得到: ∑∞ ∞∞-==-)(jw n j |)(|)(e H w j n n j e e H e n h ?ω) (

其中|)(|jwn e H 称为系统的幅频特性函数,)(ω?称为系统的相位特性函数。)(jw e H 表示的是系统对特征序列jwn e 的响应特性。对于一个系统输入信号为n )(ωj e n x =,则系统的输出信号为jwn e )(jw e H 。由上可以知道单频复指数信号jwn e 通过频率响应函数为)(jw e H 后,输出仍为单频复指数信号,其幅度放大了|)(|jw e H ,相移为)(ω?。 对于系统函数H(z)与H(w)之间,若系统函数H(z)的收敛域包含单位圆|z|=1,则有 jw e z jw z H e H ==|)()(,在MATLAB 中可以利用freqz 函数计算系统的频率响应。 (1)[h,w]=freqz(b,a,n) 可得到n 点频率响应,这n 个点均匀地分布在上半单位圆(即 ),并将这n 点频率记录在w 中,相应的频率响应记录在h 中。n 最好能取2的幂次方,如果缺省,则n=512。 (2)[h,w]=freqz(b,a,n,'whole') 在 之间均匀选取n 个点计算频率响应。 (3)[h,w]=freqz(b,a,n,Fs) Fs 为采样频率(以Hz 为单位),在0~Fs/2频率范围内选取n 个频率点,计算相应的频率响应。 (4)[h,w]=freqz(b,a,n,'whole',Fs) 在0~Fs 之间均匀选取n 个点计算频率响应。 (5)freqz(b,a) 可以直接得到系统的幅频和相频特性曲线。其中幅频特性以分贝的形式给出,频率特性曲线的横轴采用的是归一化频率,即Fs/2=1。 3.系统的因果性和稳定性 3.1因果性 因果系统其单位脉冲响应序列h(n)一定是一个因果序列,其z 域的条件是其系统函数H(z)的收敛域一定包含∞,即∞点不是极点,极点 分布在某个圆内,收敛域在某个圆外。 3.2稳定性 系统稳定就要求∞<∑∞ ∞-|h(n)|,由序列的)(jw e H 存在条件和jw e z jw z H e H ==|)()(可以知道 系统稳定的z 域条件就是H(z)的收敛域包含单位圆,即极点全部分布在单位圆内部。 由上3.1和3.2可知,利用系统的零极点分布图可以判断系统的因果性和稳定性。 若在零极点分布图中,若系统的极点都分布在单位圆内,则此系统是因果系统,若有极点分布在单位圆 外,则此系统是非因果系统。在MATLAB 中可以利用zplane 函数画出系统的零极点分布图。系统函数的零极点图的绘制:zplane(b,a)。其中b 为系统函数的分子,a 为系统函数的分母。 4.系统的单位脉冲响应 设系统的初始状态为零,系统对输入为单位脉冲序列)(n δ的响应输出称为系统的单位脉冲响应h (n )。对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。单位脉冲响应是系统的一种描述方法,若已知了系统的系统函数,可以利用系统得出系统的单位脉冲响应。在MATLAB 中利用impz 由函数函数求出单位脉冲响应h(n)。

第五章 频域分析法

第五章 频域分析法 时域分析法具有直观、准确的优点。如果描述系统的微分方程是一阶或二阶的,求解后可利用时域指标直接评估系统的性能。然而实际系统往往都是高阶的,要建立和求解高阶系统的微分方程比较困难。而且,按照给定的时域指标设计高阶系统也不是一件容易的事。 本章介绍的频域分析法,可以弥补时域分析法的不足。因为频域法是基于频率特性或频率响应对系统进行分析和设计的一种图解方法,故其与时域分析法相比有较多的优点。首先,只要求出系统的开环频率特性,就可以判断闭环系统是否稳定。其次,由系统的频率特性所确定的频域指标与系统的时域指标之间存在着一定的对应关系,而系统的频率特性又很容易和它的结构、参数联系起来。因而可以根据频率特性曲线的形状去选择系统的结构和参数,使之满足时域指标的要求。此外,频率特性不但可由微分方程或传递函数求得,而且还可以用实验方法求得。对于某些难以用机理分析方法建立微分方程或传递函数的元件(或系统)来说,具有重要的意义。因此,频率法得到了广泛的应用,它也是经典控制理论中的重点内容。 5.1 频率特性 对于线性定常系统,若输入端作用一个正弦信号 t U t u ωsin )(= (5—1) 则系统的稳态输出y(t)也为正弦信号,且频率与输人信号的频率相同,即 ) t Y t y ?ω+=sin()( (5—2) u(t)和y(t)虽然频率相同,但幅值和相位不同,并且随着输入信号的角频率ω的改变,两者之间的振幅与相位关系也随之改变。这种基于频率ω的系统输入和输出之间的关系称之为系统的频率特性。 不失一般性,设线性定常系统的传递函数G(s)可以写成如下形式 ) () () () () ())(() ()()()(1 21s A s B p s s B p s p s p s s B s U s Y s G n j j n = +=+++== ∏=Λ (5—3) 式中B(s)——传递函数G(s)的m 阶分子多项式,s 为复变量; A(s)——传递函数G(s)的n 阶分母多项式 (n ≥m); n p p p ---,,,21Λ—传递函数G(s)的极点,这些极点可能是实数,也可能是复数,对稳定的系统采说,它们都应该有负的实部。 由式(5—1),正弦输入信号u(t)的拉氏变换为(查拉氏变换表) ) )(()(22ωωω ωωj s j s U s U s U -+=+= (5—4)

信号的频域分析及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进行 信号与系统的时、频域分析 学院 学生姓名 班级学号 指导教师 开课学院 日期 用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频谱分析程序

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 lim N j n n N n N X x e ωω=-=∑ πωπ-<≤。其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怎样进行频谱分析、、

利用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实现

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

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进行系统频域分析

一.实验目的 1.学会用MATLAB 求解周期信号和非周期信号的频谱; 2.学会用MATLAB 分析LTI 系统的频域特性 3.学会用MATLAB 分析LTI 系统的输出响应 二、实验原理 1.连续信号频谱 (1)连续周期信号频谱 周期信号f(t),周期为T1,基波角频率为ω1=2π/T1,可展开成三角形式: 011011 1 ()[cos()sin()]cos() n n n n n n f t a a n t b n t c c n t ωωω?∞∞ ===++=++∑∑ 直流分量:01 00 11()t T t a f t dt c T += =? 余弦分量的幅度:01 112()cos()t T n t a f t n t dt T ω+=? 正弦分量的幅度:01 1 12()sin()t T n t b f t n t dt T ω+=? n c = 1tan ()n n n b a φ-=- 指数形式傅里叶级数: 1j 1()()e n t n f t F n ωω∞ =-∞ = ∑ ()11j j 1101()e d ()e n T n t F n f t t F n T φωωω-= =? 吉布斯现象: 对于具有不连续点的函数,当取的傅里叶级数的项数N 越多,所合成的波形SN(t)中出现的峰起越靠近f(t)的不连续点。当项数N 很大时,该峰起值趋于一个常数,大约为总跳变值的9%,并从不连续点开始起伏振荡的形式逐渐衰减下去-吉布斯现象。 (2)非周期信号频谱 连续非周期信号的频谱用频谱密度函数表示 []j ()()e d ()t F f t t F f t ωω∞ --∞ ==? ()~:F ωω幅度频谱 ()~:φωω相位频谱 MATLAB 的symbolic Math Toolbox 提供了直接求解傅里叶变换及逆变换的函数fourier()和ifourier()两者的调用格式如下: Fourier 变换的调用格式 F=fourier(f):它是符号函数f 的fourier 变换默认返回是关于ω的函数。 F=fourier(f,v):它返回函数F 是关于符号对象v 的函数,而不是默认的w,()()jvx F v f x e dx +∞ --∞ = ? Fourier 逆变换的调用格式 f=ifourier(F):它是符号函数F 的fourier 逆变换,默认的独立变量为w,默认返回是关于x 的函数。 F=ifourier(f,u):它的返回函数f 是u 的函数,而不是默认的x 。 注意:在调用函数fourier()及ifourier()之前,要用syms 命令对所用到的变量(如t,u,v,w )进行说明,即将这些变量说明成符号变量。 用MATLAB 符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示出错,这时用MATLAB 的数值计算也可以求连续信号的傅里叶变换,计算原理是 ∑? ∞ -∞ =-→-∞ ∞ -==n n j t j e n f dt e t f j F ττωτ ωτω)(lim )()(0 当 τ足够小时,近似计算可满足要求。若信号是时限的,或当时间大于某个给定值时,信号已衰减的很厉害,可 以近似地看成时限信号时,n 的取值就是有限的,设为N ,有

噪声中正弦信号的经典法频谱分析

实验报告 一、实验名称 噪声中正弦信号的经典法频谱分析 二、实验目的 通过对噪声中正弦信号的经典法频谱分析,来理解和掌握经典谱估计的知识,以及学会应用经典谱估计的方法。 三、基本原理 1.周期图法:又称直接法。把随机信号)(n x 的N 点观察数据)(n x N 视为一能量有限信号,直接取)(n x N 的傅里叶变换,得)(jw N e X ,然后再取其幅值的平方,并除以N ,作为对)(n x 真 实的功率谱)(jw e P 的估计,以)(?jw PER e P 表示用周期图法估计出的功率谱,则2)(1)(?w X N w P n PER =。 2.自相关法:又称为间接法功BT 法。先由)(n x N 估计出自相关函数)(?m r ,然后对)(?m r 求傅里叶变换得到)(n x N 的功率谱,记之为)(?w P BT ,并以此作为对)(w P 的估计,即1,)(?)(?-≤=--=∑N M e m r w P jwm M M m BT 。 3.Bartlett 法:对L 个具有相同的均值μ和方差2σ的独立随机变量1X ,2X ,…,L X ,新随机变量L X X X X L /)(21+++= 的均值也是μ,但方差是L /2σ,减小了L 倍。由此得 到改善)(?w P PER 方差特性的一个有效方法。它将采样数据)(n x N 分成L 段,每段的长度都是M ,即N=LM ,第i 段数据加矩形窗后,变为L i e n x M w x M n jwn i N I PER ≤≤=∑-=-1,)(1)(?2 10 。把)(?w P PER 对应相加,再取平均,得到平均周期图2 1110 )(1)(?1)(∑∑∑==-=-==L i L i M n jwn i N i PER PER e n x ML w P L w P 。 4.Welch 法:它是对Bartlett 法的改进。改进之一是,在对)(n x N 分段时,可允许每一段的数据有部分的交叠。改进之二是,每一段的数据窗口可以不是矩形窗口,例如使用汉宁窗或汉明窗,记之为)(2n d 。这样可以改善由于矩形窗边瓣较大所产生的谱失真。然后按Bartlett

matlab频域分析.doc

MATLAB 频域分析实验 1. 给定系统 ()8.02.02+-=z z z H (a) 画出系统极零图; 由题知,该系统零点为Z 1=0,极点为P 1=-√(8/10)j 和P 2=√(8/10)j 。 由matlab 作出极零图如下: 代码如下: b=[0,-0.2]; a=[1,0,0.8]; zplane(b,a); (b) 求出并绘出系统幅频响应与相频响应; 由题知,)8.0)(8.0(2.0)(j z j z z z H -+-=,用e jw 替换z 后得到 )8.0)(8.0(2.0)(j e j e e e H jw jw jw jw -+-=;利用matlab 做出幅频响应和相频响应如下:

代码如下: clear all ; b=[0,-0.2]; a=[1,0,0.8]; [H,w]=freqz(b,a,512,1); Hr=abs(H); Hphase=angle(H)*180/3.1415;Hphase=unwrap(Hphase); subplot(221);plot(2*w,Hr);grid on ; xlabel( '\omega/\pi');ylabel('幅频响应 '); subplot(222);plot(w,Hphase);grid on ; xlabel( '\omega/\pi');ylabel('相频响应/°'); (c) 求出并绘出系统的单位样值响应; 由(b) 中结果,利用matlab 中的iztrans 命令求得 )()21sin(8.08 .041-)(n u n n h n π=,在matlab 中做出单位样值响应如下:

用MATLAB实现线性系统的频域分析分析解析

实验二用MATLAB实现线性系统的频域分析 [实验目的] 1.掌握MATLAB平台下绘制典型环节及系统开环传递函数的Bode图和Nyquist图(极坐标图)绘制方法; 2.掌握利用Bode图和Nyquist图对系统性能进行分析的理论和方法。 [实验指导] 一、绘制Bode图和Nyquist图 1.Bode图绘制 采用bode()函数,调用格式: ①bode(sys);bode(num,den); 系统自动地选择一个合适的频率范围。 ②bode(sys,w); 其中w(即ω)是需要人工给出频率范围,一般由语句w=logspace(a,b,n)给出。logspace(a,b,n):表示在10a到10b之间的 n个点,得到对数等分的w值。 ③bode(sys,{wmin,wmax}); 其中{wmin,wmax}是在命令中直接给定的频率w的区间。 以上这两种格式可直接画出规范化的图形。 ④[mag,phase,ω]=bode(sys)或[m,p]=bode(sys) 这种格式只计算Bode图的幅值向量和相位向量,不画出图形。 m为频率特性G(jω )的幅值向量; p为频率特性G(jω )的幅角向量,单位为角度(°)。 w为频率向量,单位为[弧度]/秒。 在此基础上再画图,可用: subplot(211);semilogx(w,20*log10(m) %对数幅频曲线 subplot(212);semilogx(w,p) %对数相频曲线 ⑤bode(sys1,sys2,…,sysN) ; ⑥bode((sys1,sys2,…,sysN,w); 这两种格式可在一个图形窗口同时绘多个系统的bode图。 2. Nyquist曲线的绘制

实验:典型信号频谱分析

实验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)()(

相关文档
最新文档