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

发布时间:2024-05-14 12:01

【入门】用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:
【入门】用matlab做数字信号处理(学习记录)_第1张图片
【入门】用matlab做数字信号处理(学习记录)_第2张图片

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

练习1-2:
【入门】用matlab做数字信号处理(学习记录)_第3张图片
【入门】用matlab做数字信号处理(学习记录)_第4张图片
图二对比练习1-1图二

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

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

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

练习1-3:
【入门】用matlab做数字信号处理(学习记录)_第5张图片
【入门】用matlab做数字信号处理(学习记录)_第6张图片
左边白噪声,右边高斯白噪声

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

(二)离散信号

周期序列、单位冲激序列、单位阶跃序列、单边实指数序列、单边复指数序列
练习2-1:
【入门】用matlab做数字信号处理(学习记录)_第7张图片【入门】用matlab做数字信号处理(学习记录)_第8张图片
【入门】用matlab做数字信号处理(学习记录)_第9张图片
练习2-2:
【入门】用matlab做数字信号处理(学习记录)_第10张图片
【入门】用matlab做数字信号处理(学习记录)_第11张图片

(三)离散卷积

练习3-1:矩形脉冲序列和冲激响应的卷积
【入门】用matlab做数字信号处理(学习记录)_第12张图片
【入门】用matlab做数字信号处理(学习记录)_第13张图片

(四)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:任给一传函:在这里插入图片描述
求其单位冲激响应及相应幅频、相频特性
【入门】用matlab做数字信号处理(学习记录)_第14张图片
【入门】用matlab做数字信号处理(学习记录)_第15张图片
【入门】用matlab做数字信号处理(学习记录)_第16张图片

(五)傅里叶变换

练习5-1:对指数序列在这里插入图片描述
进行傅里叶变换并显示其幅频、相频图
【入门】用matlab做数字信号处理(学习记录)_第17张图片
【入门】用matlab做数字信号处理(学习记录)_第18张图片
练习5-2:
用FFT分析信号频率成分,如对由频率为100Hz和200Hz正弦信号构成的信号,在被均值随机噪声污染后,通过FFT分析其频率成分,设采样率为1000Hz
【入门】用matlab做数字信号处理(学习记录)_第19张图片
【入门】用matlab做数字信号处理(学习记录)_第20张图片

(六)DSP

1. 信号分析与可视化

(1)信号预处理

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

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

(2)特征提取:

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

对练习5-1中傅里叶变换后的X,用Signal Analyzer查看其频谱图(在matlab的APP当中)
【入门】用matlab做数字信号处理(学习记录)_第21张图片

2. 简单设计一个滤波器

练习6-1:用fir1函数设计一个滤波器:阶数20、截止频率150Hz、低通、使用Kaiser窗(窗长为阶数+1=21,参数β设为3)
【入门】用matlab做数字信号处理(学习记录)_第22张图片
滤波器幅频特性:
【入门】用matlab做数字信号处理(学习记录)_第23张图片
对原始信号进行滤波处理:
【入门】用matlab做数字信号处理(学习记录)_第24张图片
另:使用Filter Designer APP设计滤波器,设置好相应参数
【入门】用matlab做数字信号处理(学习记录)_第25张图片
并由此生成matlab代码:
【入门】用matlab做数字信号处理(学习记录)_第26张图片

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

(1)调制与解调

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

a. 调幅

【入门】用matlab做数字信号处理(学习记录)_第27张图片
【入门】用matlab做数字信号处理(学习记录)_第28张图片
【入门】用matlab做数字信号处理(学习记录)_第29张图片

b. 调频

【入门】用matlab做数字信号处理(学习记录)_第30张图片
【入门】用matlab做数字信号处理(学习记录)_第31张图片
【入门】用matlab做数字信号处理(学习记录)_第32张图片

c. 调相

【入门】用matlab做数字信号处理(学习记录)_第33张图片
【入门】用matlab做数字信号处理(学习记录)_第34张图片
【入门】用matlab做数字信号处理(学习记录)_第35张图片

(2)采样与恢复

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

a. 采样

【入门】用matlab做数字信号处理(学习记录)_第36张图片
【入门】用matlab做数字信号处理(学习记录)_第37张图片

b. 恢复

【入门】用matlab做数字信号处理(学习记录)_第38张图片
【入门】用matlab做数字信号处理(学习记录)_第39张图片
以上,来自于自己学习过程的记录,希望对您有所帮助!

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号