数字信号处理及MATLAB仿真(3)——量化的其他概念

        上回书说到AD转换的两个步骤——量化与采样两个步骤。现在更加深入的去了解以下对应的概念。学无止境,要不断地努力才有好的收获。万丈高楼平地起,唯有打好基础,才能踏实前行。

        不说了,今天咱们继续说说这两个步骤,首先说一下量化吧,我们从上篇文章的程序当中,很明显的可以看出,不管是通过在一段时间内取最小值作为量化电平,还是通过取整函数来进行量化的功能。二者所做出的量化信号与原信号之间都存在着一定的误差。而这个偏差就是我们常称的量化误差。量化误差是指在将模拟信号或连续取值的信号转换为有限个离散值(量化)的过程中,由于量化导致的信号值与原始信号值之间的偏差。简单来说,量化是对连续信号进行近似表示,必然会引入一定的误差。这个误差就是量化误差。当然这个量化误差好像也可以称为量化噪声。

        接下来,看看评估量化系统性能的重要指标之一——量化信噪比(Signal-to-Noise Ratio,SNR)。在将模拟信号转换为数字信号的量化过程中,由于量化的有限精度,不可避免地会引入量化误差,而量化误差可视为一种噪声。量化信噪比定义为信号功率与量化噪声功率的比值,记SNR = 10lg\frac{P_{s}}{P_{n}}。而计算它的公式为 SNR = 6.02N+1.76dB。当然了,这两个形式计算的方差在实际中一定相等吗?理论是否等于实际?还是需要通过MATLAB来简单的看一下。以下是量化信噪比的程序。

%量化信噪比是评估量化系统性能的重要指标之一
%它表示信号功率与量化噪声功率之间的比率
%

close all;
clear all;
clc
Fs = 10000; % 采样频率
t = 0:1/Fs:1; % 时间序列

f = 1000; % 正弦信号频率
signal = sin(2*pi*f*t); % 正弦信号

quantization_level = 2^8;  %ADC的位数为8位,量化电平为2^8。
quantization_signal = round(signal*quantization_level)/quantization_level;
quantization_error = signal- quantization_signal;     %量化噪声

% 计算信号和噪声的功率(能量)
signal_energy = sum(signal.^2)/length(signal); % 信号功率
noise_energy = sum(quantization_error.^2)/length(signal); % 噪声功率

% 计算信噪比(SQNR)
sqnr = 10 * log10(signal_energy / noise_energy);

fprintf('实际量化信噪比(SQNR)= %.2f dB\n',sqnr);

%验证公式:量化噪声的计算公式:SNR=6.02N+1.76dB;N是阶数此处N为8。
%理论值
SNR = 6.02*8+1.76;

fprintf('理论量化信噪比(SQNR)= %.2f dB\n',SNR);

        看看实际与理论的差别。

        这里大家不要我写啥就是啥。可以调高采样率,或者这是修改信号的频率看看,是什么样子的。要学会自己去探索。接下来看几个概念。

        1、量化噪声有什么特点?量化噪声是由于信号在模数转换(A/D转换)过程中产生的误差引入的,具有以下特点:均匀分布: 在理想情况下,量化噪声是均匀分布的,意味着在每个量化间隔内的误差是随机的。量化噪声的功率: 量化噪声的功率与信号的量化级数有关,通常在低频段上具有显著的能量。量化噪声的幅度: 量化噪声的幅度与量化级数相关,通常用均方根误差(RMSE)来度量。

  2、回顾一下量化信噪比的概念。量化信噪比(Signal-to-Noise Ratio, SNR)是指信号的功率与量化噪声的功率之比,通常以分贝(dB)为单位表示。高SNR表示量化过程中噪声较小,信号质量较高。

      3、低通采样和带通采样的差异:低通采样: 在低通采样中,信号在进行采样之前首先通过一个低通滤波器。低通滤波器会去除信号中超过Nyquist频率(采样频率的一半)的高频成分,以防止折叠现象的发生。折叠现象是指高频信号在低采样频率下被错误地表示为低频信号。带通采样: 带通采样是在采样之前使用带通滤波器选择感兴趣的频率带。这种方法用于处理带通信号,只保留特定频率范围内的信号成分。

        4、频率如何通过采样来完成折叠?频率折叠是指在采样过程中,超过Nyquist频率(采样频率的一半)的信号频率被错误地表示为低于Nyquist频率的信号。这是因为在离散时间中,信号的频谱是周期性的。通过适当选择采样率和使用低通滤波器预处理信号,可以避免频率折叠现象的发生。

        好了,今天就说这么多吧,把量化的其他概念说完了。明天继续采样的一些概念。

        欲知后事如何,且听下回分解。OVO.......

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

归并排序的实现(递归与非递归)

概念 基本思想:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使…

一篇文章搞懂qt图形视图框架setRect和setPos函数的意义

setRect()函数 三个坐标系我就不多说了,view原点默认在左上角,scene和item的原点默认都在中心位置。 注意:此函数并不能设置一个item的位置,我的理解是当一个item调用该函数时,会构建一个一个item的坐标系&#xff0c…

秋招提前批面试经验分享(下)

⭐️感谢点开文章👋,欢迎来到我的微信公众号!我是恒心😊 一位热爱技术分享的博主。如果觉得本文能帮到您,劳烦点个赞、在看支持一下哈👍! ⭐️我叫恒心,一名喜欢书写博客的研究生在读…

vue3+antd 实现点击按钮弹出对话框

格式1&#xff1a;确认对话框 按钮&#xff1a; 点击按钮之后&#xff1a; 完整代码&#xff1a; <template><div><a-button click"showConfirm">Confirm</a-button></div> </template> <script setup> import {Mod…

关于Web开发的详细介绍

目录 一、什么是Web&#xff1f; 二、Web网站的工作流程和开发模式 &#xff08;1&#xff09;简单介绍 &#xff08;2&#xff09;工作流程 1、第一步 2、第二步 &#xff08;3&#xff09;Web网站的开发模式 1、前后端分离开发模式 ​编辑2、混合开发模式 三、开发W…

DPDK源码分析之(1)libmbuf模块

DPDK源码分析之(1)libmbuf模块 Author&#xff1a;OnceDay Date&#xff1a;2024年7月2日 漫漫长路&#xff0c;有人对你笑过嘛… 全系列文档可参考专栏&#xff1a;源码分析_Once-Day的博客-CSDN博客 参考文档&#xff1a; DPDK downloadGetting Started Guide for Linux…

业界数据架构的演变

目录 一、概述 二、业务处理-单体架构 三、业务处理-微服务架构 四、数据分析-大数据Lambda架构 五、数据分析-Kappa架构 六、数据分析-LambdaKappa混合架构 七、湖仓一体架构 一、概述 近年来随着越来越多的大数据技术被开源&#xff0c;例如&#xff1a;HDFS、Spark等…

最小表示法

#define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.h> using namespace std;const int N (int)3e5 5; int n; int a[N * 2];int main() {cin >> n;for (int i 0; i < n; i) {cin >> a[i];a[i n] a[i]; // 构造成链}int l 0, r 1; // 一开始 r …

进入防火墙Web管理页面(eNSP USG6000V)和管理员模块

1、进入防火墙Web管理页面 USG系列是华为提供的一款高端防火墙产品&#xff0c;其特点在于提供强大的安全防护能力和灵活的扩展性。 以eNSP中的USG6000为例&#xff1a; MGMT口&#xff08;web管理口&#xff09;&#xff1a;对应设备上的G0/0/0口&#xff0c;上面初始配有一…

算法-常见数据结构设计

文章目录 1. 带有setAll功能的哈希表2. LRU缓存结构3. O(1)时间插入删除随机(去重)4. O(1)时间插入删除随机(不去重)5. 快速获取数据流中的中位数6. 最大频率栈7. 全O(1)结构8. LFU缓存结构 本节的内容比较难, 大多是leetcodeHard难度级别的题目 1. 带有setAll功能的哈希表 哈希…

QCustomPlot+ vs2022+ qt

零、printSupport 步骤一&#xff1a;下载QCustomPlot 访问QCustomPlot的官网 QCustomPlot 下载最新版本的源代码。 步骤二&#xff1a;配置项目 创建新的Qt项目&#xff1a; 打开VS2022&#xff0c;创建一个新的Qt Widgets Application项目。 将QCustomPlot源代码添加到项目…

集合复习(java)

文章目录 Collection 接口Collection结构图Collection接口中的方法Iterator 与 Iterable 接口Collection集合遍历方式迭代器遍历增强 for 遍历 List&#xff08;线性表&#xff09;List特有方法ArrayList&#xff08;可变数组&#xff09;ArrayList 底层原理ArrayList 底层原理…

【UML用户指南】-30-对体系结构建模-模式和框架

目录 1、机制 2、框架 3、常用建模技术 3.1、对设计模式建模 3.2、对体系结构模式建模 用模式来详述形成系统体系结构的机制和框架。通过清晰地标识模式的槽、标签、按钮和刻度盘 在UML中&#xff0c; 对设计模式&#xff08;也叫做机制&#xff09;建模&#xff0c;将它…

前端技术(三)—— javasctipt 介绍:jQuery方法和点击事件介绍(补充)

6. 常用方法 ● addClass() 为jQuery对象添加一个或多个class <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&…

Efficient Contrastive Learning for Fast and Accurate Inference on Graphs

发表于:ICML24 推荐指数: #paper/⭐⭐⭐ 创新点一颗星,证明三颗星(证明的不错,值得借鉴,但是思路只能说还行吧) 如图, 本文采取的创新点就是MLP用原始节点,GCN用邻居节点的对比学习.这样,可以加快运算速度 L E C L − 1 ∣ V ∣ ∑ v ∈ V 1 ∣ N ( v ) ∣ ∑ u ∈ N ( v )…

汇聚荣拼多多电商的技巧有哪些?

在电商平台上&#xff0c;汇聚荣拼多多以其独特的商业模式和创新的营销策略吸引了大量消费者。那么&#xff0c;如何在这样一个竞争激烈的平台上脱颖而出&#xff0c;成为销售佼佼者呢?本文将深入探讨汇聚荣拼多多电商的成功技巧。 一、精准定位目标客户群体 首先&#xff0c;…

Android增量更新----java版

一、背景 开发过程中&#xff0c;随着apk包越来越大&#xff0c;全量更新会使得耗时&#xff0c;同时浪费流量&#xff0c;为了节省时间&#xff0c;使用增量更新解决。网上很多文章都不是很清楚&#xff0c;没有手把手教学&#xff0c;使得很多初学者&#xff0c;摸不着头脑&a…

【Threejs进阶教程-优化篇】4.Vue/React与threejs如何解决冲突和卡顿(续)

Vue/React与threejs如何解决冲突和卡顿-续 使用说明核心思路环境搭建(vuethree)vue运行机制分析业务分离使用threejs做背景 3D模块封装使用ES6的Class来让逻辑性更强Threejs尽量按需引入创建一个类扩展写法本次代码执行顺序 扩展内容添加orbitControls和辅助线解决事件覆盖 与V…

MUX VLAN实现二层流量的弹性管控

一、模拟场景&#xff0c;企业有一台服务器&#xff0c;部门A&#xff0c;部门B&#xff0c;访客 二、要求&#xff1a;三者都可以访问服务器&#xff0c;部门A和B可以进行部门内部通信&#xff0c;A和B不可以通信&#xff0c;访客只能访问服务器 三、拓扑如下图 四、配置流程…

UE5 05-利用 timeline 插值运动

理解成 unity Dotween DoMove 插值运动即可 AddTimeLine 节点 物体插值运动 物体插值缩放 一个timeline 可以K多个动画帧