一、函数介绍:
MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下几种:
① [H,w] = freqz(B,A,N);
② [H,w] = freqz(B,A,N,'whole');
③ [H,w] = freqz(B,A,[给定区间]
二、举例说明:
H(z) = Y(z)/X(z) = 1 / 1 - 1.13z^-1 + 0.64z^-2;
其中分子系数为 B=[1]
分母系数为: A=[1, -1.13, 0.64]
调用函数: [H,w]=freqz(B,A,[0:2pi/400:2pi]);
H = Hf + Hx
Hf = abs(H); %幅度值实部
Hx = angle(H); %相位值对应相位角
[0:2pi/400:2pi]表示从0度到2pi,每次间隔为2pi/400
三、完整代码以及可视化
clc;clear;close all;
A=[1, -1.13, 0.64];
B =[1];
[H,w]=freqz(B,A,[0:2*pi/400:2*pi]);
Hf=abs(H); %取幅度值实部
Hx=angle(H); %取相位值对应相位角
clf
figure(1)
plot(w,20*log(Hf)) %幅值变换为分贝单位
title('离散系统幅频特性曲线')
figure(2)
plot(w,Hx)
title('离散系统相频特性曲线')