MATLAB在信号系统中的应用

1.产生一个幅度为1, 基频为2Hz,占空比为50%的周期方波.要求 画出图 形 。

在MATLAB中,函数square(w0*t, DUTY)产生基本频率为w0 (周期T=2*pi/w0)、占空比DUTY= (τ/T)*100的周期矩形波(方波),默认情况下占空比DUTY=50。占空比指的是一个周期内,矩形波正电压持续的时间占整个周期的比例,即τ为一个周期中信号为正的时间长度,如果τ=T/2,那么DUTY=50,square(w0*t, 50)等同于square(w0*t)。

程序:

Matlab 复制代码
t=-4:0.0001:4;
A=2;T=pi;w0=2*pi/T; 
ft=(1/2)*A*square(w0*t,50)+(1/2);
plot(t,ft);
axis([-4,4,-2,2]);

运行结果:

2.产生一个Sa函数,理论上抽样信号Sa函数的定义为:

(要求 画出图形 )

MATLAB中有专门的命令sinc()产生抽样信号Sa函数.

程序:

Matlab 复制代码
t=-2*pi:0.01:2*pi;
y=sinc(t);
plot(t,y)
grid on

运行结果:

3.已知系统的微分方程为:

****求该系统的单位冲击响应并画图。注意:****impulse调用格式

程序:

Matlab 复制代码
sys = tf([1, 3],[1, 3, 2]);
t = 0:0.1:10;
y = impulse(sys, t);
plot(t, y);

运行结果:

4. 已知x1(n)= 1,1,1,0,1 -3 ,x2(n) = 2,2,2,2 -1

求:x(n) = x1(n) + x2(n) ,x(n) = x1(n) x2(n),并画图。

程序:

Matlab 复制代码
x1=[1,1,1,0,1];
ns1=-3;
x2=[2,2,2,2];
ns2=-1;
nf1=ns1+length(x1)-1;
nf2=ns2+length(x2)-1;
ny=min(ns1,ns2):max(nf1,nf2);
xa1=zeros(1,length(ny));xa2=xa1;
xa1(find((ny>=ns1)&(ny<=nf1)==1))=x1;
xa2(find((ny>=ns2)&(ny<=nf2)==1))=x2;
ya=xa1+xa2
yp=xa1.*xa2
subplot(4,1,1),stem(ny,xa1,'.')
subplot(4,1,2),stem(ny,xa2,'.')
line([ny(1),ny(end)],[0,0])
subplot(4,1,3),stem(ny,ya,'.')
line([ny(1),ny(end)],[0,0])
subplot(4,1,4),stem(ny,yp,'.')
line([ny(1),ny(end)],[0,0])

运行结果:

ya =

1 1 3 2 3 2

yp =

0 0 2 0 2 0

5.利用函数 impz 和stepz求离散系统

的单位序列响应 h ( k )和单位阶跃响应 g ( k )。

程序:

Matlab 复制代码
a=[1 0 1/3 0];
b=[1/6 1/2 1/2 1/6];
N=32;
n=0:N-1;
 
hn=impz(b,a,n);
gn=dstep(b,a,n+1);
subplot(1,2,1),stem(n,hn);
title('系统单位冲激函数')
axis([0 N 1.1*min(hn) 1.1*max(hn)])
 
subplot(1,2,2),stem(n,gn);
title('系统单位阶跃函数')
axis([0 N 1.1*min(gn) 1.1*max(gn)])

运行结果:

6.已知一离散因果系统的系统函数为:

利用MATLAB求出系统函数的零点和极点,并在Z平面显示它们的分布。

在MATLAB中可以借助函数tf2zp来直接得到系统函数的零点和极点的值,并通过函数zplane来显示其零点和极点的分布。

程序:

Matlab 复制代码
b=[1 2 1];
a=[1 -0.5 -0.005 0.3];
[z,p,k]=tf2zp(b,a);
B=[0 1 2 1];
A=[1 -0.5 -0.005 0.3];
figure
zplane(B,A);

运行结果:

相关推荐
TOOLS指南5 分钟前
Chatshare 域名乱象:如何辨别仿冒站点,避坑指南
开发语言·信息可视化
茉莉玫瑰花茶13 分钟前
GO [ 函数 ]
开发语言·后端·golang
2601_9669496514 分钟前
每日自动更新股票行情:如何设计可靠的数据任务,避免重复写入和脏数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
ZealSinger20 分钟前
Go1.25容器感知GOMAXPROCS避限流
java·开发语言
茉莉玫瑰花茶35 分钟前
GO [ 类型 ]
开发语言·数据库·golang
梅雅达编程笔记40 分钟前
02_BeautifulSoup网页数据提取
开发语言·爬虫·python·beautifulsoup·数据采集
Escalating_xu44 分钟前
【C 语言】深入理解指针(3):字符指针、数组指针、二维数组传参、函数指针与转移表
java·c语言·开发语言
可涵不会debug1 小时前
C++ std::bind 实战教程:线程池、回调场景全覆盖
linux·开发语言·c++
不正经的码狗1 小时前
Java 开发环境搭建与 Eclipse 使用速通教程
java·开发语言·eclipse
璞致电子1 小时前
基于 AD9361 (PZSDR‑P201Pro) 软件无线电实战综述:从板卡选型、硬件平台升级到 GNU Radio QPSK 完整收发链路
经验分享·嵌入式硬件·fpga开发·软件无线电·sdr·璞致电子