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

运行结果如下:

相关推荐
甄心爱学习7 分钟前
【项目实训(个人10)】
开发语言·前端·javascript
右耳朵猫AI12 分钟前
Java & JVM技术周刊 2026年第20周
java·开发语言·jvm
人道领域14 分钟前
【LeetCode刷题日记】538.把二叉搜索树转换为累加树
java·开发语言·后端·算法·leetcode
铁皮哥14 分钟前
【后端开发】什么是守护线程,和普通线程有什么区别?
java·开发语言·数据库·人工智能·python·spring·intellij-idea
并不喜欢吃鱼17 分钟前
从零开始 C++----- 十二【C++ 数据结构】map/set 全解析:从使用到红黑树底层模拟实现
开发语言·数据结构·c++
【建模先锋】18 分钟前
独家复现!从 FFT 频域特征到全连接图分类:基于图卷积神经网络 GCN 的滚动轴承故障诊断模型
深度学习·分类·cnn·信号处理·代码分享·图卷积神经网络·轴承故障诊断
枫叶丹419 分钟前
【HarmonyOS 6.0】Live View Kit 实况窗开发详解:进度胶囊支持副文本功能探究
开发语言·华为·harmonyos
不会C语言的男孩20 分钟前
C++ Primer Plus 第17章:输入、输出和文件
开发语言·c++
SilentSamsara20 分钟前
FastAPI 实战:从路由定义到依赖注入的完整 REST API
开发语言·python·青少年编程·fastapi
AI人工智能+电脑小能手22 分钟前
【大白话说Java面试题 第86题】【Mysql篇】第16题:MySQL 中锁的种类与行锁实现原理?
java·开发语言·数据库·mysql·面试