数字信号处理基础(一)

news2025/1/20 3:56:13

目录

  • 1. 写在前面
  • 2. 连续信号和离散信号
    • 2.1连续信号
    • 2.2 离散信号
  • 3. 常用信号的产生
    • 3.1 单位脉冲序列
    • 3.2 单位阶跃序列
    • 3.3 指数函数
    • 3.4 正弦信号和余弦信号
    • 3.5 sinc函数
    • 3.6 矩形脉冲信号
  • 4. 信号卷积
  • 5. 完整代码

1. 写在前面

为了更好的理解通信原理系列文章,在此补充数字信号处理的部分内容。

2. 连续信号和离散信号

2.1连续信号

连续时间信号,是指自变量的取值范围是连续的。但是从严格意义上来说,MATLAB并不能处理连续信号,而是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
连续信号的示例
在这里插入图片描述

%% 连续信号
t = -5:0.1:5;                       % 时间变量
y = sin(t);                         % 信号
figure(1);                          % 绘制第1幅图
plot(t,y,'LineWidth',2);            % 绘制信号

2.2 离散信号

自变量的取值范围是不连续的信号。
离散信号示例
在这里插入图片描述

%% 离散信号
k = -2:5;                           % 产生-25间隔为1的行向量
sig = [1 2 -4 4 3 5 -2 3];          % 信号
figure(2);                          % 绘制第2幅图
stem(k,sig,'LineWidth',2);          % 绘制信号

3. 常用信号的产生

3.1 单位脉冲序列

单位脉冲序列是最原点处为1,其余处为0的信号。
在这里插入图片描述

% 单位冲激函数
t1=-5:5;                            % 时间变量,-55间隔为1的行向量
y1=(t1==0);                         % t1中等于0的数对应的序号在x的对应位置的数为1,其余为0
figure(3);                          % 绘制第3幅图
stem(t1,y1,'LineWidth',2);          % 单位冲激序列

3.2 单位阶跃序列

单位阶跃序列是大于等于0处值为1,其余为0的信号。
在这里插入图片描述

% 单位阶跃函数
t2=-5:5;                            % 时间变量,-55间隔为1的行向量
y2=(t2>=0);                         % t2中大于等于0的数对应的序号在x的对应位置的数为1,其余为0
figure(4);                          % 绘制第4幅图
stem(t2,y2,'LineWidth',2);          % 单位阶跃序列
hold on;                            % 允许后续的图像在当前窗口绘制
plot(t2,y2,'LineWidth',2);          % 单位阶跃函数
hold off;                           % 不允许后续的图像在当前窗口绘制

3.3 指数函数

指数函数示例
在这里插入图片描述

figure(5);                          % 绘制第5幅图
t3=-3:0.5:3;                        % 时间变量,-33间隔为0.5的行向量
y3=exp(-t3);                        % 指数函数
plot(t3,y3,'LineWidth',2);          % 绘制连续指数函数
hold on;                            % 允许后续的图像在当前窗口绘制
stem(t3,y3,'LineWidth',2);          % 离散指数序列
hold off;                           % 不允许后续的图像在当前窗口绘制

3.4 正弦信号和余弦信号

正弦信号和余弦信号示例
在这里插入图片描述

% 正弦波和余弦波
t4=0:0.01:2*pi;                     % 时间变量,02*pi间隔为0.01的行向量
y4=sin(2*t4);                       % 正弦信号
y5=cos(2*t4);                       % 余弦信号
figure(6);                          % 绘制第6幅图
plot(t4,y4,'-b','LineWidth',2);     % 绘制正弦信号
hold on;                            % 允许后续的图像在当前窗口绘制
plot(t4,y5,'-r','LineWidth',2);     % 绘制余弦信号
legend('正弦信号','余弦信号');      % 图例
hold off;                           % 不允许后续的图像在当前窗口绘制

3.5 sinc函数

sinc函数示例
在这里插入图片描述

% sinc函数
t5=linspace(-10,10,1024);           % 产生-1010,间隔为20/(1024-1)的行向量
figure(7);                          % 绘制第7幅图
sicf=sinc(t5);                      % sinc函数
plot(t5,sicf,'LineWidth',2);        % 绘制sinc信号

3.6 矩形脉冲信号

矩形脉冲信号示例
在这里插入图片描述

% 矩形脉冲信号
t6=-2:0.01:2;                       % 时间变量,-22间隔为0.01的行向量
y6=rectpuls(t6);                    % 矩形脉冲信号
figure(8);                          % 绘制第8幅图
plot(t6,y6,'LineWidth',2);          % 绘制矩形脉冲信号

4. 信号卷积

卷积运算是信号运算中重要的运算,用conv函数实现。
在这里插入图片描述

%% 信号卷积
x=[4,3,2,1];                        % 输入信号
h=[2,5,1];                          % 单位脉冲响应函数
y=conv(x,h);                        % 输出信号
figure(9);                          % 绘制第3幅图
subplot(1,3,1);                     % 将窗口分割成1*3,当前是第1个子图
stem(x,'LineWidth',2);              % 绘制输入信号
title('输入信号x');                 % 标题
subplot(1,3,2);                     % 将窗口分割成1*3,当前是第2个子图
stem(h,'LineWidth',2);              % 绘制单位脉冲响应函数
title('单位脉冲响应函数h');         % 标题
subplot(1,3,3);                     % 将窗口分割成1*3,当前是第3个子图
stem(y,'LineWidth',2);              % 绘制输出信号
title('输出信号y');                 % 标题

5. 完整代码

clear all;                          % 清除所有变量
close all;                          % 关闭窗口
clc;                                % 清屏
%% 连续信号
t = -5:0.1:5;                       % 时间变量
y = sin(t);                         % 信号
figure(1);                          % 绘制第1幅图
plot(t,y,'LineWidth',2);            % 绘制信号

%% 离散信号
k = -2:5;                           % 产生-25间隔为1的行向量
sig = [1 2 -4 4 3 5 -2 3];          % 信号
figure(2);                          % 绘制第2幅图
stem(k,sig,'LineWidth',2);          % 绘制信号

%% 常用信号
% 单位冲激函数
t1=-5:5;                            % 时间变量,-55间隔为1的行向量
y1=(t1==0);                         % t1中等于0的数对应的序号在x的对应位置的数为1,其余为0
figure(3);                          % 绘制第3幅图
stem(t1,y1,'LineWidth',2);          % 单位冲激序列

% 单位阶跃函数
t2=-5:5;                            % 时间变量,-55间隔为1的行向量
y2=(t2>=0);                         % t2中大于等于0的数对应的序号在x的对应位置的数为1,其余为0
figure(4);                          % 绘制第4幅图
stem(t2,y2,'LineWidth',2);          % 单位阶跃序列
hold on;                            % 允许后续的图像在当前窗口绘制
plot(t2,y2,'LineWidth',2);          % 单位阶跃函数
hold off;                           % 不允许后续的图像在当前窗口绘制

% 指数函数
figure(5);                          % 绘制第5幅图
t3=-3:0.5:3;                        % 时间变量,-33间隔为0.5的行向量
y3=exp(-t3);                        % 指数函数
plot(t3,y3,'LineWidth',2);          % 绘制连续指数函数
hold on;                            % 允许后续的图像在当前窗口绘制
stem(t3,y3,'LineWidth',2);          % 离散指数序列
hold off;                           % 不允许后续的图像在当前窗口绘制

% 正弦波和余弦波
t4=0:0.01:2*pi;                     % 时间变量,02*pi间隔为0.01的行向量
y4=sin(2*t4);                       % 正弦信号
y5=cos(2*t4);                       % 余弦信号
figure(6);                          % 绘制第6幅图
plot(t4,y4,'-b','LineWidth',2);     % 绘制正弦信号
hold on;                            % 允许后续的图像在当前窗口绘制
plot(t4,y5,'-r','LineWidth',2);     % 绘制余弦信号
legend('正弦信号','余弦信号');      % 图例
hold off;                           % 不允许后续的图像在当前窗口绘制

% sinc函数
t5=linspace(-10,10,1024);           % 产生-1010,间隔为20/(1024-1)的行向量
figure(7);                          % 绘制第7幅图
sicf=sinc(t5);                      % sinc函数
plot(t5,sicf,'LineWidth',2);        % 绘制sinc信号

% 矩形脉冲信号
t6=-2:0.01:2;                       % 时间变量,-22间隔为0.01的行向量
y6=rectpuls(t6);                    % 矩形脉冲信号
figure(8);                          % 绘制第8幅图
plot(t6,y6,'LineWidth',2);          % 绘制矩形脉冲信号

%% 信号卷积
x=[4,3,2,1];                        % 输入信号
h=[2,5,1];                          % 单位脉冲响应函数
y=conv(x,h);                        % 输出信号
figure(9);                          % 绘制第3幅图
subplot(1,3,1);                     % 将窗口分割成1*3,当前是第1个子图
stem(x,'LineWidth',2);              % 绘制输入信号
title('输入信号x');                 % 标题
subplot(1,3,2);                     % 将窗口分割成1*3,当前是第2个子图
stem(h,'LineWidth',2);              % 绘制单位脉冲响应函数
title('单位脉冲响应函数h');         % 标题
subplot(1,3,3);                     % 将窗口分割成1*3,当前是第3个子图
stem(y,'LineWidth',2);              % 绘制输出信号
title('输出信号y');                 % 标题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/539815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

说说什么是IO多路复用?以及其演进过程。

文章目录 1.阻塞IO模型(BIO)和 非塞IO模型(NIO)2.什么是IO多路复用?3.IO多路复用的演进? 1.阻塞IO模型(BIO)和 非塞IO模型(NIO) 阻塞IO模型(BIO&…

国考省考行测:科学推理,光学,声学

国考省考行测: 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知识点 遇到寒冬&am…

响应式UI组件库Kendo UI for Vue可轻松创建联系表单!

Kendo UI致力于新的开发,来满足不断变化的需求。Kendo UI for Vue使用旨在提高性能和丰富用户体验的Vue组件,帮助开发人员构建下一代应用程序。它是为Vue技术框架提供可用的Kendo UI组件,以便更快地构建更好的Vue应用程序。 联系表单用于在网…

CRM系统的实施要注意什么?

CRM系统的实施要注意什么? 在如今竞争激烈的商业环境中,拥有一个高效的CRM系统已经变成了企业不可或缺的一部分。 这就来讲一讲,在实施CRM过程中需要注意哪些问题。 01 CRM实施要注意哪些问题? 企业在实施CRM时,需…

虹科案例 | 激光测距仪在高温金属冶炼中的应用

Part.01 应用背景 虹科Dimetix激光测距传感器通常用于钢制热轧机,因为它们提供了一种精确的非接触式方法来确定温度过高而无法触摸的材料的位置或尺寸。苛刻的生产工艺和恶劣的环境条件通常超出了依赖于与被测材料接触的传统传感器的能力。虹科Dimetix激光器拥有良…

博客系统后端设计(五) -实现登录页面要求强制登录功能

文章目录 实现页面要求强制登录实现思路1.约定前后端交互接口2.实现后端代码3.修改前端代码 实现页面要求强制登录 当用户访问列表页/详情页/编辑页的时候,要求用户已经是登录的状态了, 如果用户还没登录,就会强制跳转到登录页面。 实现思路…

精通SpringCloud/Boot配置文件在Nacos中的配置

目录 1 什么是nacos? Nacos 地图 Nacos 生态图 2 springcloud中精通Nacos的配置中心 目录结构 日志配置文件 原始的配置文件 使用Nocas对配置文件进行拆分 引用nacos中的配置文件 共享nacos中的配置文件操作 我们使用同样的方法将日志配置提取出来 1 什么是nacos?…

微信过期视频怎么恢复?恢复视频的方法已经给你总结好了!

案例:微信视频过期,已经被清理怎么办? 【朋友之前发的视频过期了,现在怎么都找不到,有什么方法可以恢复回来吗?感谢!】 微信作为一款热门的社交应用程序,允许用户发送和接收照片、视…

搭建Freekan私人影视电影网站,cpolar内网穿透发布上线

文章目录 1.前言2.本地网页搭建2.1 环境使用2.2 支持组件和环境设置2.3 支持组件选和环境设置2.4 网页安装2.5 测试和使用2.6 问题解决 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 转发自CSDNprobezy的文章:使用Cpolarfreekan源码…

MATLAB绘制动画(五)GIF

GIF这个文件大家就比较熟悉了,我们通常当做表情包的动图一般都是用GIF格式。 这是因为GIF格式的文件比较小,传输速度快。 用MATLAB生成GIF图像同样需要将图像保存下来,通过循环展示动画 代码如下: clc; clear; close all; set…

SpringCloud(27. Redis 和 ZK 分布式锁)

上一篇 :26.分布式服务框架Dubbo面试题简析 1. redis 分布式锁 官方叫做 RedLock 算法,是 redis 官方支持的分布式锁算法。这个分布式锁有 3 个重要的考量点: 互斥(只能有一个客户端获取锁)不能死锁容错(…

关于SD webui 部署运行的一些坑

[Bug 1]: RuntimeError: Couldnt install gfpgan 可以先尝试: pip install gfpgan 不过是在虚拟环境venv下的 E:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install gfpgan 如果还是无法安装gfpgan的原因是网络问题,就算已经科学上网…

maven 项目依赖加载不出来

1.依赖加载不出来,查看pom.xml放的位置是否对了 2.1下载mvn到本地,进行解压 2.2新建系统变量MAVEN_HOME,值直接指向安装目录D:\apache-maven-3.9.2 2.3path变量中增加:%MAVEN_HOME%\bin 2.4若仓库位置不在C盘用户下&#xff0…

SpringMVC对请求的处理流程

1.用户发起some.do请求 2.DispatcherServlet中央调度器接收请求some.do,把请求转交给处理器映射器  处理器映射器:SpringMVC框架中的一种对象,框架实现了HandlerMapping接口的类都叫映射器(多个) 处理器映射器的作用:根据请求&a…

Ajax加强(xhr、XML、JSON、xhr上传文件)

文章目录 一、XMLHttpRequest的基本使用1、 使用xhr发起GET请求2、了解xhr对象的readyState属性3、使用xhr发起带参数的GET请求4、查询字符串5、URL编码与解码6、使用xhr发起POST请求 二、数据交换格式1、XML(1)XML和HTML的区别(2&#xff09…

gma 1.1.6 | 2.0.0a1 (2023.05.14) 更新日志

从现在开始,gma 开始同步更新 gma 2 的前期预览版,并与 gma 1 的正式版同步发布。 gma 1.1.6 更新日志 新增 1、添加 3组 新的指北针样式。 修复 1、【map】高分辨栅格数据集内存溢出问题。   添加高分辨率栅格数据集且进行强制数据缩放时 偶现内存…

论文中文翻译——VulCNN An Image-inspired Scalable Vulnerability Detection System

本论文相关内容 论文下载地址——Web Of Science论文中文翻译——VulCNN An Image-inspired Scalable Vulnerability Detection System 文章目录 本论文相关内容前言VulCNN:一种基于图像的可扩展漏洞检测系统作者信息摘要CCS概念关键词ACM参考格式1 引言2 动机3 方…

软考A计划-真题-分类精讲汇总-第十八章(面向对象程序设计)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

CorelDRAW2023最新中文版下载操作教程

CorelDRAW是一个功能强大的矢量绘图工具,也是国内外最流行的平面设计软件之一,它是平面设计和电脑绘画功能为一体的专业设计软件,被广泛应用于平面设计、广告设计、企业形象设计、字体设计、插图设计、工业造型设计、建筑平面图绘制、Web图形…

《终身成长》笔记三——失败挫折的意义

目录 经典摘录 成长型思维方式的人并非感觉不到挫折感,抑郁感,但会很快反应过来,并马上应对 关于能力和成就,我们有很多错误的想法,特别是我们总认为,是那些孤独、聪明的人突然间发明了了不起的东西 思维…