相位和展开相位

相位 (Phase)

相位是一个周期信号在一个周期内的位置,通常以角度(度或弧度)表示。在许多应用中,相位被限制在一个周期内。例如,相位通常被限定在 −180∘到 +180∘ 或 0∘ 到 360∘ 之间。

示例

−90∘ 表示信号在周期的三分之一处。
180∘ 表示信号在周期的一半处。

展开相位 (Unwrapped Phase)

展开相位是指将相位角连续累加,消除相位跳变,使其成为线性变化的相位。这在处理跨越多个周期的信号时尤为重要,因为它避免了相位在 −180∘和 +180∘之间的跳变。这种处理方式可以更准确地反映信号的相位变化趋势。

示例

如果信号的相位从 170∘跳变到 −170∘,展开相位会将其处理为 170∘到 190∘。

相位和展开相位的区别

  • 相位:受限于一个周期范围内的相位角,通常在 −180∘ 到 +180∘之间。
  • 展开相位:累积的相位角,不受周期限制,线性变化。

计算展开相位的步骤

  • 读取相位数据:从信号中读取初始相位数据。
  • 检测相位跳变:在相位跨越 −180∘和 +180∘时检测相位跳变。

一般来说,可以通过计算相邻两个相位值的差值来检测相位跳变。如果相邻两个相位值的差值超过某个阈值(例如 180∘),则认为发生了相位跳变。为了使相位连续,可以在发生相位跳变时,对后续的相位值进行调整。

  • 累加相位差:消除相位跳变,将其转换为连续变化的相位角。

示例

import numpy as np
import matplotlib.pyplot as plt

# 示例数据,10个频率点的实部和虚部
real = [1, 0.707, 0, -0.707, -1, -0.707, 0, 0.707, 1, 0.5]
imag = [0, 0.707, 1, 0.707, 0, -0.707, -1, -0.707, 0, -0.866]

# 计算相位
phase = np.arctan2(imag, real)  # np.arctan2返回值在[-pi, pi]之间
phase_deg = np.degrees(phase)  # 转换为角度

# 手动计算展开相位
unwrapped_phase_deg = np.zeros_like(phase_deg)
unwrapped_phase_deg[0] = phase_deg[0]

for i in range(1, len(phase_deg)):
    delta = phase_deg[i] - phase_deg[i - 1]
    if delta > 180:
        unwrapped_phase_deg[i] = unwrapped_phase_deg[i - 1] + delta - 360
    elif delta < -180:
        unwrapped_phase_deg[i] = unwrapped_phase_deg[i - 1] + delta + 360
    else:
        unwrapped_phase_deg[i] = unwrapped_phase_deg[i - 1] + delta

# 打印相位和展开相位
print("实部: ", real)
print("虚部: ", imag)
print("相位: ", phase_deg)
print("展开相位: ", unwrapped_phase_deg)

# 绘制相位和展开相位
plt.figure(figsize=(12, 6))
plt.plot(phase_deg, label="相位")
plt.plot(unwrapped_phase_deg, label="展开相位")
plt.xlabel("频率点")
plt.ylabel("相位 (度)")
plt.legend()
plt.title("相位和展开相位")
plt.show()

实部:  [1, 0.707, 0, -0.707, -1, -0.707, 0, 0.707, 1, 0.5]
虚部:  [0, 0.707, 1, 0.707, 0, -0.707, -1, -0.707, 0, -0.866]

相位:  [   0.           45.           90.          135.          180.
 -135.          -90.          -45.            0.          -59.99927222]
 
展开相位:  [  0.          45.          90.         135.         180.
 225.         270.         315.         360.         300.00072778]

在这里插入图片描述

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

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

相关文章

fvcore库的一些功能和使用

目录 一、安装fvcore库 二、使用 fvcore是Facebook开源的一个轻量级的核心库&#xff0c;它提供了各种计算机视觉框架中常见且基本的功能。其中就包括了统计模型的参数以及FLOPs等。 项目地址&#xff1a;fvcore 一、安装fvcore库 pip install fvcore 二、使用 1、计算模…

【实物资料包】基于STM32智能台灯设计

【实物资料包】基于STM32智能台灯设计 需要资料的请在文章结尾获取哦~~~~&#xff08;如有问题私信我即可&#xff09; 1.介绍 1 添加wifi模块模块&#xff0c;可通过wifi模块APP或者手动按钮切换自动/手动模式 2 自动模式下&#xff0c;台灯可以感应是否有人落座&#xff0…

干货 | 准备换ERP系统?来看看这篇文章!

当前客户的痛点 在当今竞争激烈的市场环境中&#xff0c;企业面临着诸多挑战和痛点&#xff0c;尤其是在管理和运营方面。让我们以一家中小型制造业企业为例&#xff0c;探讨他们所面临的主要痛点&#xff1a; 分散的数据管理&#xff1a;企业各部门之间信息孤岛严重&#xff…

Ci2451和Ci2454:2.4GHz无线MCU的芯片对比数据资料分析

一、2.4GHz无线MCU芯片的背景介绍 1、开头我们先聊聊&#xff0c;关于南京中科微2.4GHz无线MCU芯片&#xff08;Ci2451、Ci2454、CSM2433)是建立在现有的2.4GHz射频芯片基础上面&#xff0c;它的内部是集成了8位RISC内核&#xff0c;且集成丰富的MCU资源、更小的尺寸可以来满足…

iPhone卡在恢复模式无法退出时,有那些退出恢复模式方法?

iPhone用户有时会遇到需要将手机进入恢复模式的情况。恢复模式可以帮助解决一些软件问题&#xff0c;但如果iPhone卡在恢复模式&#xff0c;不知道如何退出就会非常麻烦。小编将介绍几种iPhone退出恢复模式的方法。 一、苹果手机的恢复模式是什么意思 iPhone的恢复模式是针对i…

React的生命周期函数详解

import React,{Component} from "react";import SonApp from ./sonAppclass App extends Component{state{hobby:爱吃很多好吃的}// 是否要更新数据&#xff0c;这里返回true才会更新数据shouldComponentUpdate(nextProps,nextState){console.log("app.js第一步…

快速排序的实现(3种)

目录 0.快速排序1.Hoare版本1.1基本思想1.2算法描述1.3画图解释1.4问题&#xff1f;1.5代码实现 2.挖坑法2.1算法描述2.2画图解释2.3代码实现 3.先后指针法3.1算法描述3.2画图解释3.3代码实现 4.优化4.1优化方法4.2优化代码 5.非递归实现快排5.1算法描述 0.快速排序 1.时间复杂…

AGV选型要点及步骤,保证企业选择的AGV小车更实用

AGV AGV小车作为智能化物流仓储不可或缺的工具&#xff0c;在制造业得到了广泛的应用&#xff0c;市场需求呈现出井喷式增长。但是AGV市场还存在着很多问题&#xff0c;制造企业在产品选型时往往缺乏正确的引导。 AGV智能仓储 毫无疑问,我们的自动化物流系统已离不开AGV小车了,…

Spring Boot + Vue 全栈开发,都需要哪些前端知识?

Node.js默认安装的npm包和工具的位置&#xff1a;Node.js目录\node_modules 在这个目录下你可以看见 npm目录&#xff0c;npm本身就是被NPM包管理器管理的一个工具&#xff0c;说明 Node.js已经集成了npm工具 #在命令提示符输入 npm -v 可查看当前npm版本 npm -v 二、使用n…

【Android】Android Studio 使用Kotlin写代码时代码提示残缺问题解决

问题描述 Android Studio升级之后&#xff0c;从Android Studio 4.2升级到Android Studio Arctic Fox版本&#xff0c;因为项目比较老&#xff0c;使用的Gradle 版本是3.1.3&#xff0c;这个版本的Android Studio最低支持Gradle 3.1版本&#xff0c;应该算是比较合适的版本。 …

天猫超市卡有什么用?

有时候不知道在网上买什么的时候&#xff0c;恰好就会收到一些猫超卡、京东卡类的礼物 这真是让人苦恼 还好收卡云一直在收这些礼品卡券啊&#xff0c;不然我的大部分礼品卡最后只有过期的份了&#xff01;

SpringBoot异常处理机制之自定义404、500错误提示页面 - 518篇

历史文章&#xff08;文章累计500&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…

c++ 正则匹配得使用

标头&#xff1a;#include <regex> 相关函数&#xff1a; regex_match regex_replace regex_search 名称描述regex_match测试正则表达式是否与整个目标字符串相完全匹配。regex_replace替换匹配正则表达式。regex_search搜索正则表达式匹配项。 1. regex_search 成功搜…

ctr/cvr预估之WideDeep模型

ctr/cvr预估之Wide&Deep模型 在探索点击率&#xff08;CTR&#xff09;和转化率&#xff08;CVR&#xff09;预估的领域中&#xff0c;我们始终追求的是一种既能捕获数据中的线性关系&#xff0c;又能发现复杂模式的模型。因子分解机&#xff08;Factorization Machines, …

张量在人工智能中的解释?

张量在人工智能中的解释&#xff1f; 张量是一种多维数组&#xff0c;它可以看作是向量和矩阵的推广。在人工智能领域&#xff0c;张量被用作数据的基本表示形式&#xff0c;尤其在深度学习中扮演着核心角色。张量的多维性允许它们表示复杂的数据结构和关系&#xff0c;而其可…

iOS之如何创建.framework静态库

番外&#xff1a;想要查看如何创建.a静态库可前往看我iOS之如何创建.a静态库-CSDN博客这篇文章。 一、创建framework项目 创建framework工程要选择iOS --> Cocoa Touch Framework输入项目名称PrintFramework也是编译生成的framework的名称。framework的名称也可以以后在项目…

不翻墙安装yolov8环境下的RT-DETR并实现PCB表面缺陷检测

目录 一、新建conda环境二、安装yolov8环境1.克隆安装包2.安装依赖包3.测试模型 任务2&#xff1a;基于RT-DETR实现PKU-PCB表面缺陷检测数据准备 数据增强测试 总结 一、新建conda环境 创建并激活conda环境&#xff1a; 在conda创建一个名为yolov8的新环境&#xff0c;并在其中…

React尚硅谷115-126(setState、Hooks、Fragment、context、组件优化、renderprops

122&#xff0c;context 只能用value传&#xff0c;可以传对象&#xff0c;字符串 一种组件间通信方式, 常用于【祖组件】与【后代组件】间通信 使用&#xff1a; 创建Context容器对象&#xff1a; const XxxContext React.createContext() 渲染子组时&#xff0c;外面包…

SpringBoot的Web开发支持【超详细【一篇搞定】果断收藏系列】

Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println(“MyInterceptor.afterCompletion”); } } 使用Java的形式配置拦截器的拦截路径 在WebMvcConfig…

零门槛用AI,302.AI让人工智能变得简单易用

当下人工智能火爆&#xff0c;提到AI&#xff0c;几乎每个人都能说上几句&#xff0c;但是你真的会使用AI吗&#xff1f; 当涉及到如何实际使用AI时&#xff0c;许多人可能会觉得它太过高深莫测&#xff0c;从而产生一种距离感&#xff0c;不知如何开始。我和大家也一样&#x…