數字信號處理及MATLAB仿真(4)——量化的其他概念

? ? ? ? 上回書說到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.pswp.cn/diannao/45102.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/45102.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/45102.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

每日刷題(二分圖,二分查找,dfs搜索)

目錄 1.P3853 [TJOI2007] 路標設置 2.P1129 [ZJOI2007] 矩陣游戲 3.P1330 封鎖陽光大學 4.Trees 5.P1141 01迷宮 1.P3853 [TJOI2007] 路標設置 P3853 [TJOI2007] 路標設置 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) 先求出每個路標之間的距離,再二分查找每…

新媒體運營都需要掌握哪些技術?沈陽新媒體運營免費培訓

新媒體運營需要掌握的技術包括內容創作、FAB產品介紹法、用戶運營、社群運營、活動策劃和數據分析。這個崗位在現代社會中的重要性日益突出,隨著互聯網的發展,新媒體已成為人們獲取信息的主要渠道之一,而新媒體運營則是通過各種新媒體平臺進行…

數據庫系統原理練習 | 作業2-第2章關系數據庫(附答案)

整理自博主本科《數據庫系統原理》專業課完成的課后作業,以便各位學習數據庫系統概論的小伙伴們參考、學習。 *文中若存在書寫不合理的地方,歡迎各位斧正。 專業課本: 目錄 一、選擇題 二、填空題 三、簡答題 四、關系代數 1.課本p70頁&…

hive中reverse函數

目錄 前言基本函數介紹實戰 前言 reverse函數,是一個常用的字符串處理函數,很多編程語言都有。最近開發中,遇到一個reverse解決的需求,發現自己尚未總結過,遂補上。 基本函數介紹 SELECT reverse(string_column) FR…

虛擬機安裝Linux CENTOS 07 部署NET8 踩坑大全

首先下載centos07鏡像,建議使用阿里云推薦的地址: https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spma2c6h.25603864.0.0.59b5f5ad5Nfr0X 其實這里就已經出現第一個坑了 centos 07 /usr/lib64/ 的 libstdc.so只支持到19; GLI…

數據湖表格式 Hudi/Iceberg/DeltaLake/Paimon TPCDS 性能對比(Spark 引擎)

當前,業界流行的集中數據湖表格式 Hudi/Iceberg/DeltaLake,和最近出現并且在國內比較火的 Paimon。我們現在看到的很多是針對流處理場景的讀寫性能測試,那么本篇文章我們將回歸到大數據最基礎的場景,對海量數據的批處理查詢。本文…

Java中的線程同步機制有哪些?

Java中的線程同步機制是一套用于協調線程間的數據訪問及活動的機制,該機制用于保障線程安全以及實現這些線程的共同目標。Java平臺提供的線程同步機制主要包括以下幾個方面: 1. 鎖(Lock) 鎖是Java中最基本的線程同步機制之一&am…

飛書、釘釘、企業微信的大模型“三國殺”

文:互聯網江湖 作者:劉致呈 曾經在一次內部的周年會上,字節跳動CEO梁汝波曾表示對飛書和火山引擎的研發投入不低于抖音和TikTok。言下之意,飛書在字節內部的重要性比肩抖音。 業務的重要性從時間上也看得出來,要知道…

靜態時序分析:Leaf Cell(葉單元)

相關閱讀???????靜態時序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 在DC中,leaf cell(葉單元)有時會出現在描述中,例如set_input_delay的-reference_pin選項的參數,就必須是一個端口或…

C# Winform之propertyGrid控件使用詳解和分組設置

PropertyGrid 控件在 WinForms 中是一個非常有用的工具,它允許用戶查看和編輯一個對象的屬性。這個控件非常適合用于配置對話框或任何需要動態顯示對象屬性的地方。下面我會詳細介紹 PropertyGrid 的使用方法和如何對屬性進行分組。 使用詳解 1. 添加 PropertyGri…

《昇思25天學習打卡營第18天|onereal》

RNN實現情感分類 概述 情感分類是自然語言處理中的經典任務,是典型的分類問題。本節使用MindSpore實現一個基于RNN網絡的情感分類模型,實現如下的效果: 輸入: This film is terrible 正確標簽: Negative 預測標簽: Negative輸入: This film…

AI版Siri要明年見,研究表明ChatGPT暫無法取代程序員,Kimi推出瀏覽器插件

ChatGPT狂飆160天,世界已經不是之前的樣子。 更多資源歡迎關注 根據彭博社記者馬克古爾曼的最新消息,蘋果公司今年不會推出全新的Apple Intelligence驅動的Siri,該公司計劃在明年1月開始測試,并在iOS 18.4中才推出正式版本。 此前…

景聯文科技以高質量多模態數據集賦能AI大模型,精準匹配提升模型性能

在人工智能的浪潮中,語料數據如同建筑的基石,其質量、規模和運用策略直接決定了AI模型的表現和應用的廣泛性。 景聯文科技在AI領域深耕多年,打磨了高質量多模態數據集,致力于為不同訓練階段的算法精準匹配高質量數據資源。 3000萬…

STM32中斷(NVIC和EXIT)

CM3 內核支持 256 個中斷,其中包含了 16 個內核中斷和 240個外部中斷,并且具有 256 級的可編程中斷設置。但STM32 并沒有使用CM3內核的全部東西,而是只用了它的一部分。STM32有 76 個中斷,包括16 個內核中斷和 60 個可屏蔽中斷&am…

Dify中的RAG和知識庫

一.RAG 基本架構 當用戶提問 “美國總統是誰?” 時,系統并不是將問題直接交給大模型來回答,而是先將用戶問題在知識庫中進行向量搜索,通過語義相似度匹配的方式查詢到相關的內容(拜登是美國現任第46屆總統…&#xff0…

對比多種方法執行命令行命令

在這兩種方法中,一種是使用argparse模塊來模擬命令行參數的解析,另一種是使用subprocess模塊來直接執行一個命令行命令。下面是對兩種方法的詳細比較: 使用argparse模擬命令行參數 這種方法主要用于在Python腳本內部測試或集成其他使用argp…

深入剖析C++的 “屬性“(Attribute specifier sequence)

引言 在閱讀開源項目源代碼是,發現了一個有趣且特殊的C特性:屬性。 屬性(attribute specifier sequences)是在C11標準引入的。在C11之前,編譯器特有的擴展被廣泛用來提供額外的代碼信息。例如,GNU編譯器&…

AcWing 3587:連通圖 ← dfs(鄰接矩陣 or 鏈式前向星)

【題目來源】https://www.acwing.com/problem/content/3590/【題目描述】 給定一個無向圖和其中的所有邊,判斷這個圖是否所有頂點都是連通的。【輸入格式】 輸入包含若干組數據。 每組數據第一行包含兩個整數 n 和 m,表示無向圖的點和邊數。 接下來 m 行…

Java面試題系列 - 第5天

題目:Java Lambda表達式與Stream API的深度應用 背景說明:Java 8引入了Lambda表達式和Stream API,極大地提升了Java函數式編程的能力,使代碼更簡潔、更易讀。掌握Lambda表達式和Stream API的使用,對于優化數據處理流程…

Qt/C++項目積累: 2.主機監控器 - 2.2 歷史功能實現

修訂歷史: 20240711:初始表設計,采用sqlite 正文: 關于歷史數據存儲,考慮的是用數據庫來完成,目前考慮使用Sqlite和mysql,先用sqlite來實現,設計表過程如下: 機器總覽…