python 如何将两个实数矩阵合并为一个复数矩阵
问题描述:
有时需要把两个实数矩阵,一个作为实部,一个作为虚部,合并为一个复数矩阵,该如何操作?
解决办法:
假如是在第二个维度上进行合并(real: Data[:, 0, :, :] imag: Data[:, 1, :, :]),有两种方法
第一种、
result = Data[:, 0, :, :] + 1j*Data[:, 1, :, :]
第二种、
result = 1j*Data[:, 1, :, :]
result += Data[:, 0, :, :]
第二种方法更节省内存~
补充: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, 证明了经过这些步骤过后,重构的复数矩阵与初始的光谱图是一致的。
(资源库 www.zyku.net)
原文链接:https://blog.csdn.net/chenghtao/article/details/77993823
上一篇:基于telepath库实现Python和JavaScript之间交换数据
栏 目:Python教程
下一篇:pytorch 实现计算 kl散度 F.kl_div()
本文标题:python 如何将两个实数矩阵合并为一个复数矩阵
本文地址:https://www.zyku.net/python/9641.html
您可能感兴趣的文章
- 09-24华为nova9Pro怎么提升游戏体验
- 12-23HTML <body> 标签
- 02-08小米11手机更改桌面图标大小方法
- 07-05Linux uulog命令
- 02-28Linux下rar包的压缩与解压详解
- 01-11一乙优选-一乙优选应用软件功能介绍
- 10-18华为nova9pro怎么添加相机水印
- 05-06华为nova8se关闭应用自动更新方法
- 11-23抖音放大字体教程分享
- 04-24华为nova8保持唤醒状态方法
- 02-28苹果12连接carplay方法
- 01-12转盘随机决定-转盘随机决定应用软件功
- 02-20一加9pro锁屏显示农历日期方法
- 12-06网易云音乐动态发语音方法介绍
- 12-19HTML <li> 标签
- 01-13Dedecms导入数据提示:USING BTREE ) EN
- 01-11文本编辑工具-文本编辑工具应用软件功
- 02-24真我x7pro至尊版定时开关机设置方法
- 07-26深入理解Yii2.0乐观锁与悲观锁的原理
- 02-10pytorch 中nn.Dropout的使用说明
最近更新
阅读排行
猜你喜欢
- 03-31红米k40应用分身开启教程
- 03-20一加9pro开启悬浮球操作方法
- 10-27applewatch如何开启辅助触控
- 01-14云上中文-云上中文应用软件功能介绍
- 01-17淘气抓娃娃-淘气抓娃娃应用软件功能介
- 02-10Python数据可视化之绘制柱状图和条形
- 01-12直播提字器-直播提字器应用软件功能介
- 02-28Windows服务器更改administrator账号
- 12-13小米10s如何配对蓝牙耳机
- 09-20amazfit智能手表如何绑定手机