数字信号处理实验---LSI系统的分析 Matlab代码

news2024/12/25 9:10:53

1.试用Matlab计算其幅频特性和相频特性,并绘图。

代码:

n = 0:10; %定义采样点n

w = [0:1:500]*2*pi/500; % [0,pi]轴被分成1002个点

x1 = power(0.9*exp(1i*pi/3),n); %定义输入序列

x2 = exp(-1i*n); %定义一个系统的冲激响应

x = zeros(1,length(w)); %定义空数组存储系统的频域响应

for i=1:length(x1)

    x=x+(x1(i)*power(x2(i),w)); %DTFT变换

end %频域相应x

H=x; %频域相应H

magH = abs(H); angH = angle(H); %幅频特性和相频特性

%在上方图窗进行绘图

subplot(2,1,1); plot(w/pi,magH); grid;

%设置横纵坐标及标题内容

xlabel('frequency in pi units'); ylabel('|H|');

title('Magnitude Response');

%在下方图窗进行绘图

subplot(2,1,2); plot(w/pi,angH/pi);grid;

%设置横纵坐标及标题内容

xlabel('frequency in pi units'); ylabel('Phase in pi Radians');

title('Phase Response');

运行结果:

代码:

n = -10:10; %定义采样点n

w = [0:1:500]*2*pi/500; % [0,pi]轴被分成1002个点

x1 = power(0.9,n); %定义输入序列

x2 = exp(-1i*n); %定义一个系统的冲激响应

x = zeros(1,length(w)); %定义空数组存储系统的频域响应

for i=1:length(x1)

    x=x+(x1(i)*power(x2(i),w));%DTFT变换

end %频域相应x

H=x; %频域相应H

magH = abs(H); angH = angle(H); %幅频特性和相频特性

%在上方图窗进行绘图

subplot(2,1,1); plot(w/pi,magH); grid;

%设置横纵坐标及标题内容

xlabel('frequency in pi units'); ylabel('|H|');

title('Magnitude Response');

%在下方图窗进行绘图

subplot(2,1,2); plot(w/pi,angH/pi);grid;

%设置横纵坐标及标题内容

xlabel('frequency in pi units'); ylabel('Phase in pi Radians');

title('Phase Response');

运行结果:

代码:

w = [0:1:500]*2*pi/500; %[0, pi]轴被分成1002个点

x=(0.5.*exp(-1i*w)).^(-2)+(0.5.*exp(-1i*w)).^(-1)+1;%信号的DTFT变换

magH= abs(x3); angH = angle(x3);%幅频特性和相频特性

%在上方图窗绘图

subplot(2,1,1); plot(w/pi,magH); grid;

%设置横纵坐标及标题内容

xlabel('frequency in pi units'); ylabel('|H|');

title('Magnitude Response');

%在下方图窗绘图

subplot(2,1,2); plot(w/pi,angH/pi); grid;

%设置横纵坐标及标题内容

xlabel('frequency in pi units'); ylabel('Phase in pi Radians');

title('Phase Response');

运行结果:

2.根据系统的单位冲击响应,用Matlab绘制系统的幅频特性和相频特性,且当

时单位冲击响应和单位阶跃响应。

代码1:

b = [1, 1, 1, 1, 1, 1]; %滤波器系数数组b

a = [5];%滤波器系数数组a

m = 0:length(b)-1; l = 0:length(a)-1; % 索引数组m和l

K = 500; k = 0:1:K; %频率的索引数组k

w = pi*k/K; %将[0, pi]范围分为501个点

num = b * exp(-j*m'*w); %频率响应的分子计算

den = a * exp(-j*l'*w); %频率响应的分母计算

H = num ./ den; %频率响应H

magH = abs(H); angH = angle(H); %幅频特性和相频特性

%在上方图窗绘图

subplot(2,1,1); plot(w/pi,magH); grid; axis([0,1,0,1]);

%设置横纵坐标以及标题内容

xlabel('frequency in pi units'); ylabel('|H|');title('Magnitude Response');

%在下方图窗绘图

subplot(2,1,2); plot(w/pi,angH/pi); grid

%设置横纵坐标以及标题内容

xlabel('frequency in pi units');ylabel('Phase in pi Radians');

title('Phase Response');

运行结果1:

代码2:

a = [5]; %滤波器系数数组a

b = [1, 1, 1, 1, 1, 1]; %滤波器系数数组b

n = [-5:10]; %定义n的范围

h = impz(b,a,n); %计算单位冲击响应

subplot(2,1,1); stem(n,h,'k');%在上方图窗绘图

%设置横纵坐标及标题内容

title('Impulse Response'); xlabel('n'); ylabel('h(n)')

x = stepseq(0,-5,10);%计算单位阶跃响应

s2 = filter(b,a,x);%对单位阶跃响应进行滤波

%在下方图窗绘图

subplot(2,1,2); stem(n,s2,'k'); axis([-5,10,0,1.5])

%设置横纵坐标及标题内容

title('Step Responsevby by filter function');xlabel('n'); ylabel('s(n)');

运行结果2:

代码1:

b = [1, 0, -1]; %滤波器系数数组b

a = [1, -0.95, -0.9025];%滤波器系数数组a

m = 0:length(b)-1; l = 0:length(a)-1; % 索引数组m和l

K = 500; k = 0:1:K; %频率的索引数组k

w = pi*k/K; %将[0, pi]范围分为501个点

num = b * exp(-j*m'*w); %频率响应的分子计算

den = a * exp(-j*l'*w); %频率响应的分母计算

H = num ./ den; %频率响应H

magH = abs(H); angH = angle(H); % 幅频特性和相频特性

%在上方图窗绘图

subplot(2,1,1); plot(w/pi,magH); grid; axis([0,1,0,1]);

%设置横纵坐标以及标题内容

xlabel('frequency in pi units'); ylabel('|H|');title('Magnitude Response');

%在下方图窗绘图

subplot(2,1,2); plot(w/pi,angH/pi); grid

%设置横纵坐标以及标题内容

xlabel('frequency in pi units');ylabel('Phase in pi Radians');

title('Phase Response');

运行结果1:

代码2:

a = [1, -0.95, -0.9025]; %滤波器系数数组a

b = [1, 0, -1]; %滤波器系数数组b

n = [-5:10]; %定义n的范围

h = impz(b,a,n); %计算单位冲击响应

%在上方图窗绘图

subplot(2,1,1); stem(n,h,'k');axis([-5,10,0,35]);

%设置横纵坐标及标题内容

title('Impulse Response'); xlabel('n'); ylabel('h(n)')

x = stepseq(0,-5,10);%计算单位阶跃响应

s2 = filter(b,a,x);%对单位阶跃响应进行滤波

%在下方图窗绘图

subplot(2,1,2); stem(n,s2,'k');

%设置横纵坐标及标题内容

title('Step Responsevby by filter function');xlabel('n'); ylabel('s(n)');

运行结果2:

3.LTI的差分方程如下,用Matlab绘制系统的幅频特性和相频特性,并求解下列输入序列的稳态响应。

代码:

b = [1, 0, 1, 0, 1, 0, 1]; %滤波器系数数组b

a = [2, 0, 0.81, 0, 0.6561, 0, 0.531441];%滤波器系数数组a

m = 0:length(b)-1; l = 0:length(a)-1; % 索引数组m和l

K = 500; k = 0:1:K; %频率的索引数组k

w = pi*k/K; %将[0, pi]范围分为501个点

num = b * exp(-j*m'*w); %频率响应的分子计算

den = a * exp(-j*l'*w); %频率响应的分母计算

H = num ./ den; %频率响应H

magH = abs(H); angH = angle(H); % 幅频特性和相频特性

%在上方图窗绘图

subplot(2,1,1); plot(w/pi,magH); grid; axis([0,1,0,1]);

%设置横纵坐标以及标题内容

xlabel('frequency in pi units'); ylabel('|H|');title('Magnitude Response');

%在下方图窗绘图

subplot(2,1,2); plot(w/pi,angH/pi); grid

%设置横纵坐标以及标题内容

xlabel('frequency in pi units'); ylabel('Phase in pi Radians');

title('Phase Response');

运行结果:

输入序列为:

代码:

b = [1, 0, 1, 0, 1, 0, 1]; %滤波器系数数组b

a = [2, 0, 0.81, 0, 0.6561, 0, 0.531441];%滤波器系数数组a

n = 0:50;%定义n的取值

x = 5 + 10 * power(-1, n); %定义输入序列

y = filter(b,a,x); %计算稳态响应

%绘制图形

stem(n, y, 'g' ,'filled');

%设置横纵坐标及标题内容

xlabel('n');ylabel('y(n)');

title('5 + 10 * (-1)^n 的稳态响应');

运行结果:

代码:

b = [1, 0, 1, 0, 1, 0, 1]; %滤波器系数数组b

a = [2, 0, 0.81, 0, 0.6561, 0, 0.531441];%滤波器系数数组a

n = 0:50;%定义n的取值

x = 1 + cos(0.5*pi*n + 1/(2*pi)); %定义输入序列

y = filter(b,a,x); %计算稳态响应

%绘制图形

stem(n, y, 'r','filled');

%设置横纵坐标及标题内容

xlabel('n');ylabel('y(n)');

title('1 + cos(0.5*pi*n + 1/(2*pi))的稳态响应');

运行结果:

代码:

b = [1, 0, 1, 0, 1, 0, 1]; %滤波器系数数组b

a = [2, 0, 0.81, 0, 0.6561, 0, 0.531441];%滤波器系数数组a

n = 0:50;%定义n的取值

x = 2*sin(n*pi/4) + 3*cos(3*pi*n/4); %定义输入序列

y = filter(b,a,x); %计算稳态响应

%绘制图形

stem(n, y, 'p','filled');

%设置横纵坐标及标题内容

xlabel('n');ylabel('y(n)');

title('2*sin(n*pi/4) + 3*cos(3*pi*n/4)的稳态响应');

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1375728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ESP32S3+HX8347+RGB运行LVGL例程

之前用3线SPI驱动的HX8347屏其实是一个RGB屏,SPI只是用来给RGB屏幕的做配置的,当然也可以用来驱动屏幕,但是3线SPI驱动能力终究有限。本文谈一下用RGB方式来驱动。 RGB接线比较多,为此做了个转接板: 一、源码 1、scre…

Swoft - Bean

一、Bean 在 Swoft 中,一个 Bean 就是一个类的一个对象实例。 它(Bean)是通过容器来存放和管理整个生命周期的。 最直观的感受就是省去了频繁new的过程,节省了资源的开销。 二、Bean的使用 1、创建Bean 在【gateway/app/Http/Controller】下新建一个名为…

Kotlin-变量定义,与类型

Kotlin-变量定义 变量定义整型浮点型字符型整型之间的转换Boolean类型Null安全安全调用Elvis运算 字符串 变量定义 Kotlin可以定义的时候不标明数据的数据类型,编译器会根据初始值确定类型 fun main() {var b:Intvar name "crazyit.org"//声名变量的时…

ptaR7-5打探基priority_queue的使用

题目 最近乐乐开发出了一款新的游戏《打探基》,这款游戏需要多人配合来玩,至少三个游戏玩家同时出招才能使探基的血量下降一点,同时,出招的每个人战斗力下降一点,当战斗力小于10的时候将不能再出招,不知道…

系分笔记计算机网络功能、分类和部署

文章目录 1、概述2、计算机网络的功能3、计算机网络的部署结构4、计算机网络的分类4、总结 1、概述 计算机网络是系统分析师常考查的知识点,虽然不是专业的网络考试,但是网络常识是每一个考生需要掌握的。 2、计算机网络的功能 计算机网络是计算机技术与…

计算机毕业设计 基于SpringBoot的物资综合管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

uniapp打包h5部署到服务器

在学习uniapp,部署前后端分离项目。将h5的dist文件打包好后一直在考虑如何通过nginx反向代理到后端接口,整了半天也没整成。最后才发现,uniapp打包的h5页面包好像不需要反向代理到后端接口,只需要通过nginx将dist下的h5包代理了&a…

【AI】AI和医疗大数据(2/3)

目录 四、医疗大数据理论和技术 五、非结构化处理的重要性和方法 5.1 采集技术 5.2 处理技术 5.3 存储技术 5.4 关于Mapreduce 四、医疗大数据理论和技术 医疗大数据的理论和技术主要包括以下几个方面: 数据整合管理技术:这包括多源医疗大数据的语…

【软件测试】学习笔记-从0到1:API测试怎么做

这篇文章是API测试的基础,先从0到1设计一个API测试用例,通过这个测试用例,体会到最基本的API测试是如何进行的,并介绍几款常用的API测试工具。 API测试的基本步骤 通常来讲,无论采用什么API测试工具,API测…

JVM初识

什么是JVM? JVM全称是Java Virtual Machine,中文译名Java虚拟机。 JVM本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。 JVM的功能 jvm的功能主要分为三部分: 解释和运行 对字节码文件中的指令,实…

【JavaWeb学习笔记】19 - 网购家居项目开发(上)

一、项目开发流程 程序框架图 项目具体分层方案 MVC 1、说明是MVC MVC全称: Mode模型、View视图、Controller控制器。 MVC最早出现在JavaEE三层中的Web层,它可以有效的指导WEB层的代码如何有效分离,单独工作。 View视图:只负责数据和界面的显示&…

imgaug库指南(17):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里,数据是模型训练的基石,其质量与数量直接影响着模型的性能。然而,获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此,数据增强技术应运而生,成为了解决这一问题的…

Win2008R2上RedisDesktopManager 黑屏

问题: 运行发现右侧显示缓存信息的部分是黑屏。 解决方式: 管理工具->远程桌面服务->远程桌面会话主机配置->RDP-TCP->属性->客户端设置->颜色深度->限制最大颜色深度,将16位改为32位

基于嵌入式的智能台灯系统

基于嵌入式的智能台灯系统 功能说明 通过微信小程序控制台灯的亮灭及亮度。采集温湿度传到微信小程序上,台灯可以显示实时北京时间。 功能展示 01智能台灯演示 Mqtt服务器 http://www.yoyolife.fun/iot:Mqtt服务器,我是在这里注册的&#x…

【机器学习】半监督学习

一、问题假设 要利用无标签样本进行训练,必须对样本的分布进行假设? 二、启发式算法 自训练和协同训练是两种常用的半监督学习的方法,它们的主要区别在于使用的模型的数量和类型。 自训练:自训练是一种使用单个模型的半监督学习的…

【EI会议征稿通知】2024年机器学习与智能计算国际学术会议(MLIC 2024)

2024年机器学习与智能计算国际学术会议(MLIC 2024) 2024 International Conference on Machine learning and intelligent computing 智能计算与机器学习被广泛应用于大数据分析、人工智能、智能制造、智能交通、智能电网、智慧城市、智慧医疗、金融科…

语境化语言表示模型-ELMO、BERT、GPT、XLnet

一.语境化语言表示模型介绍 语境化语言表示模型(Contextualized Language Representation Models)是一类在自然语言处理领域中取得显著成功的模型,其主要特点是能够根据上下文动态地学习词汇和短语的表示。这些模型利用了上下文信息&#xf…

人工智能行业的发展前景如何?

人工智能(AI)已经成为如今科技领域的热门话题之一,从图像识别到自动驾驶,从语音助手到智能机器人,AI技术正在改变我们的生活方式。随着技术的不断发展和应用的扩大,人工智能行业的发展前景无疑是非常广阔的…

ios 1x/2x/3x

asset文件下可以配置1x/2x/3x图,然后不同机型屏幕会根据[UIScreen mainScreen].scale,自动按需读取相关图片,imageView可以根据image自动适应,需求有个包体积优化,使用 3x图webp格式替换asset图片,由于代码没有根据image尺寸自适应没有进行si…

构建基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等)的Nginx1.24.0的RPM包

本文适用:rhel9系列,或同类系统(CentOS9,AlmaLinux9,RockyLinux9等) 文档形成时期:2023年 因系统版本不同,构建部署应略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…