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

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.hqwc.cn/news/341011.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RK3568驱动指南|第十篇 热插拔-第118章 使用udev挂载U盘和T卡实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

Backtrader 文档学习-Strategy with Signals

Backtrader 文档学习-Strategy with Signals backtrader可以不通过重写策略的方式触发交易,尽管重写策略是首选通用的方式。 下面介绍通过使用信号也是可以实现交易触发的。 1.定义signal import backtrader as btdata bt.feeds.OneOfTheFeeds(datanamemydatana…

关于报错 curl: (56) Recv failure: Connection reset by peer

curl ip没问题 curl localhost 则报错 curl: (56) Recv failure: Connection reset by peer 出现这个报错有很多原因, 其中之一就是terminal代理 而关闭代理应用之后, 其实由于配置的终端都是 export指定的代理 所以导致还是一直报错. 通过 curl -v 可以发现 指向了代理ip和…

【HarmonyOS4.0】第八篇-ArkUI系统组件(三)

【HarmonyOS4.0】第七篇-ArkUI系统组件(三) 七、二维码组件 二维码的使用场景,比如扫码添加好友,扫码骑车,扫码支付等等,ArkUI开发框架提供了 RQCode 组件生成一个二维码。 接口: QRCode(value: string)参数: 参数…

一起来了解综合能源服务认证

首先,综合能源服务认证是有国家政策支持的, 《能源生产和消费革命战略(2016-2030)》中指出:1、能源生产端要以绿色低碳为方向,推动能源集中式和分布式开发并举,大幅提高新能源和可再生能源比重&#xff1b…

【昕宝爸爸小模块】ConcurrentHashMap为什么不允许null值

ConcurrentHashMap为什么不允许null值 一、✅典型解析二、✅要实现一个HashMap怎么做2.1 ✅需要考虑以下几个方面2.2 ✅基于数组和链表的HashMap实现Demo2.3 ✅扩容后如何解决链表长度过长的问题 三、✅拓展知识仓3.1 ✅在多线程环境下如何保证数据的正确性和性能3.2 ✅那如何在…

第3章:python的判断语句

学一门语言,无外乎多敲,多用,记得回顾昨天写过的代码呀 布尔类型和比较运算符 布尔类型的定义 使用比较运算符进行比较运算得到布尔类型的结果 比较运算符 """ 演示布尔类型的定义 以及比较运算符的应用 ​ """…

功能消费迈向精智生活,绿联如何撬动3C数码新增量?

根据行业生命周期理论,当前国产移动数码周边市场俨然已迈入成熟期,相关企业也完成一轮腾飞,正在为新的发展蓄能。 其中,绿联的发展历程可以说是行业进化升级的缩影。产品层面,已完成从“数据线厂商”到专业数码科技公…

nextjs + ahooks 报错 Cannot use import statement outside a module

在 nextjs 中使用 ahooks 时,报错 SyntaxError: Cannot use import statement outside a module,如下图所示: 解决方案 transpilePackages 官网介绍 Next.js can automatically transpile and bundle dependencies from local packages (lik…

Python的安装与卸载【Windows系统】

在 Windows 上安装与卸载 Python Python的安装 下载Python 安装Python 下载完后打开安装包 注意最底下的"Add Python 3.8 to Path"(将Python加入环境变量)一定要勾选!!!这样就可以免去之后环境配置的烦恼…

用win系统搭建Minecraft世界服务器,MC开服教程,小白开服教程

雨云VPS用Windows系统搭建我的世界世界服务器,Minecraft开服教程,小白开服教程,MC 1.19.4版本服务器搭建教程。 此教程使用 Mohist 1.19.4 服务端,此服务端支持Forge模组和Bukkit/Spigot/Paper插件,如果需要开其他服务…

有经常要寄快递的友友吗?那到底有没有更便利的寄快递的方法?

有经常要寄快递的友友吗?那到底有没有更便利的寄快递的方法? 我们大家都知道快递行业的发展是非常迅猛的,这是人们的需求所促生出来的一个行业。现在的快递公司也非常的多,每个快递公司都是有很多的快递员的,在我们需要寄快递的…