【入门】用matlab做数字信号处理(学习记录)

  • 一、学会使用matlab
    • (一)DSP常用操作指令使用
    • (二)脚本、函数文件等的编写、引用学习
  • 二、DSP仿真试验
    • (一)常见连续信号
      • 1. 周期信号:正弦信号、连续方波等
      • 2. 非周期信号:指数信号、阶跃信号、取样函数、非周期方波等
      • 3. 随机信号:rand白噪声、randn高斯白噪声
      • 4. 锯齿波函数x=sawtooth(:,1)、三角波函数x=sawtooth(:,0.5)、非周期三角波x= tripuls(t,:);
    • (二)离散信号
    • (三)离散卷积
    • (四)LTI系统
      • 1. 因果LTI系统的零状态响应:
      • 2. 幅频响应和相频响应曲线:
    • (五)傅里叶变换
    • (六)DSP
      • 1. 信号分析与可视化
        • (1)信号预处理
        • (2)特征提取:
      • 2. 简单设计一个滤波器
      • 3. 补充(参考信号与系统实验指导)
        • (1)调制与解调
          • a. 调幅
          • b. 调频
          • c. 调相
        • (2)采样与恢复
          • a. 采样
          • b. 恢复

一、学会使用matlab

(一)DSP常用操作指令使用

推荐一个B站up主的入门教程,简单易懂:
链接: https://space.bilibili.com/24014925/channel/detail?cid=12575.

(二)脚本、函数文件等的编写、引用学习

根据教学视频,对matlab进行基本的使用练习,包括:

(1) 变量的使用;

(2) 矩阵和矩阵的基本运算,脚本的编写;

(3) Fprintf()函数的使用,if语句的使用和相关例子;

(4) while循环和for循环;

(5) 脚本和函数的区别,函数参数、返回值及实例练习;

画图:二维plot()、三维plot3()、柱状图bar()、添加标题、x-y轴标签、多窗口subplot()、三维曲面以及用matlab做简单的动画

二、DSP仿真试验

(程序编写过程中某些非必要语句是对一些操作指令的练习)

(一)常见连续信号

1. 周期信号:正弦信号、连续方波等

练习1-1:

2. 非周期信号:指数信号、阶跃信号、取样函数、非周期方波等

练习1-2:


图二对比练习1-1图二

3. 随机信号:rand白噪声、randn高斯白噪声

白噪声与高斯白噪声的概念:

白噪声:功率谱密度在整个频域内是常数的噪声;高斯白噪声:瞬时值服从高斯分布的白噪声(概率密度为正态分布),热噪声等。

练习1-3:


左边白噪声,右边高斯白噪声

4. 锯齿波函数x=sawtooth(:,1)、三角波函数x=sawtooth(:,0.5)、非周期三角波x= tripuls(t,:);

(二)离散信号

周期序列、单位冲激序列、单位阶跃序列、单边实指数序列、单边复指数序列
练习2-1:


练习2-2:

(三)离散卷积

练习3-1:矩形脉冲序列和冲激响应的卷积

(四)LTI系统

1. 因果LTI系统的零状态响应:

用函数y = filter(num,den,x)实现,其中

num:系统传递函数分子系数组成的行向量;

den:系统传递函数分母系数组成的行向量;

x:输入的离散序列;y:输出的离散序列。

2. 幅频响应和相频响应曲线:

用函数freqz(num,den,n,Fs),其中

num与den同上;

n:频率响应的点数(2的幂)默认值512;

Fs:采样频率

练习4-1:任给一传函:
求其单位冲激响应及相应幅频、相频特性


(五)傅里叶变换

练习5-1:对指数序列
进行傅里叶变换并显示其幅频、相频图


练习5-2:
用FFT分析信号频率成分,如对由频率为100Hz和200Hz正弦信号构成的信号,在被均值随机噪声污染后,通过FFT分析其频率成分,设采样率为1000Hz

(六)DSP

1. 信号分析与可视化

(1)信号预处理

清洗脏数据:提高信噪比、去除不需要的信号、条件信号

重采样信号、信号对齐、异常值&缺失数据、去除噪声或不需要的频率部分

(2)特征提取:

时域、频谱分析、时频分析,使用Signal Analyzer探查信号并进行时频分析

对练习5-1中傅里叶变换后的X,用Signal Analyzer查看其频谱图(在matlab的APP当中)

2. 简单设计一个滤波器

练习6-1:用fir1函数设计一个滤波器:阶数20、截止频率150Hz、低通、使用Kaiser窗(窗长为阶数+1=21,参数β设为3)

滤波器幅频特性:

对原始信号进行滤波处理:

另:使用Filter Designer APP设计滤波器,设置好相应参数

并由此生成matlab代码:

3. 补充(参考信号与系统实验指导)

(1)调制与解调

用modulate(x,fc,fs,’method’,opt)与demod(x,fc,fs,’method’,opt)函数进行调制和解调。以正弦信号x(n)=sin(2πn/256)为例,载波频率1000Hz,抽样频率10000Hz

a. 调幅



b. 调频



c. 调相



(2)采样与恢复

对有限时宽信号x(t)=sin(0.2πt),0≤t≤10,采样间隔Ts=1

a. 采样


b. 恢复



以上,来自于自己学习过程的记录,希望对您有所帮助!

【入门】用matlab做数字信号处理(学习记录)相关推荐

  1. 数字信号处理matlab心得,数字信号处理学习心得体会3篇

    <数字信号处理>是我们通信工程和电子类专业的一门重要的专业基础课程,主要任务是研究数字信号处理理论的基本概念和基本分析方法,通过建立数学模型和适当的数学分析处理,来展示这些理论和方法的实际 ...

  2. 对时域连续信号用matlab离散,数字信号处理上机实验一 离散时间信号的时域分析...

    实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...

  3. 基于matlab的心电信号处理毕业论文,浅议仿真基于MATLAB的“数字信号处理”仿真实验毕业论文范文...

    论文导读:),通过扬声器可以听到"重庆邮电大学,重庆邮电大学"声音,对原始语音信号进行FFT 频谱分析,程序关键代码如下: figure: t=(0:length(x)-1)/Fs ...

  4. matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...

    西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 6A-205实验时间 :年月日学 生 姓 名学号成 绩学生所在学院电气信息学院年级/专业/班课 程 名 称数字信号处理课 程 代 码实验项目 ...

  5. matlab数字信号处理实验报告,【实验设计论文】Matlab的数字信号处理课程实验设计(共3490字)...

    摘要:本文设计了一个基于Matlab的"数字信号处理"课程综合性实验.该实验把"数字信号处理"课程中的许多离散的知识点串接了起来,包括采样.量化.滤波器设计.滤 ...

  6. matlab fftshift_数字信号处理没有Matlab?用Python一样很爽

    通常,在数字信号处理时,我们避不开matlab这个工具,因其它的强大的功能受到广大工程师的好评,也一直都是业界的不二之选.但是,matlab毕竟是商业软件,公司里如果使用的话,就需要支付高昂的费用.即 ...

  7. 平面设计入门新手怎么做数字线条海报设计

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 平面设计入门新手怎么做数字线条海报设计?来吧,今天我们就来一起制作一张渐变线条数字的海报吧. 教程步骤 打开Ai新建 ...

  8. 用MATLAB绘制国债NSS模型,Matlab在数字信号处理中的运用.ppt

    <Matlab在数字信号处理中的运用.ppt>由会员分享,可在线阅读,更多相关<Matlab在数字信号处理中的运用.ppt(68页珍藏版)>请在装配图网上搜索. 1.第七讲 M ...

  9. matlab x(n)16点DFT,[基于MATLAB的数字信号处理实例分析.doc

    [基于MATLAB的数字信号处理实例分析 湖北文理学院理工学院 学生结业论文 课程名称:MATLAB教程 结业论文名称:基于MATLAB的数字信号处理实例分析 专业名称:通信工程 班级:1011 学号 ...

  10. MATLAB与数字信号处理——常用序列的MATLAB实现

    常用序列的MATLAB实现 单位抽样序列 单位阶跃序列 矩形序列 实指数序列 复指数序列 正余弦序列 随机序列 周期序列 简单复制 用求余数的方法(模运算) 说明 常用序列的MATLAB实现 单位抽样 ...

最新文章

  1. 软件开发环境包含的内容
  2. (Oracle学习笔记) sql语言
  3. 课时 21:Kubernetes 存储架构及插件使用(阚俊宝)
  4. 转载:指定浏览器打开指定的网页
  5. Ansible 安装和入门
  6. Hadoop的HA机制
  7. mysql常规使用(建立,增删改查,视图索引)
  8. 网站调用百度地图 根据地址查询经纬度
  9. linux php7 composer,Linux 系统 Composer 安装
  10. 下岗职工能不能提前退休?怎样才能提前退休?
  11. 面向对象 —— 结构与设计
  12. Android Studio导入项目运行出现大量警告,且报错GC,解决办法
  13. 重复类发展手法_正确护肤手法图解!
  14. 30天自己制作操作系统中二进制编辑器BZ-1621
  15. 自制QQ机器人插件笔记[nonebot2部署于ubuntu系统服务器]
  16. 图形面积用计算机软件计算方法,AutoCAD2018如何算面积 计算图形面积教程
  17. java个人网站源码下载_创建一个基于JAVA的个人网站(有源码也行)
  18. 第三方广告平台admob聚合接入过程
  19. 香农-范诺算法(Shannon-Fano coding)算法
  20. php 使用alert,php中alert函数的用法

热门文章

  1. 数据库知识与技巧日常汇总
  2. 11种服务器编程语言对比(附游戏服务器框架) 2020.06
  3. 【ceph】vdbench的使用教程——裸盘测试和文件系统测试vdbanch
  4. quartz之动态定时器实现
  5. fh 幅频特性曲线怎么画fl_开环幅相频率特性曲线和对数相频特性曲线的完整画法...
  6. 单片机STM8S测量电压电路_50个单片机晶振问题及解决方法小结
  7. Matlab电气课程设计,电气工程课程设计——基于Matlab异步电动机调速系统设计
  8. 安装使用FLTK图形库
  9. FLTK--轻量级C++跨平台GUI库
  10. ADS仿真学习:s2p文件导入ADS