【MATLAB】【数字信号处理】基本信号的仿真与实现

目的

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)');

运行结果如下:

相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ll7788114 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang
lly2024066 小时前
jQuery 杂项方法
开发语言
赵琳琅6 小时前
MDX语言的安全开发
开发语言·后端·golang
开开又心心的学嵌入式7 小时前
C语言——指针进阶应用
c语言·开发语言
开开又心心的学嵌入式7 小时前
C语言——指针基础知识
c语言·开发语言
lonelyhiker7 小时前
javascript的原型链
开发语言·javascript·原型模式
夏梓蕙8 小时前
Elixir语言的软件开发工具
开发语言·后端·golang