数字信号的产生与检测——DSP学习笔记六

ops/2024/9/23 3:16:19/

本专栏的博客的图片大部分来源于老师的PPT,本博客只是博主对于上课内容的知识结构的分析和梳理。

  • 几种数字信号的产生

    • 正弦波信号

      • 多项式逼近(除了泰勒展开,还有一种方法是切比雪夫逼近法,感兴趣可以自己去了解一下)

      • 查找表

        • 核心思想:使用相位信息来产生周期波形

        • 生成一个周期(𝟐𝝅)波形的数据采样样本,并预先存储

        • 以固定步长Δ读取这些存储的样本,从而得到输出频率为𝑓的数字正弦波(对于想要产生的频率为𝑓的正弦波第𝑛个样本,其对应的样本列 表地址为:𝑘 =( 𝑚 + 𝑛Δ) mod N(m为初始相位)如果Δ不是整数,那么就要舍入或插值

    • 线性调频信号

      • 在频率𝑓L和𝑓U之间,瞬时频率𝑓随时间𝑛发生线性变化。(通过MATLAB代码的chirp函数可以实现该功能)一个例子:

        • 拓展:短时傅里叶变换,通过它可以得到信号频率随时间变化的信息
    • (伪)随机数

      • 线性同余法

      • 线性反馈移位寄存序列

    • 双音多频(DTMF)信号

      • DTMF信令是语音通信控制的基础,用于现代电话通讯中拨打号码; 语音邮件、电子邮件、电话银行等系统

      • DTMF信号的生成

        • • 由2个正弦波(即音调)组成
        • • 频率取自两个互斥的组,一低一高

        • • 8个频率值经过精心挑选

        • • 没有一个是其它任意一个的倍数

        • • 任意两个的和或差,都不等于其它任意一个(防止接收器将任何谐波误判为其它DTMF频率)

  • 双音多频信号的检测

    • 基本原则

      • • 检查所有8种频率的接收信号能量

      • • 确定是否存在合法的DTMF频率对

      • 有基于DFT的检测方法和基于Goertzel算法两种检测方法

    • Goertzel算法

      • 核心思想:利用两极点IIR滤波器计算DFT值,快速高效地提取频谱信息

      • 操作步骤1.将DFT值表示成滤波器输出(将𝑋[𝑘]的计算转换为线性滤波器操作);2. 我们只需关注𝑋 𝑘1 , ⋯ , 𝑋[𝑘8]等8个频率点,即:只需考虑𝑥[𝑛]通过ℎ𝑘1 , ⋯ , ℎ𝑘8等8个滤波器之后在时刻𝑛 = 𝑁的输出。3.考虑𝑋[𝑘] 的高效计算,即𝑥[𝑛]通过滤波器ℎ𝑘 𝑛 后在时刻𝑛 = 𝑁的输出。

      • 例子:

    • 实现考虑


http://www.ppmy.cn/ops/30263.html

相关文章

Django知识点总结

因为最近在搞一个Python项目,使用的Django框架。所以快速学习了一下这个web框架。并做一些总结。 Django官网的介绍:Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Built by experience…

关于apache+php用户验证

一.直接在apache配置配置用户信息 1.apache配置可以参考外部文档 https://developer.aliyun.com/article/507049 2.上面配置好在php获取用户信息(登录apache会拦截) $userName $_SERVER[PHP_AUTH_USER];$password $_SERVER[PHP_AUTH_PW]; 二.上面直…

【PyTorch与深度学习】4、PyTorch的Dataset与DataLoader详细使用教程

课程地址 最近做实验发现自己还是基础框架上掌握得不好,于是开始重学一遍PyTorch框架,这个是课程笔记,这个课还是讲的简略,我半小时的课听了一个半小时。 1. Dataset与DataLoader Dataset类是处理单个训练样本的,也就…

人工智能_大模型044_模型微调004_随机梯度下降优化_常见损失计算算法_手写简单神经网络_实现手写体识别---人工智能工作笔记0179

然后对于,梯度下降,为了让训练的速度更好,更快的下降,又做了很多算法,可以看到 这里要知道Transformer中最常用的Adam 和 AdamW这两种算法. 当然,这些算法都是用于优化神经网络中的参数,以最小化损失函数。下面我会尽量以通俗易懂的方式解释它们的原理和适用场景。 1. **L-…

JAVA:jsp+springboot 配置maven兼容版本

Java17 maven依赖&#xff1a;如果中央库和其他镜像找不到包&#xff0c; 可以访问下面的网址找替代包 <!-- Maven Repository: Search/Browse/Explore (mvnrepository.com) -->spring-boot版本号3.2.51.无需配置驱动&#xff0c;有内置数据库驱动 2.能自动扫描配置类。b…

欧拉回路(leetcode 重新安排行程)

先学习一下欧拉回路是怎么一回事。 对于图中这七个节点&#xff0c;从节点1出发&#xff0c;最终要到达节点1&#xff0c;并且每条路只能走一次&#xff0c;且每条路都得走过一次。 使用dfs&#xff0c;如果算法按照字典序的排列方式选择下一个节点。 第一部分&#xff1a;那…

分布式WEB应用中会话管理的变迁之路

优质博文&#xff1a;IT-BLOG-CN Session一词直译为“会话”&#xff0c;意指有始有终的一系列动作&#xff0f;消息。Session是Web应用蓬勃发展的产物之一&#xff0c;在Web应用中隐含有“面向连接”和“状态保持”两个含义&#xff0c;同时也指代了Web服务器与客户端之间进行…

C++ 智能指针

智能指针是针对内存泄漏的问题进行处理。 场景1 我们写一个模拟除法函数&#xff0c;调用一下。该函数会对除数为0的情况抛异常&#xff1a; #include<iostream> using namespace std;double chu(int a, int b) {if (b 0){throw invalid_argument("除数不能为0&a…