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

news2024/9/9 7:29:34

        上回书说到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.coloradmin.cn/o/1918831.html

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

相关文章

stm32学习笔记---MPU6050(理论部分)

目录 MPU6050简介 MPU6050参数 硬件电路 MPU6050框图 PS产品说明书和RM寄存器映像手册 PS产品说明书 RM寄存器映像 采样频率分频器 配置寄存器 陀螺仪配置寄存器 加速度计配置寄存器 数据寄存器 电源管理寄存器1 电源管理寄存器2 器件ID号 声明:本专…

css实现左右两端,并且对齐

<div class"card-header"><span>就诊人管理</span><el-button class"button" type"primary" >添加就诊人</el-button></div>.card-header {display: flex; //实现两端justify-content: space-between; //侧…

计算机基础 进制转化

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️运维工程师的职责&#xff1a;监…

AMEYA360:类比半导体三款车规级新品介绍

类比半导体三款全新车规级智能驱动芯片——HD70504与HD70804四通道高边驱动、HD7004低导通电阻高边驱动以及DR8112直驱马达驱动芯片介绍&#xff0c;进一步扩展了其汽车智能驱动产品的深度与广度。 新品首发&#xff0c;诠释“芯”动未来 HD70504 & HD70804四通道高边驱动芯…

Windows电脑安装Python结合内网穿透轻松搭建可公网访问私有网盘

文章目录 前言1.本地文件服务器搭建1.1.Python的安装和设置1.2.cpolar的安装和注册 2.本地文件服务器的发布2.1.Cpolar云端设置2.2.Cpolar本地设置 3.公网访问测试4.结语 前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言&#xff0c;在自己的电脑上搭建…

【Spring Boot】Spring原理:Bean的作用域和生命周期

目录 Spring原理一. 知识回顾1.1 回顾Spring IOC1.2 回顾Spring DI1.3 回顾如何获取对象 二. Bean的作用域三. Bean的生命周期 Spring原理 一. 知识回顾 在之前IOC/DI的学习中我们也用到了Bean对象&#xff0c;现在先来回顾一下IOC/DI的知识吧&#xff01; 首先Spring IOC&am…

【GC 垃圾回收算法和回收器】

作者&#xff1a;ofLJli 链接&#xff1a;https://juejin.cn/post/7003213289425633287?searchId20240709085629749958B21D886D4E67D4 来源&#xff1a;稀土掘金 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 概述 在JVM中主要的结构为&…

电脑桌面文件不见了怎么恢复?需要了解的5个知识和恢复方法!

电脑桌面文件不见了怎么恢复&#xff1f;电脑文件千万条&#xff0c;数据恢复第一条。 当我们发现电脑文件丢失时&#xff0c;切勿着急&#xff0c;只要没有做二次覆盖&#xff0c;丢失的文件还是有机会找回来的。本文整理了电脑误删文件的恢复方法&#xff0c;并提供了一些列…

ZGC在三色指针中的应用

ZGC基于颜色指针的并发处理算法 ZGC初始化之后&#xff0c;整个内存空间的地址视图被设置为Remapped&#xff0c;当进入标记阶段时的视图转变为Marked0&#xff08;也称为M0&#xff09;或者Marked1&#xff08;也称为M1&#xff09;&#xff0c;从标记阶段结束进入转移阶段时…

社区团购小程序源码系统 带完整的安装代码以及搭建部署教程

系统概述 在这个数字化时代&#xff0c;线上活动成为了连接用户与组织者的桥梁。为了满足不同场景的需要&#xff0c;开发一个灵活、可定制的在线活动报名表单小程序显得尤为重要。本文将深入介绍一个自定义在线活动报名表单小程序的源码系统&#xff0c;并提供详细的搭建部署…

sublime中无法找到Package Control或Install Package

在Crtl Shift P 中无法查找到Package Control或Install Package或调用产生报错。 可以尝试在 首选项 ---- > 设置中 检查配置文件"ignored_packages":紧跟的中括号中是否为空&#xff0c;如果不为空请删除其中内容。 如果不确定内容&#xff0c;可以用下面的…

VScode代码对齐快捷键

解决复制过来代码对齐格式问题。 左对齐&#xff1a;Ctrl[ 右对齐&#xff1a;Ctrl]

从零开始做题:logtime

题目 给出1个pcapng文件 解题 wireshark打开题目流量包&#xff0c;在TCP流中发现flag.zip压缩包流量&#xff0c;将flag.zip提取到本地&#xff0c;解压的过程中需要解压密码&#xff0c;接着观察流量 import pyshark import re pcapFilePath logtime.pcapng pcapFilter…

C++基础(十七):模板进阶

前面我们学习过模板&#xff0c;这一节我们对模板进行进阶的学习。 目录 一、非类型模板参数 二、类模板的特化 2.1 概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 2.3.2 偏特化 三、模板的分离编译 3.1 什么是分离编译 3.2 模板的分离编译 3.3 解决方法 3.…

医院人员管理系统03_下午:C3P0连接池,完成简单的增删改查

文章目录 什么是C3P0项目目录Students.javaC3P0Conn.javaStuDao.java套路代码 什么是C3P0 C3P0连接池要比jdbc更简单&#xff0c;dao层写方法就能看出来 项目目录 Students.java 没有变&#xff0c;直接是jdbc的实体类 跳转我的上一篇文章查看实体类代码 C3P0Conn.java 这…

AmazonS3部署以及nacos配置参数

AmazonS3部署 因为涉及到做的需求的头像的处理&#xff0c;所以需要去找头像的来源&#xff0c;没想到又是我们的老熟人&#xff0c;AmazonS3&#xff0c;巧了已经是第二次用了&#xff0c;上次我是用的别人的工具类去干的&#xff0c;这一次我这边自己编辑具体工具类型。 对应…

敏捷专家CSM认证培训内容概述(附2024年开班时间表)

敏捷专家CSM认证培训是专为希望在Scrum项目中担任Scrum Master角色的个人而设计的专业培训。CSM认证&#xff0c;全称Certified Scrum Master&#xff0c;是敏捷开发领域中备受认可的证书&#xff0c;由Scrum Alliance颁发。以下是对敏捷专家CSM认证培训的详细介绍&#xff1a;…

solidity实战练习1

//SPDX-License-Identifier:MIT pragma solidity ^0.8.24; contract PiggyBank{constructor()payable{emit Deposit(msg.value);//触发事件1//意味着在部署合约的时候&#xff0c;可以向合约发送以太币&#xff08;不是通过调用函数&#xff0c;而是直接在部署合约时发送&#…

JAVA中的回溯算法解空间树,八皇后问题以及骑士游历问题超详解

1.回溯算法的概念 回溯算法顾名思义就是有回溯的算法 回溯算法实际上一个类似枚举的搜索尝试过程&#xff0c;主要是在搜索尝试过程中寻找问题的解&#xff0c;当发现已不满足求解条件时&#xff0c;就“回溯”返回&#xff0c;尝试别的路径。回溯法是一种选优搜索法&#xff…

Python 神器:wxauto 库——解锁微信自动化的无限可能

&#x1f4dd;个人主页&#x1f339;&#xff1a;誓则盟约 ⏩收录专栏⏪&#xff1a;机器学习 &#x1f921;往期回顾&#x1f921;&#xff1a;“探索机器学习的多面世界&#xff1a;从理论到应用与未来展望” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f…