Matlab 进行离散时间信号序列的生成
目录
1. 认识离散时间序列
2. 生成一些常用信号
(1) 正弦信号
(2) 指数信号
(3) 单位冲击信号
(4) 阶跃信号
(5) 随机信号
3. 生成离散时间信号
(1) 正弦信号
(2) 指数信号
(3) 通过输入参数来实现信号
(4)数字信号处理中的一道题
1. 认识离散时间序列
一般来说,我们在现实中遇到的都是一些模拟信号,但如果使用计算机处理信号的话,在时间上不连续的数字信号有更好的精度以更低的噪声敏感度,所以要进行数字信号处理,即对离散时间信号的处理。
认识数字信号处理
离散时间信号表示的就是在时域不连续的信号,而它的不连续性可能是周期的,也有可能不是周期的,看具体情况进行判断
2. 生成一些常用信号
(1) 正弦信号
正弦信号的生成比较简单,确定了自变量的范围就可以直接使用相应的表达式进行生成:
xn=cos(0.6*pi*n + 0.3*pi);
figure
plot(n,xn)
axis([-40,60,-1.5,1.5])
title('正弦信号')
通过以上代码可以得到下面的图像:
如果需要调整信号的频率直接在信号表达式内部进行修改即可:
xn=cos(0.1*pi*n + 0.3*pi);
figure
plot(n,xn)
axis([-40,60,-1.5,1.5])
title('正弦信号')
得到如下结果:
(2) 指数信号
确定了指数函数的指数以及系数,就可以进行绘制:
A=2; a=0.2;
t=-10:0.01:10;
ft=A*exp(a*t);
plot(t,ft);
grid on; %在图上画方格
得到的图像如下(使用 grid on 可以绘制表格):
(3) 单位冲击信号
单位冲击信号,即 ,当 t 为零时该信号值为1,t 为其他值时该信号值为 0:
n = -5:5;
x = n == 0;% 当n为0时,x的值为1
stem(n, x, 'filled');
axis([-5 5 0 1.1*max(x)]);%规定坐标轴的范围
xlabel('时间(n)');ylabel('幅度(n)');
得到的信号如下:
(4) 阶跃信号
当 t < 0 时信号全为0,当 t > 0 时信号全为1
n = -2:8;
x = n >= 0; % 当n大于等与零时,其值为1
stem(n, x, 'filled');
axis([-4, 4, 0, 1.1*max(x)]);
title('阶跃信号');
xlabel('时间(n)');ylabel('幅度(n)');
得到如下所示的图像:
(5) 随机信号
代码如下:
tn=0:0.2:15;
N=length(tn);
x=rand(1,N);
subplot(2,1,1);
plot(tn,x);tn=0:0.5:15;
N=length(tn);
y=rand(1,N);
subplot(2,1,2);
stem(tn,y,'.');
在确定的范围内得到的连续时间和离散时间信号如下图:
3. 生成离散时间信号
即在时域内离散不连续的信号
(1) 正弦信号
n = -40:60;
xn=cos(0.1*pi*n + 0.3*pi);
stem(n,xn,'.');
axis([-40,60,-1.5,1.5])
title('正弦信号')
得到图像如下:
(2) 指数信号
实现上图的代码如下:
n1=-10; n2=10;
a1=0.5; a2=2;
na1=n1:0;
x1 = a1.^na1;
na2 = 0:n2;
x2 = a2.^na2;
subplot(2,1,1);
stem(na1,x1,'filled');
title('实指数序列(a<1)');
subplot(2,1,2);
stem(na2,x2,'filled');
title('实指数序列(a>1)');
(3) 通过输入参数来实现信号
L = input('Please input L:\n');
A = input('Please input A:\n');
w = input('Please input w:\n');
ph = input('Please input ph:\n');
n = 0:L;xn = A*sin(w*n + ph);
stem(n,xn,'.')
axis([0,L,-1-A,A+1])
title('M2.4 2.40f')
通过上述代码可以实现输入系数、序列长度、频率以及相位进行信号序列的输出
(4)数字信号处理中的一道题
n=-40:40;
xnb=cos(0.6*pi*n + 0.3*pi);
figure
subplot(4,1,1)
stem(n,xnb,'.');
axis([-40,40,-1.5,1.5])
title('2.39b')xnc = real(exp(1j*pi*n/8)) + imag(exp(1j*pi*n/5));
subplot(4,1,2)
stem(n,xnc,'.')
axis([-40,40,-1,2])
title('2.39c')xnd = 6*sin(0.15*pi*n) - cos(0.12*pi*n + 0.1*pi);
subplot(4,1,3)
stem(n,xnd,'.');
axis([-40,40,-10,10])
title('2.39d')xne = sin(0.1*pi*n + 0.75*pi) - 3*cos(0.8*pi*n + 0.2*pi) + cos(1.3*pi*n);
subplot(4,1,4)
stem(n,xne,'.');
axis([-40,40,-5,5])
title('2.39e')
效果如下:
Matlab 进行离散时间信号序列的生成相关推荐
- matlab 安装出来封面就没了,基于Matlab的计算报告书封面生成方法及计算机存储介质与流程...
本发明涉及一种计算报告书封面生成方法及计算机存储介质,特别是涉及一种基于Matlab的计算报告书封面生成方法及计算机存储介质. 背景技术: 技术人员在采用Matlab大型矩阵计算软件进行工程计算等科研 ...
- Matlab学习记录-矩阵的生成
Matlab学习记录-矩阵的生成 matlab中生成矩阵有两种方式: 1.中括号加分号. 中括号表示矩阵,分号表示分行:每一行之间的元素可以用逗号分开也可以用空格分开: 例如 a=[1 2 3; 4 ...
- matlab曲面拟合的算法,用Matlab 实现移动曲面拟合法生成DEM
用Matlab实现移动曲面拟合法生成DEM 杜玉军 (武汉大学测绘工程0408班 200431610007 武汉 430079) 摘要:移动曲面拟合法是DEM格网点内插常用的一种方法,利用Matl ...
- matlab离散方波信号,MATLAB - 在ODE15s函数中生成方波信号?(MATLAB - Generate square signal in ODE15s function?)...
MATLAB - 在ODE15s函数中生成方波信号?(MATLAB - Generate square signal in ODE15s function?) 我试图从函数内部生成一个方形信号,通过O ...
- 用MATLAB实现m序列的生成(MATLAB 2021a适用)
用MATLAB实现m序列的生成(MATLAB 2021a适用) 1.在MATLAB中新建脚本,命名为mseq.m,输入以下代码: function mseq = mseq(fbconnection) ...
- matlab自动生成报告,一种基于MATLAB的Word报告自动生成方法
总第 182期 一 种基于MATLAB的Word报告自动生成方法 孙 剑 (信阳农林学院,河南 信阳 464000) 摘要:自动生成Word文档报告功能是办公 自动化系统中的重要组成部分.为高效的完成 ...
- 【光学】基于matlab GUI光栅条纹投影生成【含Matlab源码 2118期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI光栅条纹投影生成[含Matlab源码 2118期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...
- 【雷达通信】基于matlab NCP算法SAR回波生成和成像【含Matlab源码 1185期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab NCP算法SAR回波生成和成像[含Matlab源码 1185期] 点击上面蓝色字体,直接付费下载,即可. 获 ...
- 【光学】基于matlab模拟光栅条纹投影生成
1 内容介绍 基于matlab模拟光栅条纹投影生成 2 部分代码 function varargout = Main(varargin) % MAIN MATLAB code for Main.fig ...
最新文章
- 洛谷P1057 传球游戏(记忆化搜索)
- 坑爹的Python陷阱(避坑指南)
- 吴恩达机器学习视频及答案2018
- linux下gcc升级
- 太努力工作的年轻人,都有病吧!?
- 仿微信选取图片发表朋友圈功能
- ireport模块之间的动态传参及拼接SQL
- JavaScript中eval()和$.parseJSON()的区别和联系以及JSON.stringify()的区别
- 6. 添加权限管理模块
- CentOS6.X安装10G需要额外安装的软件包
- 为ScrollView增加圆角的三种方式,及自定义属性【在Linearlayout中新增ScrollView支持滚动 后续】...
- 微信小程序 图片显示不出来的问题 100%管用
- mbedtls交换服务器证书,mbedtls | 07 - DH秘钥协商算法的配置与使用
- 程序员如何写简历?程序员写出牛逼简历的5大技巧
- oracle 设行宽,Oracle设置SQLPlus结果显示的宽度,ORACLE sqlplus提示符设置
- 读《深入浅出MySQL数据库开发、优化与管理维护(第2版)》笔记1
- 使用 BEV 投影的高效城市规模点云分割
- ElasticSearch7 集群安装和配置
- 从程序中学习UKF-SLAM(一)
- [Microsoft SQL Server Management Studio]SSMS查询年龄最大学生的姓名和年龄问题及查询最高的学生的学号问题分析及解决
热门文章
- 自建SE16N功能,修改数据库表数据
- 移动App的发展趋势
- 设置ALV不同行的小数点位数
- 315汽车大型排雷现场,数据总结避雷规律
- 王兴最好的半年结束了
- 软件管家公众号_软件安装管家:大学生最值得关注的公众号
- c 后台输出easyui html,EasyUI——实现展示后台数据代码
- linux透明大页内存,rhel7.2 禁用透明的大页内存--transparent_hugepage(THP)
- html屏幕垂直居中显示,HTML+CSS,让div在屏幕中居中(水平居中+垂直居中)方法总结...
- fifo java_java linux fifo文件通信