【MATLAB】【数字信号处理】基本信号的仿真与实现
2024-01-01 20:53:27
目的
1、用MATLAB软件实现冲激序列
2、用MATLAB软件实现阶跃序列
3、用MATLAB软件实现指数序列
4、用MATLAB软件实现正弦序列
内容与测试结果?
1、用MATLAB软件实现冲激序列
程序如下:
% 1 冲激序列
clc; clear all;
n0 = -10; nf = 50; ns = 1; A = 1;%起点为-1,终点为5,幅值为1 在3出有单位冲激
n = n0 : nf; %生成离散信号的时间序列
y = dirac(n - ns); % n = ns处有δ函数,即δ(n-ns)
y = A * sign(y); %改变幅度
subplot(2, 2, 1); stem(n, y, 'r'); axis([n0, nf, -0.1, 1.1]); %绘制离散序列
title('δ(k-3)'); %加标题
运行结果如下:
2、用MATLAB软件实现阶跃序列
代码如下:
% 2 阶跃序列
clc;
clear all;
n0 = -10; nf = 50; ns = 2; %起点为-1,终点为5,在3出有单位阶跃序列
n = n0 : nf; %生成离散信号的时间序列
f = [zeros(1,ns-n0), ones(1,nf-ns+1)]; %生成离散信号f(n)
%也可用逻辑运算方法产生,f=[(n-ns)>=0]
subplot(2, 2, 2);
stem(n, f, 'filled');
axis([n0, nf, -0.1, 1.1]);
title('u(k-3)'); %加标题
运行结果如下:
3、用MATLAB软件实现指数序列
代码如下:
% 3 指数序列
clc;
clear all;
n0 = -10; nf = 50; A = 0.5; nx = 3/4;
k = n0 : nf; %生成离散信号的时间序列
xk = A * nx.^k;
subplot(2, 2, 3);
stem(k, xk, 'g');
title('x(k) = 0.5*(3/4)^k'); %加标题
运行结果如下:
4、用MATLAB软件实现正弦序列
代码如下:
% 4 正弦序列
clc; clear all;
k = -10 : 0.1 : 20; w = pi/3; phi = pi/5;
y = sin(w * k + phi);
subplot(2, 2, 4);
stem(k, y, 'b');
title('sin(π*K/3 + π/5)');
运行结果如下:
文章来源:https://blog.csdn.net/weixin_63135906/article/details/135186838
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!