文档库 最新最全的文档下载
当前位置:文档库 › 离散系统频域分析及matlab实现

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

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

离散系统频域分析是对离散系统在频域上的特性进行研究的一种方法,主要包括幅频

特性和相频特性。频域分析可以通过傅里叶变换、z变换等数学工具进行处理,并通过MATLAB等工具进行模拟实现。

幅频特性是指系统在不同频率下输出信号的幅度随输入信号幅度变化的特性。幅频特

性通常用幅度响应函数来描述,它表示了系统对输入信号不同频率分量的增益或衰减程度。以传递函数为基础的离散系统可以通过对其传递函数进行离散化得到差分方程和单位抽样

响应,然后通过对单位抽样响应进行傅里叶变换得到离散系统的频率响应函数。在MATLAB 中,可以使用freqz函数计算离散系统的频率响应函数,并进一步计算幅度响应函数。

对于复杂的离散系统,可以通过级联、并联和反馈等方法进行分析和设计。在MATLAB 中,可以使用series、parallel和feedback等函数进行组合模拟。

应用MATLAB对信号进行频谱分析

应用MATLAB对信号进行频谱分析 信号的频谱分析是一种重要的信号处理方法,可以帮助我们深入了解信号的频域特性。MATLAB作为一种强大的科学计算软件,提供了丰富的工具和函数来进行频谱分析。 在MATLAB中,频谱分析可以使用多种方法来实现,包括离散傅立叶变换(DFT)、快速傅立叶变换(FFT)等。下面将介绍几种常用的频谱分析方法及其在MATLAB中的应用。 1.离散傅立叶变换(DFT) 离散傅立叶变换是将信号从时域转换到频域的一种方法。在MATLAB 中,可以使用fft函数进行离散傅立叶变换。例如,假设我们有一个长度为N的信号x,可以通过以下代码进行频谱分析: ```matlab N = length(x); X = fft(x); fs = 1000; % 采样频率 f = fs*(0:(N/2))/N; P = abs(X/N).^2; plot(f,P(1:N/2+1)) ```

以上代码将信号x进行离散傅立叶变换,并计算频谱的幅度谱(P),然后根据采样频率和信号长度计算频率轴。最后使用plot函数绘制频谱图。 2.快速傅立叶变换(FFT) 快速傅立叶变换是一种高效的离散傅立叶变换算法,可以在较短的时 间内计算出频谱。在MATLAB中,fft函数实际上就是使用了快速傅立叶 变换算法。以下是使用FFT进行频谱分析的示例代码: ```matlab N = length(x); X = fft(x); fs = 1000; % 采样频率 f = fs*(0:(N/2))/N; P = abs(X/N).^2; plot(f,P(1:N/2+1)) ``` 3.窗函数 窗函数可以改善频谱分析的效果,常见的窗函数有矩形窗、汉宁窗、 汉明窗等。在MATLAB中,可以使用window函数生成窗函数,然后将窗函 数和信号进行乘积运算,再进行频谱分析。以下是使用汉宁窗进行频谱分 析的示例代码: ```matlab

实验七--离散系统分析的MATLAB实现

实验七 离散系统分析的MATLAB 实现 一、实验目的 1、掌握利用MATLAB 绘制系统零极点图的方法; 2、掌握离散时间系统的零极点分析方法; 3、学习离散系统响应的MATLAB 求解方法; 4、掌握用MATALB 实现离散系统频率特性分析的方法; 5、深刻理解离散系统的系统函数零极点对系统频响的影响,可以根据 零极点知识设计简单的滤波器。 二、基本原理 (一)离散系统零极点 线性时不变离散系统可用线性常系数差分方程描述,即 ()()N M i j i j a y n i b x n j ==-=-∑∑ (1) 其中()y k 为系统的输出序列,()x k 为输入序列。 将式(1)两边进行Z 变换, 00 () () ()() () M j j j N i i i b z Y z B z H z X z A z a z -=-== == ∑∑ (2) 将式(2)因式分解后有: 11 () ()() M j j N i i z q H z C z p ==-=-∏∏ (3) 其中C 为常数,(1,2,,)j q j M =为()H z 的M 个零点,(1,2, ,)i p i N =为()H z 的 N 个极点。 系统函数()H z 的零极点分布完全决定了系统的特性,若某系统函数的零极点已知,则系统函数便可确定下来。因此,系统函数的零极点分布对离散系统特性的分析具有非常重要意义。 (二)离散系统零极点图及零极点分析 1、零极点图的绘制 设离散系统的系统函数为 () ()() B z H z A z =

则系统的零极点可用MATLAB 的多项式求根函数roots()来实现,调用格式为: p=roots(A) 其中A 为待求根多项式的系数构成的行矩阵,返回向量p 则是包含多项式所有根的列向量。如多项式为231 ()48 B z z z =+ +,则求该多项式根的MATLAB 命令为为: A=[1 3/4 1/8]; P=roots(A) 运行结果为: P = -0.5000 -0.2500 需注意的是,在求系统函数零极点时,系统函数可能有两种形式:一种是分子、分母多项式均按z 的降幂次序排列;另一种是分子、分母多项式均按1z -的升幂次序排列。这两种方式在构造多项式系数向量时稍有不同。 (1)()H z 按z 的降幂次序排列:系数向量一定要由多项式最高次幂开始,一直到常数项,缺项要用0补齐。如 34322()3221 z z H z z z z z +=++++ 其分子、分母多项式系数向量分别为A=[1 0 2 0]、B=[1 3 2 2 1]。 (2)()H z 按1z -的升幂次序排列:分子和分母多项式系数向量的维数一定要相同,不足的要用0补齐,否则0z =的零点或极点就可能被漏掉。如 1 1212()11124 z H z z z ---+=++ 其分子、分母多项式系数向量分别为A=[1 2 0]、B=[1 1/2 1/4]。 用roots()求得()H z 的零极点后,就可以用plot()函数绘制出系统的零极点图。下面是求系统零极点,并绘制其零极点图的MATLAB 实用函数ljdt(),同时还绘 制出了单位圆。函数ljdt()的程序如下: function ljdt(A,B) % The function to draw the pole-zero diagram for discrete system p=roots(A) %求系统极点 q=roots(B) %求系统零点 p=p'; %将极点列向量转置为行向量 q=q'; %将零点列向量转置为行向量 x=max(abs([p q 1])); %确定纵坐标范围

数字信号处理实验三:离散时间信号的频域分析

实验三:离散时间信号的频域分析 一.实验目的 1.在学习了离散时间信号的时域分析的基础上,对这些信号在频域上进行分析,从而进一步研究它们的性质。 2.熟悉离散时间序列的3种表示方法:离散时间傅立叶变换(DTFT),离散傅立叶变换(DFT)和Z变换。 二.实验相关知识准备 1.用到的MATLAB命令 运算符和特殊字符: < > .* ^ .^ 语言构造与调试: error function pause 基本函数: angle conj rem 数据分析和傅立叶变换函数: fft ifft max min 工具箱: freqz impz residuez zplane 三.实验内容 1.离散傅立叶变换 在MATLAB中,使用fft可以很容易地计算有限长序列x[n]的离散傅立叶变换。此函数有两种形式: y=fft(x) y=fft(x,n) 求出时域信号x的离散傅立叶变换 n为规定的点数,n的默认值为所给x的长度。当n取2的整数幂时变换的速度最快。通常取大于又最靠近x的幂次。(即一般在使用fft函数前用 n=2^nextpow2(length(x))得到最合适的n)。

当x的长度小于n时,fft函数在x的尾部补0,以构成长为n点数据。 当x的长度大于n时,fft函数将序列x截断,取前n点。 一般情况下,fft求出的函数多为复数,可用abs及angle分别求其幅度和相位。注意:栅栏效应,截断效应(频谱泄露和谱间干扰),混叠失真 例3-1:fft函数最通常的应用是计算信号的频谱。考虑一个由100hz和200hz正弦信号构成的信号,受零均值随机信号的干扰,数据采样频率为1000hz。通过fft函数来分析其信号频率成分。 t=0:0.001:1;%采样周期为0.001s,即采样频率为1000hz x=sin(2*pi*100*t)+sin(2*pi*200*t)+1.5*rand(1,length(t));%产生受噪声污 染的正弦波信号 subplot(2,1,1); plot(x(1:50));%画出时域内的信号 y=fft(x,512);%对x进行512点的fft f=1000*(0:256)/512;%设置频率轴(横轴)坐标,1000为采样频率 subplot(2,1,2); plot(f,y(1:257));%画出频域内的信号 实验内容3-2:频谱泄漏和谱间干扰 假设现有含有三种频率成分的信号x(t)=cos(200πt)+sin(100πt)+cos(50πt) 用DFT分析x(t)的频谱结构。选择不同的截取长度,观察DFT进行频谱分析十存在的截断效应。试用加窗的方法减少谱间干扰。请分析截取长度对频谱泄漏和频率分辨率的影响,分析不同窗函数对谱间干扰的影响。 提示:截断效应使谱分辨率(能分开的两根谱线间的最小间距)降低,并产生谱间干扰;频谱混叠失真使折叠频率(fs/2)附近的频谱产生较大的失真。理论和实践都已证明,加大截取长度可提高频率分辨率;选择合适的窗函数可降低谱间干扰;而频谱混叠失真要通过提高采样频率fs和预滤波来改善。 解:取采样频率fs=400Hz,采样信号序列x(n)= x(t)w(n), n=0,1…….N-1; N为采样点数,N=fs*T,T为截取时间长度,w(n)为窗函数。 实验取三种长度T1=0.04s,T2=4*0.04s,T3=8*0.04s 窗函数分别用矩形窗函数w(n)=R N(n),Hamming 窗。 clear;close all fs=400; T=1/fs; %采样频率为400

matlab频域分析实验报告

matlab频域分析实验报告 Matlab频域分析实验报告 引言 频域分析是信号处理领域中的重要内容,它能够帮助我们理解信号在频域上的特性和行为。而Matlab作为一款强大的数学计算软件,可以帮助我们进行频域分析,并且提供了丰富的工具和函数来实现这一目的。本实验报告将介绍使用Matlab进行频域分析的方法和步骤,并通过实验数据展示其应用效果。 实验目的 本实验旨在通过Matlab软件进行频域分析,掌握信号在频域上的特性和行为,了解频域分析在实际应用中的重要性和价值。 实验内容 1. 信号生成:首先,我们使用Matlab生成一个具有特定频率和幅度的信号,以便进行后续的频域分析。 2. 时域分析:接下来,我们将对生成的信号进行时域分析,包括波形图和功率谱密度图的绘制,以便了解信号在时域上的特性。 3. 频域分析:然后,我们将使用Matlab提供的FFT函数对信号进行频域分析,得到信号在频域上的频谱图,并分析其频率成分和能量分布情况。 4. 频率响应:最后,我们将对信号进行频率响应分析,通过滤波器设计和频率域滤波来改变信号的频域特性,并观察其对信号的影响。 实验结果 通过以上实验步骤,我们得到了生成信号的波形图和功率谱密度图,以及信号的频谱图和频率响应分析结果。通过对这些结果的分析,我们可以清晰地了解

信号在时域和频域上的特性和行为,以及频率响应对信号的影响。 结论 本实验通过Matlab频域分析工具,帮助我们深入了解信号在频域上的特性和行为,为我们进一步应用频域分析提供了重要的参考和指导。同时,Matlab的强大功能和丰富的工具库,为频域分析提供了便利和支持,使得我们能够更加高效地进行信号处理和分析工作。因此,频域分析在实际应用中具有重要的意义和价值。 总结 通过本实验,我们深入了解了Matlab频域分析的方法和步骤,以及其在实际应用中的重要性和价值。频域分析对于理解信号的特性和行为具有重要意义,而Matlab作为一款强大的数学计算软件,为我们提供了丰富的工具和函数来实现频域分析,从而帮助我们更好地进行信号处理和分析工作。希望本实验报告能够对读者有所启发,引起对频域分析的兴趣和重视,为进一步深入研究和应用频域分析奠定基础。

实验三:离散LSI系统的频域分析

实验三:离散LSI 系统的频域分析 一、实验目的 1、加深对离散系统变换域分析——z 变换的理解,掌握使用MA TLAB 进行z 变换和逆z 变换的常用函数的用法。 2、了解离散系统的零极点与系统因果性和稳定性的关系,熟悉使用MA TLAB 进行离散系统的零极点分析的常用函数的用法。 3、加深对离散系统的频率响应特性基本概念的理解,掌握使用MA TLAB 进行离散系统幅频响应和相频响应特性分析的常用方法。 二、实验内容及步骤 1、求以下各序列的z 变换: 12030() ()sin() ()sin()n an x n na x n n x n e n ωω-=== 程序清单如下: syms w0 n a z; x1=n*a^n;X1=ztrans(x1) x2=sin(w0*n);X2=ztrans(x2) x3= exp(-a*n)*sin(w0*n);X3=ztrans(x3) 运行结果: X1 = z*a/(-z+a)^2 X2 = z*sin(w0)/(z^2-2*z*cos(w0)+1) X3 = z/exp(-a)*sin(w0)/(z^2/exp(-a)^2-2*z/exp(-a)*cos(w0)+1) 2、求下列函数的逆z 变换 03 123421 1() () () ()()1j z z z z X z X z X z X z z a z a z e z ω---====---- 程序清单如下: syms w0 n z a; X1=z/(z-a);x1=iztrans(X1) X2= z/(a-z)^2;x2=iztrans(X2) X3=z/z-exp(j*w0);x3=iztrans(X3)

matlab频域分析实验报告

Matlab频域分析实验报告 引言 频域分析是一种常用的信号处理技术,可以帮助我们理解信号的频率特性和频率成分。在本实验中,我们将使用Matlab进行频域分析,并通过实际的信号示例来说明其应用。 实验目标 本实验的目标是通过Matlab进行频域分析,了解信号的频率特性,并能够对信号进行频域滤波、谱估计和频域增强。 实验步骤 步骤一:加载信号数据 首先,我们需要加载信号数据。在Matlab中,我们可以使用load()函数来加载数据文件。假设我们的信号数据文件名为signal.mat,则可以使用以下代码进行加载: load('signal.mat'); 步骤二:绘制时域波形图 加载信号数据后,我们可以通过绘制时域波形图来观察信号的时域特性。可以使用plot()函数来绘制信号的时域波形图。以下是示例代码: plot(signal); xlabel('时间'); ylabel('信号幅度'); title('信号的时域波形图'); 步骤三:进行傅里叶变换 为了将信号转换到频域,我们需要进行傅里叶变换。在Matlab中,可以使用fft()函数对信号进行傅里叶变换。以下是示例代码: signal_freq = fft(signal); 步骤四:绘制频域幅度谱 进行傅里叶变换后,我们可以绘制信号的频域幅度谱来观察信号的频率特性。可以使用abs()函数来计算频域幅度,并使用plot()函数来绘制频域幅度谱图。以下是示例代码:

signal_freq_amp = abs(signal_freq); plot(signal_freq_amp); xlabel('频率'); ylabel('幅度'); title('信号的频域幅度谱'); 步骤五:频域滤波 频域分析不仅可以帮助我们观察信号的频率特性,还可以进行频域滤波。例如,我们可以通过在频域中将低幅度的频率成分设置为0来实现低通滤波。以下是示 例代码: signal_freq_filtered = signal_freq; % 设置频率成分的阈值 threshold = 10; % 将低幅度的频率成分设置为0 signal_freq_filtered(signal_freq_amp < threshold) = 0; 步骤六:进行逆傅里叶变换 频域滤波后,我们需要将信号转换回时域。可以使用ifft()函数进行逆傅里叶变换。以下是示例代码: signal_filtered = ifft(signal_freq_filtered); 步骤七:绘制滤波后的时域波形图 最后,我们可以绘制滤波后的信号的时域波形图来观察滤波效果。以下是示例 代码: plot(signal_filtered); xlabel('时间'); ylabel('信号幅度'); title('滤波后的信号的时域波形图'); 总结 通过本实验,我们了解了使用Matlab进行频域分析的基本步骤,并掌握了绘 制时域波形图、进行傅里叶变换、绘制频域幅度谱、频域滤波和逆傅里叶变换的方法。频域分析在信号处理中具有广泛的应用,可以帮助我们理解信号的频率特性,并进行信号增强、谱估计等操作。

离散信号及离散系统的MATLAB编程实现

数字信号处理课程实验报告 实验名称离散信号及离散系统的MATLAB编程实现系别 教师姓名实验地点实验日期 一、实验内容 1、用MATLAB仿真(编写)离散序列 2、常见序列运算 3、差分方程的求解 4、系统零极点的求解。 (红色部分为必做项目) 二、实验目的 1. 复习离散时间的信号和系统,复习离散时间重要类型的信号和它们的运算的实现。 2. 熟悉MATLAB软件的集成开发环境,学会利用MATLAB编程及获得帮助的方法。 3. 学会利用MATLAB的绘图功能。 三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况) matlab软件,计算机 四、实验试做记录(含程序、数据记录及分析) 1、 Matlab表示序列 MATLAB中,可采用向量表示序列,由于MATLAB中对序列下标默认为从1开始递增,因此要表示离散信号 ,一般应采用两个向量分别对信号的自变量和因变量进行描述。如 , n= -3~4,在MATLAB中表示为 >> n = [-3, -2, -1, 0, 1, 2, 3, 4]; %自变量取值 >> x = [ 2, 1, -1, 0, 1, 4, 3, 7]; %因变量取值 说明: (1)向量可用方括号[ ]表示。

(2)当向量取值连续变化时可用冒号运算符“:”简化赋值过程,如 的n值,可简化为 n=[-3:4]或n= -3:4 。 (3)分号“;”表示不回显表达式的值。 (4)“%”表示其后内容为注释对象。 (5)符号“>>”是MATLAB命令窗口的输入提示符,此外,为便于多次调用,也可在m文件中输入相应的命令语句。 利用MATLAB,还可对信号的波形进行描述,常采用的绘图语句有stem,plot,subplot, axis,title,xlabel,ylabel,gtext, hold on, hold off, grid 等。其中stem 绘制离散图形;plot 绘制连续图形;subplot 用于绘制子图,应在stem 或plot 语句前调用;axis 指定x 和y轴的取值范围,用在stem或plot语句后;title 标注图形名称,xlabel, ylabel 分别标注x轴和y轴名称;gtext可将标注内容放置在鼠标点击处;hold on和 hold off 用于控制对象绘制方式,是在原图 上还是在新图上绘制;grid用于绘制网格。以上函数具体使用方法可通过在命令 窗口中输入help加函数名进行查阅,如“help stem”语句。部分绘图语句的应用见下面语句,对应的波形图为图1-1-1。 % 画子图1 subplot( 1, 2, 1); stem (n, x1); %x1为序列 axis([-5, 5, -2, 2]); %向量的前两个值为x轴的取值范围,后两个为y轴的取值范围 title (‘例1序列’); xlabel (‘n’); ylabel (‘x1(n)’); % 画子图2 subplot( 1, 2, 2); stem (n, x2); axis([0, 20, 0, 10]); title (‘例2序列’); xlabel (‘n’); ylabel (‘x2(n)’);

matlab求连续信号的频谱函数和离散信号频谱函数的方法

matlab求连续信号的频谱函数和离散信号频谱函数 的方法 Matlab提供了多种方法来求解连续信号和离散信号的频谱函数。在本文中,我们将分步骤介绍这些方法。 一、连续信号频谱函数的方法 连续信号的频谱函数是通过对连续信号进行傅里叶变换得到的。而在Matlab中,傅里叶变换可以通过fft函数实现。下面是求解连续信号频谱函数的步骤: 1. 定义连续信号 首先,我们需要定义一个连续信号,用一个函数来表示。例如,我们定义一个简单的三角波信号: matlab t = linspace(0, 1, 1000); 定义时间范围 x = sawtooth(2*pi*5*t); 定义三角波信号 2. 进行傅里叶变换

接下来,我们使用fft函数对连续信号进行傅里叶变换。傅里叶变换将信号从时域转换到频域。 matlab X = fft(x); 3. 计算频谱函数 通过进行傅里叶变换,我们得到了频谱函数X。然而,频谱函数X是一个复数数组,其中包含了信号的幅度和相位信息。为了获得真正的频谱,我们需要计算幅度谱。 matlab P2 = abs(X/length(x)); P1 = P2(1:length(x)/2+1); P1(2:end-1) = 2*P1(2:end-1); 在上述代码中,我们将频谱函数除以信号长度,然后计算幅度,并使用对称性将频谱函数变换为正频率部分。最后,我们将频谱函数的第一个和最

后一个值乘以2。 4. 绘制频谱图 最后,我们可以使用plot函数将频谱函数可视化。 matlab fs = 1000; 采样频率 f = fs*(0:(length(x)/2))/length(x); plot(f,P1) xlabel('Frequency (Hz)') ylabel('Amplitude') 以上步骤可以用于求解任何连续信号的频谱函数。 二、离散信号频谱函数的方法 离散信号的频谱函数可以通过对信号进行离散傅里叶变换(Discrete Fourier Transform,DFT)来获得。在Matlab中,可以使用fft函数来进行离散傅里叶变换。以下是求解离散信号频谱函数的步骤:

在MATLAB中使用频域方法进行信号分析

在MATLAB中使用频域方法进行信号分析 信号分析是一种用于探索信号特征、提取有用信息以及解决实际问题的方法。在信号分析中,频域方法是一种常用且有效的工具。频域方法通过将信号从时域转换为频域,可以更好地理解信号的频率特征和谱密度。 MATLAB是一款功能强大的数学计算和数据分析软件,在信号处理领域广泛应用。通过其丰富的函数库和强大的计算能力,我们可以使用多种频域方法进行信号分析。本文将介绍一些MATLAB中常用的频域方法,并展示如何使用这些方法进行信号分析。 第一部分:频域变换 频域变换是将时域信号转换为频域信号的过程。在MATLAB中,常用的频域变换方法包括傅里叶变换、快速傅里叶变换等。下面我们将详细介绍这些方法的原理和使用。 1. 傅里叶变换 傅里叶变换是频域分析的基础。它将信号表示为一组正弦和余弦波的和,可以将信号的时域特征转化为频域特征。在MATLAB中,可以使用fft函数进行傅里叶变换。 例如,我们有一段包含正弦信号的时域数据,可以使用fft函数计算其频域表示。代码如下: ```MATLAB t = 0:0.01:1; % 时间范围 f = 10; % 信号频率 x = sin(2*pi*f*t);

X = fft(x); ``` 通过上述代码,我们可以得到信号x的频谱表示X。可以使用plot函数绘制频谱图,代码如下: ```MATLAB f = (0:length(X)-1)/length(X)*Fs; % 频率范围 plot(f, abs(X)) ``` 上述代码中,我们计算了频率范围f,并使用abs函数计算频域信号的模。绘制得到的图形可以直观地显示信号的频率成分。 2. 快速傅里叶变换(FFT) 傅里叶变换是一种高效的频域变换方法,但是当信号长度较大时,计算复杂度较高。为了解决这个问题,快速傅里叶变换(FFT)被广泛应用。FFT算法通过分治策略将傅里叶变换的复杂度从O(n^2)降低到O(nlogn),大大提高了计算效率。 在MATLAB中,可以使用fft函数进行FFT计算。和上述傅里叶变换代码类似,只需要将fft函数替换为fft函数即可。 第二部分:频域滤波 频域滤波是一种常用的信号处理技术。它通过将信号转换到频域,对频域信号进行滤波操作,然后再将滤波后的信号转换回时域。频域滤波可以用于滤除噪声、增强信号以及去除不需要的频率成分。 1. 频域滤波器设计

离散系统频域分析及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 δ的响应输出称为系统的单位脉

matlab 离散信号频谱分析实验报告

matlab 离散信号频谱分析实验报告 实验目的: 本实验旨在通过使用MATLAB软件对离散信号进行频谱分析,探究信号的频谱 特性,并通过实验结果验证频谱分析的有效性和准确性。 实验原理: 频谱分析是一种将信号从时域转换到频域的方法,通过分析信号的频谱特性可 以了解信号的频率分布情况。离散信号频谱分析主要基于离散傅里叶变换(DFT)和快速傅里叶变换(FFT)算法。 实验步骤: 1. 生成离散信号:使用MATLAB中的函数生成一个离散信号,可以选择正弦信号、方波信号或其他类型的信号。 2. 绘制时域波形:将生成的离散信号在时域上进行绘制,观察信号的波形特征。 3. 进行频谱分析:使用MATLAB中的DFT或FFT函数对离散信号进行频谱分析,得到信号的频谱图像。 4. 绘制频谱图像:将频谱分析得到的结果进行绘制,观察信号在频域上的频率 分布情况。 5. 分析频谱特性:根据频谱图像,分析信号的主要频率成分、频谱密度等特性。实验结果与分析: 通过实验我们选择了一个正弦信号作为实验对象,其频率为100Hz,幅值为1。首先,我们绘制了该正弦信号的时域波形,观察到信号呈现出周期性的振荡特征。 接下来,我们使用MATLAB中的FFT函数对该离散信号进行频谱分析。得到的

频谱图像显示,信号的主要频率成分为100Hz,且幅值为1。此外,频谱图像 还显示了信号在其他频率上的幅值衰减情况,表明信号在频域上存在多个频率 成分。 根据频谱图像,我们可以进一步分析信号的频谱特性。首先,信号的主要频率 成分为100Hz,这意味着信号的主要周期为0.01秒。其次,频谱图像显示了信 号在其他频率上的幅值衰减情况,说明信号在频域上存在多个频率成分,这可 能与信号的采样率和信号源本身的特性有关。 实验结论: 通过本次实验,我们成功地使用MATLAB对离散信号进行了频谱分析,并得到 了信号的频谱图像。实验结果表明,频谱分析是一种有效的信号分析方法,可 以揭示信号的频率分布情况和频谱特性。通过分析频谱图像,我们可以了解信 号的主要频率成分、频谱密度等特性,为信号处理和相关应用提供了重要的参 考依据。 总结: 离散信号频谱分析是一种重要的信号分析方法,通过将信号从时域转换到频域,可以揭示信号的频率分布情况和频谱特性。本实验通过使用MATLAB软件对离 散信号进行频谱分析,实现了对信号的频谱特性的探究,并通过实验结果验证 了频谱分析的有效性和准确性。通过分析频谱图像,我们可以了解信号的主要 频率成分、频谱密度等特性,为信号处理和相关应用提供了重要的参考依据。

离散时间信号的频域分析

实验二 离散时间信号的频域分析 一 实验目的 1、理解和加深DTFT 的概念及其性质; 2、学习利用MATLAB 计算离散时间信号的DTFT 。 二 实验设备 1、计算机 2、MA TLAB R2007a 仿真软件 三 实验原理 信号的频域分析是信号处理中一种有效的工具,在离散信号的时域分析中,通常将信号表示成δ序列的线性组合,而在频域中,将信号表示成复变量的线性组合,通过这样的表示,可以将时域的离散序列映射到频域以便于进一步处理。基于DTFT 离散时间信号分析函数有:freqz,real,imag,abs,angle 。函数freqz 可以用来计算一个以jw e 的有理分式形式给出的序列的DTFT 的值。Freqz 的形式多样,常见的有H=freqz (num,den,w ),其中num 表示序列有理分式DTFT 的分子多项式系数,den 表示分母多项式系数(均按z 的降幂排列),矢量w 表示在0~2π中给定的一系列频率点集合。 四 实验内容 1、上机实验前,认真阅读实验原理,掌握DTFT 的基本概念; 2、掌握离散时间信号的DTFT 的MATLAB 实现方法。 实例1:已知下列序列的)(z X ,求)(jw e X ,并做振幅相位图。 (4) 1,1)(1 1 >--= --a a z az z X

实例2:求下列序列的频谱)(jw e X 1))()(0n u e n jw +-α; 2))()cos(0n u n w e n α-;3))(n R N ;4) )()]/cos(1[2N n R N n N -+π

实例3:利用MATLAB 求以下有限时宽序列][n x 的傅里叶变换)(jw e X ; (1) 已知10 0) 7.0(][4 ≤≤= n e n x n j π ;(2) 已知10 102][≤≤-=n n x n (1)原程序如下: n=[0:10];x=(0.7*exp(j*pi/4)).^n; k=[-200:200];w=(pi/100)*k;%w=[-2*pi:pi/100:2*pi]; X=x*(exp(-j*pi/100)).^(n'*k); magX=abs(X);angX=angle(X); subplot(2,1,1);plot(w/pi,magX,'r');grid;

离散时间系统的频域分析

实验三 离散时间系统的频域分析 一、实验目的: 加深对离散系统的频率响应分析和零、极点分布的概念理解。 二、实验内容 理解离散系统的变换域分析原理,掌握常用matlab 程序。 三、实验仪器 1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2、MATLAB 编程软件。 四、实验原理: 离散系统的时域方程为 ∑=N n 0d n y(k-n)= =∑=M n 0p n x (k -n ) 其变换域分析方法如下: 频域 y (k )=x (k )*h (k ) = ∑∞-∞=n x (n )h (k -n ) ⇔Y(Ω)= X(Ω) H(Ω) 系统的频率响应为 H(Ω)= Ω -Ω-Ω- Ω-++++++=ΩΩjN N j jM M j e d e d d e p e p p D P ......)()(1010 Z 域y (k )=x (k )*h (k ) = ∑∞-∞=n x (n )h (k -n ) ⇔Y(z )= X(z ) H(z ) 系统的转移函数为 H(z )=11101 110......)()(----++++++=z d z d d z p z p p z D z P N M 在MATLAB 中,可以用函数[z ,p ,K]=tf2zp (num ,den )求得有理分式形式的系统转移函数的零、极点,用函数zplan e (z ,p )绘出零、极点分布图;也可以用函数zplane (num ,den )直接绘出有理分式形式的系统转移函数的零、极点分图。使h=freqz(num,den,w)函数可求系统的频率响应,w 是频率的计算点,如w=0:pi/255:pi, h 是复数,abs(h)为幅度响应,angle(h)为相位响应。另外,在MATLAB 中,disp()就是屏幕输出函数。 五、实验步骤 1求系统 H(z )=4 5.02.02.01.012.03.03.01.013214 321z z z z z z z z ++++-----------的零、的零、极点和幅度频率响应和相位响应。 2 求差分方程y(k)+0.7 y(k-1) -0.45 y(k-2) -0.6y(k-3) =0.8x(k) -0.44 x(k-1) +0.36 x(k-2) +0.02x(k-3) 所对应的系统函数。 六、实验报告要求 1、报告中要给出实验的MATLAB 程序,并对每个语句给出注释,说明语句作用; 2、简述实验目的和原理;

matlab频域分析

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 命令求得 )()21 sin(8.08 .041-)(n u n n h n π=,在matlab 中做出单位样值响应如下:

MATLAB的离散非周期信号频域分析报告

基于MATLAB的离散信号频域分析、快速傅里叶变换与采样定理一、离散信号频域分析 (一)周期离散方波信号频域分析 与周期模拟信号一样,周期离散信号同样可以展开成傅里叶级数形式,并得到离散傅里叶级数(DFS) 上式可以看成周期离散信号x(n)的离散傅里叶级数展开。 上式是DFS的反变换,记作IDFS并且称与构成一对离散傅里叶级数变换对。(以上两式中) 在MTALAB中,DFS通过建立周期延拓函数语句实现: function Xk=DFS(n,x,N) if N>length(x) n=0:N-1; x=[x zeros(1,N-length(x))]; end k=0:N-1;

WN=exp(-j*2*pi/N); nk=n'*k; WNnk=WN.^nk; Xk=x*WNnk; end 建立一个离散非周期方波信号 通过周期延拓后所得的周期序列利用DFS计算实现代码如下:clear all;close all;clc; n=0:3; x=ones(1,4); X=fft(x,1024); Xk1=DFS(n,x,4); Xk2=DFS(n,x,8); figure(1); plot((-1023:2048)/2048*8,[abs(X) abs(X) abs(X)],'--');hold on; stem(-4:7,[abs(Xk1) abs(Xk1) abs(Xk1)],'LineWidth',2);grid; figure(2); plot((-1023:2048)/2048*16,[abs(X) abs(X) abs(X)],'--');hold on; stem(-8:15,[abs(Xk2) abs(Xk2) abs(Xk2)],'LineWidth',2);grid; set(gcf,'color','w'); 运行后得到的是分别以4和8为周期延拓后的频谱: 即第一幅图表示的是周期序列的频谱,第二幅图表示的是周期序列的频谱。

实验三 LTI 离散系统的频域分析

实验三 LTI 离散系统的频域分析 一、实验目的 1、 利用 Matlab 绘制 LTI 离散系统的零极图; 2、 根据离散系统的零极点分布,分析系统单位响应 h(n) 的时域特性; 3、 利用 Matlab 求解 LTI 离散系统的幅频特性和相频特性。 二、实验原理 1、离散系统的零极点 LTI 离散系统可采用(4-1)所示的线性常系数差分方程来描述,其中y(n)为系 统输出信号,x(n)为系统输入信号。 1 ()()N M k m k m a y n k b x n m ==-=-∑∑ 将上式两边进行z 变换得: 1 011 1 (1) ()()()/()() (1) M M j j m j j N N i k i i i q z b z B z H z Y z X z K A z a z p z --==--==-== = =-∑∏∑∏ 上式中,A(z)和B(z)均为z 的多项式,可分别进行式因式分解。c 为常数, q j (j =1,2,…,M)为H(z)的M 个零点, p i (i =1,2,…,N )为H(z)的N 个极点。H(z)的零、极点的分布决定了系统的特性,若某离散系统的零、极点已知,则系统函数便可确定。因此,通过对H(z)零极点的分析,可以分析离散系统以下几个方面的特性: 离散系统的稳定性; 系统单位响应h(n)的时域特性; 离散系统的频率特性(幅频响应和相频响应)。 2、离散系统的因果稳定性 离散系统因果稳定的充要条件:系统函数H(z)的所有极点均位于z 平面的单位圆内。对于三阶以下的低阶系统,利用求根公式可方便地求出离散系统的极点位置,判断系统的因果稳定性。对于高阶系统,手工求解极点位置则非常困难,这时可利用MATLAB 来实现。 3、离散系统的频率响应()j ωH e () ()[()]()|()j j j j z e H e DTFT h n H z H e e ωϕωωω==== ()j ωH e 称为离散系统的幅频响应,决定了输出序列与输入序列的幅度之比; ()ϕω称为离散系统的相频响应,决定了输出序列和输入序列的相位之差;()j H e ω随ω而变化的曲线称为系统的幅频特性曲线,()ϕω随ω而变化的曲线称 为系统的相频特性曲线。 离散系统的频率响应()j ωH e 与连续系统的频率响应()H j Ω最大区别在于其 (4-1) (4-2)

实验四 离散时间系统的频域分析(附思考题程序)

实验四 离散时间系统的频域分析 1.实验目的 (1)理解和加深傅里叶变换的概念及其性质。 (2)离散时间傅里叶变换(DTFT)的计算和基本性质。 (3)离散傅里叶变换(DFT)的计算和基本性质。 2.实验原理 对离散时间信号进行频域分析,首先要对其进行傅里叶变换,通过得到的频谱函数进行分析。 离散时间傅里叶变换(DTFT ,Discrete-time Fourier Transform)是傅立叶变换的一种。它将以离散时间nT (其中,T 为采样间隔)作为变量的函数(离散时间信号)f (nT )变换到连续的频域,即产生这个离散时间信号的连续频谱()iw F e ,其频谱是连续周期的。 设连续时间信号f (t )的采样信号为:() ()()sp n f t t nT f nT ,并且其傅里叶变 换为: ()()(){} sp n iwt f t f nT t nT dt e 。 这就是采样序列f(nT)的DTFT::() ()iwT inwT DTFT n F e f nT e ,为了方便,通常将采 样间隔T 归一化,则有:() ()iw inw DTFT n F e f n e ,该式即为信号f(n)的离散时间傅 里叶变换。其逆变换为: ()1 () 2 iw DTFT inw F e dw f n e 。 离散傅里叶变换(DFT ,Discrete-time Fourier Transform )是对离散周期信号的一种傅里叶变换,对于长度为有限长信号,则相当于对其周期延拓进行变换。在频域上,DFT 的离散谱是对DTFT 连续谱的等间隔采样。 2 1 1 2 ()() | ()()DFT k DTFT k w N knT N N i iwT iwnT N n n F w F e f nT e f nT e 长度为N 的有限长信号x(n),其N 点离散傅里叶变换为: 10 ()[()] ()kn N N n X k DFT x n x n W 。 X(k)的离散傅里叶逆变换为:10 1() [()] ()kn N N k x n IDFT X k X k W N 。 DTFT 是对任意序列的傅里叶分析,它的频谱是一个连续函数;而DFT 是把有限长序列作为周期序列的一个周期,对有限长序列的傅里叶分析,DFT 的特点是无论在时域还是频域

相关文档
相关文档 最新文档