离散系统频域分析及matlab实现(修订版)

离散系统频域分析及matlab实现(修订版)
离散系统频域分析及matlab实现(修订版)

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

摘 要:系统的频域分析主要包括求表征系统频率特性的频率响应特征量和在频域求解系统输出两方面内容,本文主要分析离散系统的频域特性,应用实例结合理论,通过matlab 做出了系统输出的幅频特性和相频特性曲线。

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)。

稳定系统的频率响应就是系统函数在单位圆上的取值,计算系统的频率响应,可将系统函数中的Z 变量用ωj e 代入即可得到。频率响应是一个复函数,其模叫幅度响应,其相角叫相位响应,它反映了输入序列的频谱经系统后所发生的变化规律。从幅频曲线上可直观看到各频率分量的幅度变化情况,从相频曲线上可直观看到各频率分量的相移情况。根据频响曲线分析系统对信号频谱的影响,概念清楚、简单直观,对信号综合也意义重大,但要将一个较复杂的频率响应复函

数转化成幅度响应和相位响应并图示,计算量大且容易出错,图示结果也不一定精确。利用MATLAB 函数这些问题都迎刃而解。

幅频特性,它指的是当w 从0到∞变化时,|)(|jw H 的变化特性,记为A (w ),

相频特性,指的是当w 从0到∞变化时,)(ωj H ∠的变化特性称为相频特性,记为)(ω?。 离散系统的幅频特性曲线和相频特性曲线直观的反应了系统对不同频率的输入序列的处理情况。

5.MATLAB 的实现

下面已知一个系统的系统函数为

3

2

1

1

125.055.01.1106.03.0)(-----+-+=

z

z

z

z

z H

1.系统的频率响应

clc ;close all;clear all; a=[1 -0.3];

b=[1 -1.6 0.9425];

[H,w]=freqz(a,b,'whole'); subplot(2,1,1); plot(w/pi,abs(H)); title('幅度谱');

xlabel('\omega/\pi');

ylabel('|H(e^j^\omega)|'); grid on;

subplot(2,1,2);

plot(w/pi,angle(H)); title('相位谱');

xlabel('\omega/\pi'); ylabel('phi(\omega)'); grid on;

图1

由图1可以知道此系统为带通;

2

clc ;close all;clear all;

a=[1 -0.3];

b=[1 -1.6 0.9425];

zplane(a,b);

title('零极点分布图');

图2

由图2可以知道系统的所有极点都位于单位圆内,所以此系统为稳定系统;

3.

clc ;close all;clear all;

a=[1 -0.3];

b=[1 -1.6 0.9425];

impz(a,b,30);

title('系统单位脉冲响应');

axis([-3 30 -2 2])

图3

由图3可以知道此系统的单位脉冲响应序列为一个因果序列,所以此系统为因果系统;

6 .结束语

用MATLAB辅助分析离散系统,程序简单易懂,计算准确,绘图方便,只要掌握了系统分析的概念原理和方法,繁杂的分析计算及图形显示均可用MATLAB 实现。利用MATLAB的计算功能,不仅使大量的手工计算得以简化,也使得系统分析更为简便和高效;利用MATLAB的绘图功能,有利于分析结果的直观理解,也有利于深入掌握所学的内容,更能培养学习的兴趣。

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 分析连续系统及离散系统的复频域特性 一.实验目的 1.掌握 Laplace 变换的意义、基本性质及应用。 2.掌握拉普拉斯变换的三维可视化表示。 3.理解系统函数的零、极点分布(极、零图)决定系统时间原函数的特性。 4.掌握系统冲激响应。 5. H (z )部分分式展开的MA TLAB 实现 6. H (z )的零极点与系统特性的MATLAB 计算 二.实验原理 1.Laplace 变换和逆变换定义为 ??∞+∞-∞ -==j j st st ds e s F j t f dt e t f s F σσπ)(21)()()(0 ( 4 – 1 ) 在 Matlab 中实现 Laplace 变换有两个途径:直接调用指令 laplace 和ilaplace 进行; 根据定义式 ( 4 – 1 ),利用积分指令 int 实现。相较而言,直接利用 laplace 和 ilaplace 指令实现机器变换要简洁一些。 调用格式: L=laplace(F) F=ilaplace(L) 2.实现拉普拉斯曲面图及其可视化的步骤如下: a .定义两个向量x 和y 来确定绘制曲面图的复平面横座标和纵座标的范围。 b .调用meshgrid 函数产生包含绘制曲面图的s 平面区域所有等间隔取样点的复矩阵。 c .计算复矩阵s 定义的各样点处信号拉氏变换F(s)的函数值,并调用abs 函数求其模。 d .调用mesh 函数绘出其幅度曲面图。 3.在连续系统的复频域分析中,系统函数起着十分重要的作用,它包含了连续系统的固有特性。通过系统函数可以对系统的稳定性、时域特性、系统频率响应等系统特性进行分析。 若连续系统的系统函数的零极点已知,系统函数便可确定下来,即系统函数H (s )的零极点分布完全决定了系统的特性。系统函数的零点和极点位置可以用matlab 的多项式求根函数roots()来求得。用roots()函数求得系统函数H(s)的零极点后,就可以用plot 命令在复平面上绘制出系统函数的零极点图。

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)。

实验三 连续和离散系统的复频域分析

∞ 实验三 连续和离散系统的复频域分析 一、实验目的 1.掌握连续时间函数的拉普拉斯正变换及反变换; 2.掌握离散时间函数的 Z 变换和 Z 反变换;; 3.掌握连续系统复频域分析方法; 4.掌握离散系统复频域分析方法。 二、实验仪器 装有 MATLAB 软件的微型计算机 1 台 三、实验原理 3.1 拉氏变换的正变换和逆变换 (1)定义 正变换: F (s ) = ? f (t )e -st dt 反变换: f (t ) = 1 ? σ + j ∞ F (s )e st ds -∞ 2πj ο - j ∞ 其中 F(s) 可以表示为有理分式 F (s ) = B (s ) 或零极点相乘形式 A (s ) F (s ) =k (s -z 1)(s -z 2)L (s -z m ) (s - p 1)(s - p 2)L (s - p n ) A(s)和 B(s)都是 s 的多项式,z 1,z 2,…,z m 是 F(s)的零点,p 1,p 2,…,p n 是 F(s)的极点, k 为 F(s)的增益。 (2)拉氏变换的函数调用 正变换: Fs = laplace(f) 逆变换:f = ilaplace(Fs)

□? 3.2 Z 变换的正变换和逆变换 (1)定义 正变换: F (z) = ∑ f (n)z -n n =0 反变换: f (n) = 1 2π j c F (z)z n -1 dz 其中 F(z)可以表示为有理分式 F (z) = B(z) 或零极点相乘形式 A(z) F (z ) =k (z -z 1)(z -z 2)L (z -z m ) (z -p 1)(z -p 2)L (z -p n ) A(z)和 B(z)都是 z 的多项式,z 1,z 2,…,z m 是 F(z)的零点,p 1,p 2,…,p n 是 F(z)的极点, k 为 F(z)的增益。 (2)Z 变换的函数调用 正变换: F = ztrans(f) f = f (n ) ? F = F (z ) 逆变换: f = iztrans (F) F = F (z ) ? f = f (n ) 3.3 复频域分析其他相关函数 (1) ezplot 函数 调用格斯:ezplot(f) 功能:符号型函数的绘图函数 (2) dimpulse 函数 调用格式:dimpulse(B,A[,N]) 功能:绘制传递函数 H(Z)的单位脉冲响应,其中 B ,A 分别是传递函数按 Z-1 的升幂排列的分子分母系数行向量,N 为指定的单位脉冲响应序列的点数。 (3) dstep 函数 ∞

第五章 频域分析法

第五章 频域分析法 时域分析法具有直观、准确的优点。如果描述系统的微分方程是一阶或二阶的,求解后可利用时域指标直接评估系统的性能。然而实际系统往往都是高阶的,要建立和求解高阶系统的微分方程比较困难。而且,按照给定的时域指标设计高阶系统也不是一件容易的事。 本章介绍的频域分析法,可以弥补时域分析法的不足。因为频域法是基于频率特性或频率响应对系统进行分析和设计的一种图解方法,故其与时域分析法相比有较多的优点。首先,只要求出系统的开环频率特性,就可以判断闭环系统是否稳定。其次,由系统的频率特性所确定的频域指标与系统的时域指标之间存在着一定的对应关系,而系统的频率特性又很容易和它的结构、参数联系起来。因而可以根据频率特性曲线的形状去选择系统的结构和参数,使之满足时域指标的要求。此外,频率特性不但可由微分方程或传递函数求得,而且还可以用实验方法求得。对于某些难以用机理分析方法建立微分方程或传递函数的元件(或系统)来说,具有重要的意义。因此,频率法得到了广泛的应用,它也是经典控制理论中的重点内容。 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)。

实验六-信号与系统复频域分析

实验六信号与系统复频域分析 一、实验目的 1.学会用MATLAB进行部分分式展开; 2.学会用MATLAB分析LTI系统的特性; 3.学会用MATLAB进行Laplace正、反变换。 4.学会用MATLAB画离散系统零极点图; 5.学会用MATLAB分析离散系统的频率特性; 二、实验原理及内容 1.用MATLAB进行部分分式展开 用MATLAB函数residue可以得到复杂有理分式F(s)的部分分式展开式,其调用格式为 其中,num,den分别为F(s)的分子和分母多项式的系数向量,r为部分分式的系数,p为极点,k为F(s)中整式部分的系数,若F(s)为有理真分式,则k为零。 例6-1 用部分分式展开法求F(s)的反变换 解:其MATLAB程序为 format rat; num=[1,2]; den=[1,4,3,0]; [r,p]=residue(num,den) 程序中format rat是将结果数据以分数形式显示

F(s)可展开为 210.536()13 F s s s s --=++++ 所以,F(s)的反变换为 3211()()326t t f t e e u t --??=--???? 2.用MATLAB 分析LTI 系统的特性 系统函数H (s )通常是一个有理分式,其分子和分母均为多项式。计算H (s )的零极点可以应用MATLAB 中的roots 函数,求出分子和分母多项式的根,然后用plot 命令画图。 在MATLAB 中还有一种更简便的方法画系统函数H (s )的零极点分布图,即用pzmap 函数画图。其调用格式为 pzmap(sys) sys 表示LTI 系统的模型,要借助tf 函数获得,其调用格式为 sys=tf(b,a) 式中,b 和a 分别为系统函数H (s )的分子和分母多项式的系数向量。 如果已知系统函数H (s ),求系统的单位冲激响应h(t)和频 率响应H ω(j )可以用以前介绍过的impulse 和freqs 函数。 例6-2 已知系统函数为 321221 s s s +++H(s)= 试画出其零极点分布图,求系统的单位冲激响应h(t)和频率响应H ω(j ),并判断系统是否稳定。 解:其MATLAB 程序如下: num=[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 ,有

相关文档
最新文档