python numpy 分離與合并復數矩陣實部虛部的方法

在進行數字信號處理的過程中,我們往往有對短時傅里葉變換頻譜(spectrogram)進行分析的需求。常見的分析手段對應歐拉公式分為兩種,要么使用模與相位的形式,要么使用實部虛部。本文分享一個簡單的將復數光譜圖分解為實部與虛部以及將兩個部分重新合并為一個復數矩陣的過程,以下為python代碼。

import numpy as np
import librosa# load the original wav
test_wave, _ = librosa.load("../RecFile_1_20200617_153719_Sound_Capture_DShow_5_monoOutput1.wav", sr=44100)
# calculate the complex spectrogram stft
spectrogram_test_wav = librosa.stft(test_wave, n_fft=735*2, win_length=735*2, hop_length=735)# calculate the real part of the spectrogram
real_spectrogram = spectrogram_test_wav.real
# calculate the imaginary part of the spectrogram
imaginary_spectrogram = spectrogram_test_wav.imag# combine these two parts
reconstruction_spectrogram = real_spectrogram + 1j * imaginary_spectrogram
print(np.array_equal(spectrogram_test_wav, reconstruction_spectrogram))

其中librosa庫為常用的音頻處理庫。上述代碼實現了對wavfile進行短時傅里葉變換,分離出實部虛部并重新合并的過程。最終的輸出為True, 證明了經過這些步驟過后,重構的復數矩陣與初始的光譜圖是一致的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386805.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386805.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386805.shtml

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

相關文章

flowable 任務節點多實例使用

我們在使用Flowable 工作流引擎的時候,最常用的肯定是任務節點,因為在OA系統、審批系統、辦公自動化系統中核心的處理就是流程的運轉,在流程運轉的時候,可能我們有這樣的一個需求,在一個任務節點的時候,我們…

LeetCode Range Sum Query Immutable

2131231轉載于:https://www.cnblogs.com/ZHONGZHENHUA/p/10873807.html

如何使用python導入mat格式的數據并整理

mat格式是一般而言的matlab數據的存儲格式,對于經常要混用matlab和python的數據處理相關的問題,我們往往需要將matlab中的數據導入至python,本文給出了相關的方法。 from scipy.io import loadmat import numpy as npdict_mat loadmat(&quo…

Java靜態類使用 使用 service

Springboot中如果希望在Utils工具類中,使用到我們已經定義過的Dao層或者Service層Bean,可以如下編寫Utils類: 1. 使用Component注解標記工具類StatisticsUtils: 2. 使用Autowired(Autowired和Resource的區別不再介紹)注入我們需…

Codeforces 1144D Deduction Queries 并查集

Deduction Queries 用并查集維護前綴的關系&#xff0c; 在同一個聯通塊內兩兩之間的異或值都是已知的。 每個點再維護一個和它當前父親的異或值&#xff0c; 壓縮路徑的時候更新一下就好了。 #include<bits/stdc.h> #define LL long long #define LD long double #defin…

python一步將npy數據保存成mat

import scipy.io as io io.savemat("dataname.mat", {data: npy_data})使用scipy庫中的io模塊&#xff0c;只需一步就可以將npy矩陣保存為mat格式文件&#xff0c;第一個參數是保存路徑&#xff0c;第二個參數需要輸入一個字典&#xff0c;data鍵對應需要保存的數據。…

docker oracle 11g

話不多說 開始記錄docker拉取阿里的oracle11g 鏡像并進行配置&#xff0c; 用pl/sql 可以登錄為最終結果 navicat連接是在最后一步 這是我們所需要進行拉取oracle鏡像的樓主所給出的說明 參考&#xff1a;https://blog.csdn.net/zwx521515/article/details/77982884 但是根…

Linux的目錄結構

Linux文件系統是呈樹形結構&#xff0c;了解Linux文件系統的目錄結構&#xff0c;對于我們駕馭Linux還是有必要的。 目錄 說明 / Linux文件系統的入口&#xff0c;也是處于最高一級的目錄 /bin 基本系統所需要的命令。功能和/usr/bin類似&#xff0c;這個目錄中的文件都是…

npy一維數組如何對給出的索引進行反選

本文主要解釋了如何根據給定的索引對一維數組進行反選的操作。 以下文數據為例 import numpy as np data np.array([ 0.93825827, 0.26701143, 0.99121108, 0.35582816, 0.90154837, 0.86254049, 0.83149103, 0.42222948, 0.27309625, 0.38925281] )如果我們給定一個閾值…

一文看懂卷積神經網絡CNN的核心

在之前&#xff0c;我總結了關于計算機神經網絡與梯度下降的核心&#xff0c;詳見下文鏈接 : 一文看懂計算機神經網絡與梯度下降 本文主要會對圖像相關的機器學習中最為重要的網絡&#xff0c;卷積神經網絡作個人的理解分析。 1. 為什么要使用卷積神經網絡 在講述原理之前&am…

[LeetCode] Two Sum

一刷&#xff1a; import java.util.Arrays;public class Solution1 { public int[] twoSum(int[] nums, int target) {int[] indexnew int[2];int sum0;for (int i 0; i < nums.length; i) {for (int j i1; j < nums.length; j) {sumnums[i]nums[j];index[0] i;index[…

docker 安裝 oracle 11g

1.準備docker環境&#xff1b; 2. docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g --pull 鏡像&#xff08;6個多G&#xff09; 3.docker run -d -p 1521:1521 -v /data/oracle:/data/oracle --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin…

機器學習理論梳理2 : KNN K近鄰分類模型

本文主要梳理KNN&#xff0c;K近鄰模型的基本原理。 從機器學習的大分類來看&#xff0c;K近鄰模型屬于監督學習中的一種判別式模型&#xff0c;常用于分類問題。初始的數據集中&#xff0c;包含了已經分類標簽好的數據。一句話來說&#xff0c;K近鄰模型就是通過計算實例與現…

docker安裝配置gitlab詳細過程

1、方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2、方法二 如果服務器網路不好或者pull不下來鏡像&#xff0c;只能在其它網路比較好的機器上pull下來鏡像&#xff0c;導出成一個文件&#xff0c; 再下載上傳到網路不好的機器上&#xff0c;然后再從文件中導出來&am…

集合對偶律:分別用圖文證明

集合幾個法則&#xff1a; 求證&#xff1a; 注&#xff1a;右上角C表示此集合的補集/余集 語言描述&#xff1a;A 并 B的補集 A的補集 交 B的補集 A交B的補集 A的補集 并 B的補集 文字證明&#xff1a;&#xff08;思路&#xff1a;證明兩個集合相等&#xff0c;可證兩集合…

keras實現嘴唇圖像autoencoder

本文分享了我在silent speech 項目過程中實現的基于嘴唇圖像數據集的autoencoder自編碼器。輸入輸出都是64?6464*6464?64的嘴唇灰度圖。自編碼器由編碼解碼兩個部分構成&#xff0c;同時實現了利用checkpoint在每個epoch運算時&#xff0c;自動保存測試集loss更小的模型。 數…

遠程導表

exp ibmscm1/ibmscM123112.35.32.77:1532/JD3 file/home/scmimp.dmp tablesS4I_BPM.ACT_DE_MODEL url: jdbc:oracle:thin:112.35.32.77:1532:JD3 username: ibmscm1 password: ibmscM123 exp ibmscm1/ imp/exp user/pwd//host:port/sid fileurl exp 用戶名/密碼數據庫…

historyReverser array reverse

historyReverser & array reverse "use strict";/**** author xgqfrms* license MIT* copyright xgqfrms** description historyReverser* augments Reverse 逆向 / Recursive 遞歸* example* link**/const historyReverser (datas [], text , debug false)…

pip國內加載速度慢解決方法

在國內使用pip安裝包時有時會發現安裝速度非常慢&#xff0c;甚至連接不上源。 為了加快pip的下載速度&#xff0c;我們可以主動使用 -i命令來切換到國內源。 下面放出實測好用的國內源 : 清華&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 阿里云&#xff1a;http:…

oracle--導出、導入blob類型的字段

oracle--導出、導入blob類型的字段 blob是oracle中的一個數據類型&#xff0c;保存的是壓縮后的二進制形式的大數據。 數據遷移如果涉及到blob字段&#xff0c;都不好處理&#xff0c;因為無法用常規方法進行操作&#xff0c;如&#xff1a;使用select查看該字段&#xff0c;…