备注:MOOC上西电《信号与系统》课程中的MATLAB编程部分笔记,chapter为对应章节。

chapter1

1.连续信号的绘制

%连续信号
%f(t) = 5e.^(-0.8t)sin(πt) 0<t<5
b = 5;a = 0.8;t = 0:0.001:5;
x = b*exp(-a*t).*sin(pi*t)
plot(t,x)

2.离散信号的绘制

%离散信号
%f(k) = 2(0.8).^k
c = 2;d = 0.8;k = -5:5;
y = c*d.^k;
stem(k,y)

chapter2

1.求解系统响应

求LTI系统的零状态相应的函数为lsim,调用格式为:

y = lsim(sys,f,t)

其中,t表示计算系统相应的抽样点向量;f是系统输入信号,sys是LTI系统模型,表示微分方程。
系统模型sys要借助tf函数,调用格式为:

sys = tf(b,a)

b和a分别为微分方程的右端和左端的各项系数。
例如:

%微分方程
a=[1,5,6];b=[1,0,2];
sys=tf(b,a)

例题:系统的微分方程为,在t≥0接入激励,求零状态响应。

b=[1];a=[1 2 77];
sys=tf(b,a);
t = 0:0.01:5;
f = 10*sin(2*pi*t);
y = lsim(sys,f,t);
plot(t,y);
xlabel('Time(sec)')
ylabel('y(t)')

 2.求解冲激响应和阶跃响应

LTI系统的微分方程为:

冲激响应的函数为:impulse(b,a)

阶跃响应的函数为:step(b,a)

例题:求下列系统的冲激响应和阶跃响应。

a=[7 4 6];
b=[1 1];
subplot(2,1,1)
impulse(b,a);
subplot(2,1,2)
step(b,a)

 3.卷积的求解

MATLAB中处理离散卷积的函数为:conv(f1,f2),对序列做卷积运算。

处理连续信号的卷积时,需要对连续信号取相同的步长,结果再乘实际步长。

例题:

已知两个连续时间信号为:

利用MATLAB画出f1(t)* f2(t)的时域波形图。

t11=0;t12=1;t21=0;t22=2;
t1=t11:0.001:t12;
ft1=2*rectpuls(t1-0.5,1); %幅值为1,宽度为1,t1=0.5点对称的方波信号
t2=t21:0.001:t22
ft2=t2;
t3=t11+t21:0.001:t12+t22;
ft3=conv(ft1,ft2);
ft3=ft3*0.001;
plot(t3,ft3)
title('ft1(t)*ft2(t) ')

chapter3

1.求解单位脉冲响应

MATLAB提供了专门用于求LTI离散系统的单位脉 冲响应的函数:

h=impz(b,a,k)

其中a=[a0 ,a1 ,a2 ,…, an ],b=[b0 ,b1 ,b2 ,…, bn ]分别是差分方程左右的系数向量,k表示输出序列的取值范围,h 就是系统的单位脉冲响应。

例题:

求离散系统的单位脉冲响应。

k=0:10;
a=[1 3 2]; %构造方程左右系数向量
b=[1];
h=impz(b,a,k); %求单位脉冲响应并绘图
stem(k,h,'.')

 2.卷积和的求解(离散)

MATLAB中用于计算离散序列卷积的函数为: conv(x1,x2)

例:求以下两个离散序列的卷积。

k1=0:10; %x1的变量取值范围
x1=sin(k1); %构建x1序列
k2=0:15; %x2的变量取值范围
x2=0.8.^k2; %构建x2序列
y=conv(x1,x2);
subplot(3,1,1)
stem(k1,x1)
subplot(3,1,2)
stem(k2,x2)
subplot(3,1,3)
stem(y)

chapter4

1.求解系统响应

例题:

已知系统的频率响应函数和输入分别为:

试用Matlab求解系统的响应。

t=0:pi/100:4*pi;
b=[-1,1]; %频率响应函数的分子系数
a=[1 1]; %频率响应函数的分母系数
ft=sin(t)+sin(3*t); % 激励
yt=lsim(b,a,ft,t); %求解响应
plot(t,ft,'r')
hold on
plot(t,yt,'b')

 2.Sa信号的采样和恢复

例:信号Sa(t)作为被采样信号,信号带宽B=1, 采样频 率ωs=2B,此频率下的采样为Nyquist采样,对采样及恢复过程用Matlab进行仿真。


B=1; %信号带宽
wc=B; %滤波器截止频率
Ts=pi/B; %采样间隔
ws=2*pi/Ts %采样角频率
N=100; %滤波器时域采样点数
n=-N:N;
nTs=n.*Ts; %采样数据的采样时间
fs=sinc(nTs/pi); %函数的采样点
Dt=0.005; %恢复信号的采样间隔
t=-15:Dt:15; %恢复信号的范围
fa=fs*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
%信号重构
error=abs(fa-sinc(t/pi)); %求重构信号与原信号的归一化误差
subplot(2,1,1)
plot(t,fa)
title('由 sa(t)=sinc(t/pi)的 Nyquist抽样信号重构 sa(t)')
subplot(2,1,2)
plot(t,error)
title('Nyquist抽样信号与原信号的误差 error(t)')

从误差图形中可以看到,用采样信号恢复的信号与原始信号的误差是极小的,而且这种误差来自于计算过程的数值计算误差。

表明:对一个信号进行Nyquist采样后,能够无误差地从采样信号中恢复出原信号。

------------------------------------

以下的部分在:MOOC西电《工程信号与系统》

 1.拉普拉斯变换的求解

MATLAB内置了符号函数laplace 和ilaplace函数分别对应拉普拉斯变换与反变换。

例: 计算的卷积。

这里先求拉普拉斯变换,然后时域卷积等于频域乘积。最后再反变换得到时域的卷积。

syms t;t=sym('t','positive'); %t定义为正的“符号”变量
fs1=laplace(exp(-t)); %f1(t)的Laplace变换
fs2=laplace(t*exp(-t/2)); %f2(t)的Laplace变换
yt=simple(ilaplace(fs1*fs2)); %利用Laplace反变换求时域解
fs1,fs2,yt

运行结果:

fs1 =1/(s + 1)fs2 =1/(s + 1/2)^2yt =4*exp(-t) - 4*exp(-t/2) + 2*t*exp(-t/2)

2.Matlab绘制零极点图、判断稳定

例题:

利用MATLAB画出系统的零极点图,并判断系统的稳定性。

b=[1 4 3]; %分子系数,按降幂顺序排列
a=[1 3 4 6 4]; %分母系数,按降幂顺序排列
sys=tf(b,a)
pzmap(sys);sgrid;
azp=roots(a); %求出极点azp,在左半平面即为稳定
%根据参量wd的值判断稳定:1表示稳定,0表示不稳定
wd=1;
for k=1:length(azp)if real(azp(k))>-0.000001wd=0;  end
if wd==0title('不稳定系统');
elseif wd==1title('稳定系统');
end
end

运行结果:

sys =s^2 + 4 s + 3-----------------------------s^4 + 3 s^3 + 4 s^2 + 6 s + 4Continuous-time transfer function.

系统的零极图,如图所示,可见系统有4个极点, 2个零点,其中在虚轴上有一对共轭极点,故该系统是不稳定的。

(知识回顾:系统稳定需要H(s)极点全部都在左半开平面

3.求频率响应函数,判断稳定

例题:

已知系统函数,画出其零极点分布,求系统的单位冲激响应h(t) , 和频率响应H(jw) ,并判断系统是否稳定。

num=[1];
den=[1 2 3 1];
sys=tf(num,den);
poles=roots(den);
figure(1);
pzmap(sys);
t=0:0.02:10;
h=impulse(num,den,t);
figure(2);plot(t,h);
title('Impulse Respone')
[H,w]=freqs(num,den);
figure(3);plot(w,abs(H));

poles=-0.4302 -0.7849 +1.3071i -0.7849 -1.3071i

极点都在左半开平面,系统稳定。

Matlab-信号系统笔记相关推荐

  1. 信号系统笔记(二)连续系统的时域分析

    信号系统笔记(二)连续系统的时域分析 2 连续系统的时域分析 2.1 连续系统的响应 2.1.1 连续系统建立微分方程 2.1.2 微分方程的模拟框图 2.1.3 微分方程的经典解法 2.1.4 连续 ...

  2. matlab信号系统实验报告,信号与系统 MATLAB实验报告

    信号与系统 MATLAB 实验报告 <信号与系统>MATLAB 实验报告 院系: 专业: 年级: 班号: 姓名: 学号: 实验时间: 实验地点: 实验一 连续时间信号的表示及可视化 实验题 ...

  3. 信号与系统matlab课设报告,MATLAB信号与系统实验报告

    <MATLAB信号与系统实验报告>由会员分享,可在线阅读,更多相关<MATLAB信号与系统实验报告(9页珍藏版)>请在装配图网上搜索. 1.信号与系统实验报告(5)MATLAB ...

  4. dtmf信号系统的matlab仿真,dtmf信号系统的matlab仿真毕业设计

    dtmf信号系统的matlab仿真毕业设计 DTMF 信号系统的 Matlab 仿真摘 要双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国 ...

  5. DTMF信号系统的Matlab仿真

    双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中.这种信号制式具有很高的拨号速度,且容易 ...

  6. MATLAB 信号与系统

    文章目录 MATLAB 信号与系统 1 信号的Matlab表示与绘图 1.1 连续信号的绘制 1.2 离散信号的绘制 2 Matlab求解系统的响应 3 Matlab求解冲激响应和阶跃响应 4 卷积的 ...

  7. MATLAB信号与系统

    目录 1.基本信号的MATLAB表示 1.1.指数信号 1.2.指数序列 1.3.正弦型信号 1.4.抽样函数Sa(t) 1.5.矩形脉冲函数 1.6.三角波脉冲信号 1.7.单位采样序列 1.8.单 ...

  8. 【信号系统实验2】MATLAB—连续时间信号与系统的频域分析

    目录 1.实验目的 2.实验内容 1.周期信号的分析 2.非周期信号的分析 3.连续时间系统的响应 1.实验目的 1.熟悉信号的合成.分解原理,了解信号频谱的含义,加深对傅里叶级数的理解. 2.掌握连 ...

  9. 信号与系统陈后金matlab,信号与系统(陈后金)_MATLAB.ppt

    信号与系统(陈后金)_MATLAB 信号与系统 Signals and Systems 利用MATLAB进行信号与系统分析 MATLAB简介 信号的MATLAB表示 利用MATLAB进行系统的时域分析 ...

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

    一.系统的z变换和反变换 1.利用部分分式展开求解逆Z变换: 2.例子 3.Z变换的MATLAB函数 clear all f=sym('cos(a*k)'); F=ztrans(f) F=sym('z ...

最新文章

  1. 通过data:image/png;base64把图片直接写在src里
  2. AJAX初探,XMLHttpRequest介绍
  3. 用 Flask 来写个轻博客 (33) — 使用 Flask-RESTful 来构建 RESTful API 之二
  4. HDU 2647 拓扑排序
  5. linux下php的安装,Linux下PHP安装
  6. dj鲜生-19-登陆功能-利用内置认证体系
  7. fastjson JSONObject.toJSONString 出现 $ref: $.的解决办法(重复引用)
  8. 技术变革解锁人文新维度
  9. 著名音频库多角度对比(多平台可用)
  10. 8串口服务器芯片,塔石串口服务器的芯片W7500
  11. Chapter16/17-项目2:数据可视化
  12. 计算机硬件数据统计实验报告,实验二数据统计01
  13. 网站源码、模板分享(前端)
  14. 2023最新仿蓝奏云合集下载页面系统源码+有PHP后台版的
  15. 【C语言】冷知识——前置++和后置++
  16. 判断是否为Debug模式
  17. C64+ cache资料集(更新中)
  18. doctype html public w3c,!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w...
  19. HTML基础,CSS基础
  20. 云南地震救援面临哪些困难

热门文章

  1. ios 键盘弹出后马上收回_ios12键盘唤起后,收回键盘弹窗错位解决方案
  2. 放牛奶的冰箱(二分答案)
  3. 使用OpenGL模拟水面
  4. 计算并输出最高分及其学生学号
  5. 软件测试周刊(第13期):质量是一种认知
  6. 解决百度地图内存泄露问题
  7. 嵌入式程序员的几年的小心得
  8. IPFS系列 - 分布式哈希表(DHT)
  9. 为什么强烈推荐 Java 程序员使用 Google Guava 编程!
  10. 南京大学软件工程842参考书攻略