matlab 复频域,MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现...

一、系统的z变换和反变换

1、利用部分分式展开求解逆Z变换:

10dc65a5c73e33e4f6b9ee4162da629e.png

2、例子

63178a12e12f7022ea0c63192143ab28.png

3、Z变换的MATLAB函数

89bb13543d2025190a7121b2736c605e.png

102f634059d3fef20ed342603e96070a.png

clear all

f=sym('cos(a*k)');

F=ztrans(f)

F=sym('z^2/((1+z)*(z-2))');

f=iztrans(F)

二、系统的零极点分布及其稳定性

45e6af9a2527f8c2592a1db9ea443b65.png

016bfdb284feacd3abec66df928e00bd.png

%求H(z)=(z^3+2z)/(z^4+3(z^3)+2(z^2)+2z+1)的零极点及其分布图

%求H(z)=(1+z^(-1))/(1+z^-1/2+z^-2/4+1)的零极点及其分布图

%采用roots和plot函数

clear all

%(1)

b=[1,0,2,0];

a=[1,3,2,2,1];

zs1=roots(b);

ps1=roots(a);

figure(1)

subplot(2,1,1);plot(real(zs1),imag(zs1),'o',real(ps1),imag(ps1),'kx','markersize',12);

axis([-2,2,-2,2]);grid on;

legend('零点','极点')

%(2)

c=[1,1,0];

d=[1,1/2,1/4];

zs2=roots(c);

ps2=roots(d);

subplot(2,1,2);

plot(real(zs2),imag(zs2),'o',real(ps2),imag(ps2),'kx','markersize',12);

axis([-2,2,-2,2]);grid on;legend('零点','极点')

%采用tf2zp和zplane函数

%(1)

b=[1,0,2,0];

a=[1,3,2,2,1];

figure(2)

[z,p]=tf2zp(b,a)

subplot(2,1,1),zplane(z,p)

%(2)

c=[1,1,0];

d=[1,1/2,1/4];

[z,p]=tf2zp(c,d)

subplot(2,1,2),zplane(z,p)

三、系统的零极点分布与系统冲激响应时域特性

028bfb68c54ac7aea3ded260322a2479.png

clear all

a=[1 -2*0.8*cos(pi/4) 0.8^2];

b=[1];

[z,p,k]=tf2zp(b,a);

figure(1)

subplot(2,1,1),zplane(z,p);

subplot(2,1,2),impz(b,a,20)

四、离散系统的频率响应

MATLAB提供了专门对离散系统频率响应H(jw)进行分析的函数freqz(),该函数可以求出系统频率响应的数值解,并可绘出系统的幅频和相频响应曲线。

[H,w]=freqz(b,a,N)

[H,w]=freqz(b,a,N,’whole’)

freqz(b,a,N)

freqz(b,a,N,’whole’)

3a513c2911e66e52f63482586cdbcfb2.png

d445d8a17684d548e5324d33d8bbb28b.png

%例7

clear all;

b=[5/4 -5/4];

a=[1 -1/4];

[h,w]=freqz(b,a,400,'whole');

hf=abs(h);

hx=angle(h);

figure(1),clf;

subplot(2,1,1),plot(w,hf),title('幅频特性曲线'),grid on;

subplot(2,1,2),plot(w,hx),title('相频特性曲线'),grid on;

figure(2)

freqz(b,a,'whole')

%

[z,p]=tf2zp(b,a);

r=2;

k=200;

w=0:1*pi/k:r*pi;

y=exp(i*w); %定义单位圆上的k个频率等分点

N=length(p); %求极点个数

M=length(z); %求零点个数

yp=ones(N,1)*y; %定义行数为极点个数的单位圆向量

yz=ones(M,1)*y; %定义行数为零点个数的单位圆向量

vp=yp-p*ones(1,r*k+1); %定义极点到单位圆上各点的向量

vz=yz-z*ones(1,r*k+1); %定义零点到单位圆上各点的向量

Ai=abs(vp); %求出极点到单位圆上各点的向量的模

Bj=abs(vz); %求出零点到单位圆上各点的向量的模

Ci=angle(vp); %求出极点到单位圆上各点的向量的相角

Dj=angle(vz); %求出零点到单位圆上各点的向量的相角

fai=sum(Dj,1)-sum(Ci,1); %求系统相频响应

H=prod(Bj,1)./prod(Ai,1); %求系统幅频响应

figure(3)

subplot(2,1,1),plot(w,H);title('离散系统幅频特性曲线'),xlabel('角频率'),ylabel('幅度')

subplot(2,1,2),plot(w,fai);title('离散系统的相频特性曲线'),xlabel('角频率'),ylabel('相位')

MATLAB信号与系统分析(三)——连续信号与系统的复频域分析及MATLAB实现

一.系统的拉普拉斯变换和反变换 1.MATLAB函数 F=laplace(f) %求拉氏变换 f=ilaplace(F) %求拉氏反变换 2.例子 clear all;clc;close all f= ...

MATLAB信号与系统分析(二)——离散时间信号与系统的时域分析

一.离散信号的表示 1.一个离散信号需要用两个向量来表示: (1)离散信号的幅值 (2)离散信号的位置信息 2.用MATLAB实现离散信号的可视化 (1)不能利用符号运算来表示 (2)绘制离散信号一般 ...

MATLAB信号与系统分析(一)——连续时间信号与系统的时域分析

一.连续时间信号的表示: 1.向量表示法: 在MATLAB中,是用连续信号在等时间间隔点的样值来近似表示连续信号,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号. 对于连续时间信号f( ...

我的QT5学习之路(四)——信号槽

一.前言 前面说了Qt最基本的实例创建.控件以及工具集的介绍,相当于对于Qt有了一个初次的认识,这次我们开始认识Qt信号通信的重点之一——信号槽. 二.信号槽 信号槽是 Qt 框架引以为豪的机制之一. ...

信号与系统实验序章0——MATLAB基础命令入门

本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...

MATLAB仿真中连续和离散的控制器有何区别?

matlab系统同时提供连续和离散的控制器和对象的目的是:在降低用户使用复杂程度的同时提高仿真精度.仿真速度和应用的广泛性. 仿真步长和求解精度的概念对于理解这个问题至关重要. 首先是步长,步长和求解 ...

linux系统编程之信号(六):信号发送函数sigqueue和信号安装函数sigaction

一,sigaction() #include int sigaction(int signum,const struct sigaction *act,struct ...

linux系统编程之信号(三):信号安装、signal、kill,arise讲解

一,信号安装 如果进程要处理某一信号,那么就要在进程中安装该信号.安装信号主要用来确定信号值及进程针对该信号值的动作之间的映射关系,即进程将要处理哪个信号:该信号被传递给进程时,将执行何种操作. li ...

linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction

信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...

随机推荐

用django创建一个项目

首先你得安装好python和django,然后配置好环境变量,安装python就不说了,从配置环境变量开始 1.配置环境变量 在我的电脑处点击右键,或者打开 控制面板\系统和安全\系统 -> 左 ...

JDK环境变量的配置方法

1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 变量名:JAVA_HOME 变量值:jdk的目录,比如d:/java 3. 选择“系统变量”中变量名为“Path”的环 ...

Flex知识备忘

div被flex遮挡 //如果设置z-index无效,那么设置flex加载参数 params.wmode = "Opaque";

在eclipse中将java导出为可执行文件.

Ref: http://java.chinaitlab.com/Eclipse/812775.html and http://www.javavids.com/video/how-to-create- ...

Image editing techniques and algorithms using Qt

费了好半天劲先翻译这一点.还有好多地方不明白.先弄明白这一点.继续以后的翻译. 这一篇文章我们将讨论不同的技术和算法来修改图像使用Qt.但是在这之前我们继续你必须知道一些原则处理图片. 这里主要有两种 ...

通过js或jq增加的代码,点击事件或其他一些事件不起作用时

通过js或jq增加的代码,点击事件或其他一些事件不起作用时,可使用 $(document).on("click",".noshow",function() { ...

CF449 (Div. 1简单题解)

A .Jzzhu and Chocolate pro:现在给定一个大小为N*M的巧克力,让你横着或者竖着切K刀,都是切的整数大小,而且不能切在相同的地方,求最大化其中最小的块. (N,M,K<1 ...

js jquery 函数回调

JS 函数回调 $('#btn_update').click(function () { var table_id = $table.bootstrapTable('getSelections')[0 ...

在junit中添加fail--有test失败即build Failed

项目使用jenkins做持续集成,ant来构建,发现在跑junit单元测试的时候,如果有test case失败了,ci的状态是黄色的unstable,而不是红色的failed,看起来很不爽.个人觉得b ...

spark&period;Accumulator

scala> val accum = sc.accumulator() accum: org.apache.spark.Accumulator[Int] = scala> sc.paral ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值