MATLAB综合练习:信号与系统中的应用


MATLAB 2018b

前言

“老爸,你昨天给我发的时域信号的频谱分析作业老师超级满意,她又留新的作业了,你帮找你那个员工在帮我做一下吧,我都不咋会。”
苦茶子老板,没好气的哼了一声:“你就不能自己学一点吗?你以后出来能干什么?就天天指着我给你每个月50万的零花钱,你这样以后怎么活下去啊!”
“别唠叨了,臭老头,拜拜,老子耍去了!”
“哎!“苦茶子老板叹了口气,接着让女秘书把小刘叫到办公室来。
”小刘啊!昨天你做的作业,我呢,真的是非常的满意,为了继续锻炼你的能力,这里还有几道题,你也做了吧!啊,不咋多。“苦茶子老板板着脸说着。
小刘想着拒绝,当看见老板板着生气的脸,也不敢张开那个嘴了,只是糯糯的说了声:”好的,老板。“
”文档发你了,赶紧写了去吧!“老板把小刘赶出了办公室。
小刘回到了办公桌前,看着那么多的题,默默的打开了CSDN搜索到:”如何和老板提涨工资啊?“


一、产生数值信号

利用MATLAB产生信号 x(t)=cos(10Πt),y(t)=sin(10Πt2)
,分别画出信号的波形,并画在一张图上比较这两个信号的波形。

代码如下,所示:

>> t=linspace(0,8*pi,100);%创建04Π的线性分隔数值向量t,元素为100>> x=cos(10*pi*t);%x(t)的波形;
>> plot(t,x,'r'),title('x(t)波形曲线'),xlabel('t数值向量')
>> y=sin(10*pi*t.^2);%y(t)的波形;
>> plot(t,y,'c'),title('y(t)波形曲线'),xlabel('t数值向量')
>> plot(t,x,'r',t,y,'c')
>> title('x(t)和y(t)进行比较')
>> xlabel('t数值向量')

1.单独x的波形图:
单独x的波形图
2.单独y的波形图:
单独y的波形图:
3.x(t)信号波形和y(t)信号波形进行比较:
x(t)信号波形和y(t)信号波形进行比较:

二、信号的基本运算

利用MATLAB实现信号f1 (t)=sin⁡(πt),f2(t)=sin⁡(10πt)的相加和相乘,试分别绘制这两个信号及它们的和信号和积信号的波形。

代码如下,所示:

>> t=linspace(0,8*pi,100);%创建04Π的线性分隔数值向量t,元素为100>> f1=sin(pi*t);%f1信号函数表达式
>> f2=sin(10*pi*t);%f2信号函数表达式
>> subplot(1,2,1),plot(t,f1,'m'),title('x(t)的波形曲线')
>> subplot(1,2,2),plot(t,f2,'w'),title('y(t)的波形曲线')
>> f3=f1+f2;
>> format short,f3;
>> plot(t,f3),title('f3为信号和波形曲线')
>> f4=f1.*f2;
>> plot(t,f4,'m'),title('f4为信号乘积波形曲线')

1.f1、f2的波形曲线:
f1、f2的波形曲线
2.f3俩信号乘积和的波形曲线
f3俩信号乘积和的波形曲线
3.f4俩信号乘积的波形曲线
f4俩信号乘积的波形曲线

三、卷积的运算

用MATLAB画出门函数3[u(t+1)-u(t-2)]与指数函数2e^(-2t)卷积图形。

代码如下,所示:

>> dt=0.01; t=0:dt:5;
>> f1=3*(u.*(t+1)-u.*(t-2)); subplot(1,3,1), plot(t,f1,'g') ,title('门函数波形曲线')
>> f2=2*exp(-2.*t); subplot(1,3,2), plot(t,f2,'r'),title('指数函数波形曲线')
>> y =conv(f1,f2)*dt;%调用卷积conv()函数
>> subplot(1,3,3), plot(dt*([1:length(y)]-1),y,'m'), title('卷积曲线'),grid  % 不知t的长度,绘图时t数组设定方法

门函数,指数函数、还有俩信号的卷积波形如下:
门函数,指数函数、还有俩信号的卷积波形如下:

四、傅里叶级数展开

利用MATLAB将基频为50Hz的方波展开为傅里叶级数。

代码如下,所示:

>> N = 500; %取项,并且项数越高,波形越不失真。
>> T = 0.02;%方波周期为0.02>> fs = 1/T;%方波基频为50Hz;
>> N_point = 150; %设置每个周期的采样点个数
>> dt = T/N_point;%步长
>> t=1:dt:100*T-dt;%取值范围,”不宜过大“
>> ft = zeros(1,length(t));
>> %ft为全0矩阵
>> for n=1:N
an = (2*sin(pi*n) - sin(2*pi*n))/(pi*n);
bn = (1-2*cos(n*pi)+cos(2*pi*n))/(pi*n);
ft = ft + an*cos(n*2*pi*fs*t)+bn*(sin(n*2*pi*fs*t));%傅里叶展开级数
end
>> plot(t,ft,'m')
>> title('基频为50Hz的方波展开为傅里叶级数')

基频为50Hz的方波:
基频为50Hz的方波,t=0:dt:10*T-dt;
各次谐波合成方波的情况:
各次谐波合成方波的情况
各次谐波合成方波的情况

五、频谱分析

用MATLAB画出H(s)=s2/((s+1)2+1)的零、极点分布图,并画出该系统的冲激响应h(n)的波形和频率响应H(jω)的曲线,判断系统是低通、高通、带通、带阻中哪一种?

代码如下,所示:

>> a = [1 2 2];% 分母向量
>> b = [1]; % 分子向量
>> zs=roots(b)  %求系统的零点
zs =

  空的 0×1 double 列向量
>> ps=roots(a)  %求系统的极点
ps =

  -1.0000 + 1.0000i
  -1.0000 - 1.0000i
>> plot(real(zs), imag(zs), 'go', real(ps), imag(ps), 'mx', 'markersize', 12);
>> grid; legend('零点','极点');
>>figure(1); pzmap(sys); % 画出零点极点图
>> figure(2);freqs(b, a, w);% 画出幅频特性曲线和相频特性曲线
>> dn=0.1; n=0:dn:6;%n取值范围
>> [r,p,k]=residue( b, a);%用极点留数法求冲击函数
>> H=zeros(1,length(n));
>> for i=1:length(a)-1
H=H+r(i)*exp(p(i)*n);% 冲击函数h(n)的通用式
end
>> plot(n,H); grid; title('冲激响应H(t)')![在这里插入图片描述](https://img-blog.csdnimg.cn/d25cf9c7d0764f569678bfd9e8288153.png)

>> freqs(b,a,w) %滤波器的频率响应

1.零、极点图:
零、极点图:

2.幅频特性曲线和相频特性曲线:
幅频特性曲线和相频特性曲线
3.冲激函数H(t):
冲激函数H(t):
4.频率响应H(jω)的曲线:
频率响应H(jω)的曲线


总结

小刘终于将这些题给做完了,他伸了伸懒腰,看了看时间,已经晚上21:35了,看了看老板办公室已经熄灯了,估计老板已经回家睡觉了,明天再发给他吧。再看了看周围没走几个人的办公室,摇了摇头,给自己冲了杯咖啡,继续看着今天下午的提问:”如何让老板给自己加薪呢?“

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
北邮2020信号与系统课程仿真实验matlab 包含: 1.word版实验报告 2.18个matlab代码 题目要求: 习题1 典型信号的表示和运算: 1.产生离散衰减正弦序列x(n)=0.8 n sin⁡(π/4 n) ,0<n<10, 并画出其波形图。 2.用MATLAB生成信号 sinc(at-t_0), a和t_0都是实数,-4<t<10,画波形图。观察并分析a和t_0的变化对波形的影响。 3.某频率为f的正弦波可表示为x_a (t)=cos⁡(2πft),对其进行等间隔抽样,得到的离散样值序列可表示为x(n)= x_a (t)(t=nT),其T称为抽样间隔,代表相邻样值间的时间间隔,f_s=1/T表示抽样频率,即单位时间内抽取样值的个数。抽样频率取f_s=40" Hz" ,信号频率f分别取5Hz, 10Hz, 20Hz和30Hz。请在同一张图同时画出连续信号x_a (t) t和序列x(n) nT的波形图,并观察和对比分析样值序列的变化。可能用到的函数为plot, stem, hold on。 4.用MATLAB产生音阶信号"1 2 3 4 5 6 7 " "1" ,并播放,抽样频率可设为8000 Hz。 5.利用MATLAB产生信号x_1 (t)=cos⁡t和x_1 (t)=cos⁡20t,请画出信号x_1 (t)+x_2 (t)和信号x_1 (t) x_2 (t)的波形图。 习题2 线性时不变系统的时域分析: 计算下列信号 和 的卷积和。 1. x(n)=h(n)=u(n)-u(n-4); 2. x(n)=u(n)-u(n-4), h(n)=0.8 n [u(n)-u(n-10)] 习题3 绘制典型信号及其频谱图: (1)绘制单边指数信号及其频谱图的MATLAB程序如下: close all; E=1;a=1; t=0:0.01:4; w=-30:0.01:30; ... 请更改参数,调试此程序,绘制单边指数信号的波形图和频谱图。观察参数a对信号波形及其频谱的影响。 注:题目阴影部分是幅频特性的对数表示形式,单位是(dB),请查阅相关资料,了解这种表示方法的意义及其典型数值对应的线性增益大小。 (2)绘制矩形脉冲信号、升余弦脉冲信号和三角脉冲信号的波形图和频谱图,观察并对比各信号的频带宽度和旁瓣的大小。 习题4 连续系统的零极点分布与频响特性的关系: 请利用MATLAB软件绘制下列因果系统的零极点图和频率响应特性曲线,并判断系统具有什么类型的滤波特性。 (1) H_1 (s)=2/(s+2); (2) H_2 (s)=s/(s+2); (3) H_3 (s)=1/(s+1)(s+2) ; (4) H_4 (s)=s/(s+1)(s+2) ; (5) H_5 (s)=s 2/(s+1)(s+2) ; (6) H_6 (s)=s/(s 2+2s+10); (7) H_7 (s)=(s-1)(s-2)/(s+1)(s+2) .
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 数字信号即离散信号,本设计带有一个丰富得GUI人机交互界面,一共包括4个部分,分别为:离散时间信号的卷积,基本函数的Z变换(单位阶跃信号,脉冲信号,斜变信号,正余弦信号,指数系列信号),Z变换的基本性质(线性,位移,z域… MATLAB(Matrix Laboratory)是一款由美国MathWorks公司开发的高性能商业数学软件,它集成了高级技术计算语言、交互式环境以及丰富的工具箱,被广泛应用于工程计算、数据分析、算法开发和科学可视化等领域。MATLAB的核心功能包括: 1. **数值计算**:支持大规模矩阵和数组运算,对线性代数、微积分、概率统计等数学问题提供高效解决方案。 2. **编程环境**:提供了易于使用的脚本编写与函数定义界面,支持面向对象编程,并可通过M文件实现模块化程序设计。 3. **数据可视化**:内置强大的二维和三维图形绘制功能,能够创建高质量的数据图表,便于数据分析和结果展示。 4. **工具箱扩展**:MathWorks为MATLAB提供了众多领域的专业工具箱,如信号处理、图像处理、通信系统、控制系统、机器学习、深度学习、量化金融、优化算法等,极大地扩展了MATLAB应用范围。 5. **Simulink仿真**:作为MATLAB的重要组成部分,Simulink是一个动态系统建模、仿真和基于模型的设计环境,特别适用于多域物理系统和嵌入式系统的模拟和实时测试。 6. **集成能力**:MATLAB可以与其他编程语言(如C、C++、Java、Python等)及外部应用程序进行数据交换和联合开发,也可以调用硬件接口进行实时实验和控制。 7. **交互式工作空间**:用户可以在命令窗口直接输入表达式并立即得到结果,这种交互式的特性使得快速原型设计和调试变得极为便利。 总之,MATLAB是科学家、工程师和技术人员进行科研、教育和工业应用不可或缺的强大工具之一,尤其在需要大量数值计算和复杂系统建模的场景下发挥着重要作用。
matlab函数网上搜集并精心整理,添加了目录,便于查阅。共23页。 文档内容举例: 函数名 功能描述 addpath 增加一条搜索路径 目 录 1 常用命令 1.1 管理用命令 1.2管理变量与工作空间用命令 1.3文件与操作系统处理命令 1.4窗口控制命令 1.5启动与退出命令 2 运算符号与特殊字符 2.1运算符号与特殊字符 2.2逻辑函数 3 语言结构与调试 3.1编程语言 3.2控制流程 3.3交互输入 3.4面向对象编程 3.5调试 4 基本矩阵与矩阵处理 4.1基本矩阵 4.2特殊向量与常量 4.3时间与日期 4.4矩阵处理 5 特殊矩阵 6 数学函数 6.1三角函数 6.2指数函数 6.3复数函数 6.4数值处理 6.5其他特殊数学函数 7 坐标转换 8 矩阵函数 8.1矩阵分析 8.2线性方程 8.3特征值与奇异值 8.4矩阵函数 9 数据分析与Fourier变换函数 9.1基本运算 9.2微分计算 9.3滤波与卷积 9.4方差处理 9.5Fourier变换 10 多项式处理函数 10.1多项式处理 10.2数据插值 11 非线性数值方法 12 稀疏矩阵函数 12.1基本稀疏矩阵 12.2稀疏矩阵转换 12.3处理非零元素 12.4稀疏矩阵可视化 12.5排序算法 12.6范数、条件数 12.7特征值与奇异值 12.8其他 14 13 图形绘制 13.1基本二维图形 13.2基本三维图形 13.3三维颜色控制 13.4三维光照模型 13.5标准调色板设置 13.6三维视点控制 13.7坐标轴控制 13.8图形注解 13.9拷贝与打印 14 特殊图形 14.1特殊二维图形 14.2等高线及其他二维图形 14.3特殊三维图形 14.4图象显示与文件I/O 14.5动画处理 14.6实体模型 15 图形处理 15.1图形窗口生成与控制 15.2坐标轴建立与控制 15.3处理图形对象 15.4图形 18 16 GUI(图形用户接口) 16.1GUI函数 16.2GUI设计工具 16.3对话框 16.4菜单 16.5组按钮 16.6自定义窗口属性 16.7其他应用 17 声音处理 18 字符串处理函数 18.1字符串处理 18.2字符串与数值转换 18.3进制转换 19 文件输入输出函数 19.1基本文件输入输出 19.2特殊文件输入输出 20 位操作 21 复杂数据类型 21.1数据类型 21.2结构操作 21.3多维数组操作 21.4单元数组操作 21.5面向对象函数 22 日期与时间 23 动态数据交换
### 回答1: 信号与系统是一门工程学科,研究信号的产生、传输、变换和处理的规律和方法。而MATLAB是一种强大的数学计算软件,广泛应用信号与系统的分析和处理。 清华大学的信号与系统MATLAB综合实验课程旨在通过实际操作来深入理解信号与系统的相关知识。通过实验,学生可以学习如何使用MATLAB进行信号的产生、变换、滤波、频谱分析等操作。 在这门课程,学生将学习如何使用MATLAB的函数和工具箱来处理各种类型的信号,例如连续时间信号和离散时间信号。学生将使用MATLAB绘制信号的波形图、频谱图,并进行信号的数字滤波和系统的频率响应分析等。 此外,学生还将学习如何使用MATLAB进行系统的时域和频域分析,包括系统的单位脉冲响应、零极点分布、频率响应等。通过实验,学生可以加深对信号与系统的理论知识的理解,并提高MATLAB应用能力。 综上所述,清华大学的信号与系统MATLAB综合实验课程旨在通过实际操作来加深学生对信号与系统的理解和应用能力。通过该课程的学习,学生可以掌握MATLAB信号与系统领域的应用技巧,为将来的工程实践打下坚实的基础。 ### 回答2: 信号与系统是电子信息类专业的一门重要课程,主要研究信号的特性、信号的处理与分析方法以及系统的性质与特征等内容。清华大学在信号与系统课程,通过实验项目的方式,帮助学生更好地理解并应用所学知识。 在这个综合实验,学生将使用MATLAB软件进行实验。MATLAB是一种简单、灵活、强大的数学计算与数据可视化工具,被广泛应用于科学与工程领域。通过使用MATLAB,学生可以轻松实现信号与系统相关的各种计算和模拟。 在实验,学生可能会接触到一些常见的信号处理和系统模型,例如滤波器设计、频谱分析、线性时不变系统等。他们需要运用所学的知识,结合MATLAB的编程功能,对这些信号和系统进行建模、分析和仿真。通过实际操作,学生将能够加深对信号与系统理论的理解,并且掌握解决实际问题的能力。 在完成实验的过程,学生将面临一系列挑战和问题,需要动手解决。他们需要分析问题,并运用MATLAB编程知识解决实际情况。这将帮助他们提高问题解决能力、动手能力和团队合作能力。 实验后,学生将在实验报告总结实验结果,并对实验遇到的问题进行分析和讨论。这有助于学生对所学内容的巩固,并激发他们进一步探索信号与系统领域的兴趣。 综上所述,信号与系统MATLAB综合实验对学生的信号与系统理论知识应用能力、编程能力和团队合作能力有着积极的促进作用。它为学生提供了一个锻炼和应用所学知识的机会,使他们能够更好地理解和掌握信号与系统的相关知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bitter tea seeds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值