【转载】matlab中freqz函数的使用

freqz函数计算线性系统的频率响应,包括幅频响应和相频响应,基本输入为线性系统的AMMA模型系数向量,一个典型的AMMA模型为

%               jw               -jw              -jmw
%        jw  B(e)    b(1) + b(2)e + .... + b(m+1)e
%     H(e) = ---- = ------------------------------------
%               jw               -jw              -jnw
%            A(e)    a(1) + a(2)e + .... + a(n+1)e

其中,向量A为IIR系统分母向量,对FIR系统为1;向量B为分子向量

函数使用零散傅立叶变换(fft)计算系统响应,计算范围为0~pi,即单位圆的上半部分,因为默认情况下对于实数系数系统响应关于DC对称.计算公式为上式的频域离散化形式.计算完成后在对目标解析度使用算术插值方法进行向量填充,填充形式取决于附加输入参数信息.

freqz的基本调用格式为freqz(b,a),此时函数内部默认进行512点算术插值,所以输出是512点的幅度值和对应的0~pi自变量向量,如果需要改变向量长度便于绘图,则可以附加维度信息,例如freqz(b,a,N)则进行N点插值

如果系统不是实系数的而是复数系统,则系统响应不再对称,0~pi的范围不足以反映整体特性,此时有两种选择:

1. 绘制整个主值区(-pi~pi),调用格式是增加字串型参数‘whole‘,例如 freqz(b,a,n,‘whole‘);

2. 绘制定制区域,则直接给定范围,该范围为给定自变量向量,例如 freqz(b,a,[-pi:2*pi/n:pi])

使用上述调用格式,输出为-pi~pi范围内的离散傅立叶变换计算结果,如果为绘图方便要标识频率信息,则调用时需要附加采样频率信息,例如freqz(b,a,[-fs/2:(fs/n):fs/2],fs);

freqz的基本使用方法是利用函数返回值进行后续分析处理,此时函数不会自动绘制曲线,如果直接调用而不指定返回接收变量,则函数自动按照通常标准绘制幅频/相频曲线,幅频曲线为对数格式

可以使用type freqz分析源代码

时间: 2024-08-26 20:15:33

【转载】matlab中freqz函数的使用的相关文章

matlab中norm函数的用法

格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM   Matrix or vector norm. For matrices... NORM(X) is the largest singular value of X, max(svd(X)). NORM(X,2) is the same as NORM(X). NORM(X,1) is the 1-norm of X, the l

Matlab中plot函数全功能解析

Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_handle,...)h = plot(...)hlines = plot('v6',...) 描述 plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线:如果Y是n×1或者1×n的向量,则以1:n

matlab 中max函数用法

Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值. 如果A是多维数组,max(A) treats the values along the first non-singleton dimension as vectors, returning the maximum v

matlab中fspecial函数

fspecial函数 用于建立预定义的滤波算子,其语法格式为: h = fspecial(type) h = fspecial(type,para) 其中type指定算子的类型,para指定相应的参数: 2type的类型有 'average' averaging filter 为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]. H = FSPECIAL('average',HSIZE) returns an averaging filter H of size HSIZE. HSIZ

【原创】Matlab中plot函数全功能解析

[原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_handle,...)h = plot(...)hlines = plot('v6

Matlab中intlinprog函数的用法总结

Matlab中 intlinprog函数用法简介 1.简介 intlinprog是matlab中用于求解混合整数线性规划(Mixed-integer linear programming)的一个函数,用法基本和linprog差不多 Matlab中,该模型的标注写法如下 \[ min\ f\,^Tx\;\; \s.t. \begin{equation} \left\{ \begin{array}{**lr**} x(intcon)\ are \ integers \ A \cdot x \leq

MATLAB中mexFunction函数的接口规范(转载)

MEX文件的调用极为方便,其调用方式与MATALAB的内建函数完全相同,只需要在命令窗口内输入对应的文件名称即可. C语言MEX程序代码文件有计算子例程(Computational routine)和接口子程序(GatWay routine)两个相互独立的子程序组成.其中,计算子例程的功能是完成所需要的计算,它和具有相同功能的一般C源程序文件相同:接口子程序的功能则是计算子程序和MATALAB的接口,用户实现两个不同内存空间中的通信. void mexFunction(int nlhs, mxA

[转载]Matlab中fft与fftshift命令的小结与分析

http://blog.sina.com.cn/s/blog_68f3a4510100qvp1.html 注:转载请注明出处——by author. 我们知道Fourier分析是信号处理里很重要的技术,matlab提供了强大的信号处理能力,但是有一些细节部分需要我们注意. 记信号f(t)的起始时间为t_start, 终止时间为t_end, 采样周期为t_s, 可以计算信号的持续时间Duration为 t_end – t_start, 信号离散化造成的采样点数 N = Duration/t_s +

matlab中freqz的用法以及多项式的展开

对于一个变量a,matlab中定义需要这样 syms a: 定义之后就可以写由变量组成的式子,比如 c=(1+a^-1)^5; 可以用expand(c) 就能把c展开成多项式,每一项的系数就可以看到. freqz的用法 MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种: l        [H,w]=freqz(B,A,N) B和A分别为离散系统的系统函数分子.分母多项式的系数向量,N为正整数,返回量H则包含了离散系统频响 在 0——pi范围内