freqz()函数
发布日期:2021-10-16 00:21:25 浏览次数:3 分类:技术文章

本文共 1874 字,大约阅读时间需要 6 分钟。

2、离散系统的频率特性

同连续系统的系统函数H(s)类似,离散系统的系统函数H(z)也反映了系统本身固有的特性。对于离散系统来说,如果把其系统函数H(z)中的复变量z换成,那么所得的函数就是此离散系统的频率响应特性,即离散时间系统的频率响应为:

其中, 称为离散系统的幅频特性,称为系统的相频特性。同连续系统一样,离散时间系统的幅频特性也是频率的偶函数,相频特性也是频率的齐函数。

由于是频率w的周期函数,所以离散系统的频率响应特性也是频率w的周期函数,其周期为,或者频率周期为。实际上,这就是抽样系统的抽样频率,而其中的T则是系统的抽样周期。频率响应呈现周期性是离散系统特性区别于连续系统特性的重要特点。因此,只要分析范围内的情况,便可分析出系统的整个频率特性。

鉴于离散系统频率响应特性的特点,为了表示方便起见,我们通常将其中的用一个变量w来代替,即令代入系统函数H(z)中,用函数来表示离散系统的频率响应特性。相应地,用表示幅频特性,而相频特性仍用来表示。应该特别注意的是,虽然这里的变量w仍然称为频率变量,但是它已经不是原来意义上的角频率概念,而实际上是表示角度的概念。我们称之为数字角频率。它与原来角频率的关系为:

也就是说,根据离散系统的系统函数H(z),令其中的,并且代入范围内不同的频率值(实际上是角度值),就可以逐个计算出不同频率时的响应,求出离散系统的频率响应特性。再利用离散系统频率特性的周期性特点(周期为2p),求出系统的整个频率特性。

离散系统的幅频特性曲线和相频特性曲线能够直观地反映出系统对不同频率的输入序列的处理情况。在函数w的变换关系中,在w=0附近,反映了系统对输入信号低频部分的处理情况,而在w=p附近,则反映了系统对输入信号高频部分的处理情况。

一般来说,分析离散系统频率响应特性就要绘制频率响应曲线,而这是相当麻烦的。虽然可以通过几何矢量法来定性画出频率响应特性曲线,但一般来说这也是很麻烦的。值得庆幸的是,MATLAB为我们提供了专门用于求解离散系统频率响应的函数fregz() ,其调用格式如下:

l         [H,w]=fregz(B,A,N)    其中,BA分别是表示待分析的离散系统的系统函数的分子,分母多项式的向量,N为正整数,返回向量H则包含了离散系统频率响应函数范围内的N频率等分点的值。向量w则包含范围内的N频率等分点。在默认情况下N=512

l         [H,w]=fregz(B,A,N,'whole'其中,BAN的意义同上,而返回向量H包含了频率响应函数范围内N频率等分点的值。

由于调用fregz()函数只能求出离散系统频率响应的数值,不能直接绘制曲线图,因此,我们可以先用fregz()函数求出系统频率响应的值,然后再利用MATLABabs()angle()函数以及plot()命令,即可绘制出系统在范围内的幅频特性和相频特性曲线。

.若离散系统的系统函数为 ,请用MATLAB计算频率范围内10个等分点的频率响应的样值。

MATLAB程序如下:

  A=[1 0];                 %分母多项式系数向量

B=[1 -0.5];               %分子多项式系数向量

[H,w]=freqz(B,A,10)       %求出对应范围内10个频率点的频率响应样值

运行结果如下:

H =

   0.5000         

   0.5245 + 0.1545i

   0.5955 + 0.2939i

   0.7061 + 0.4045i

   0.8455 + 0.4755i

   1.0000 + 0.5000i

   1.1545 + 0.4755i

   1.2939 + 0.4045i

   1.4045 + 0.2939i

   1.4755 + 0.1545i

w =

         0

    0.3142

    0.6283

    0.9425

    1.2566

    1.5708

    1.8850

    2.1991

    2.5133

    2.8274

.用MATLAB计算前面离散系统在频率范围内200个频率等分点的频率响应值,并绘出相应的幅频特性和相频特性曲线。

MATLAB程序如下:

  A=[1 0];

B=[1 -0.5];

[H,w]=freqz(B,A,200);

[H,w]=freqz(B,A,200,'whole');     %求出对应范围内200个频率点的频率响%应样值

HF=abs(H);                    %求出幅频特性值

HX=angle(H);                  %求出相频特性值

subplot(2,1,1);plot(w,HF)         %画出幅频特性曲线

subplot(2,1,2);plot(w,HX)         %画出相频特性曲线

 

转载地址:https://blog.csdn.net/silenceee/article/details/1363251 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Boolean数据类型
下一篇:MATLAB函数ztrans( ) 和itrans( )

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月16日 16时35分54秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章