信号与系统学习:周期信号的频谱

news2024/10/28 12:12:35

一、概念

1. 什么是频谱?

  • 频谱描述了信号在不同频率上的能量分布
  • 对于一个周期信号,其频谱通常是离散的,由一系列离散的频率成分组成

2. 周期信号与傅里叶级数

  • 周期信号可以用傅里叶级数展开,表示为无数个正弦和余弦(或指数形式)的加权和
  • 这些正弦和余弦对应着信号的频率成分,其幅度和相位由傅里叶系数决定

二、周期信号的频谱分析

1. 傅里叶级数复指数形式

对于周期为 T 的信号 x(t),其傅里叶级数的复指数形式为:
                        ​​​​​​​        

其中:

  • ω0=2π/T 是信号的基频角速度。
    • cn 是复数形式的傅里叶系数,计算公式为:
      ​​​​​​​​​​​​​​        ​​​​​​​        ​​​​​​​  

2. 频谱的表示

  • 幅度谱(Amplitude Spectrum):表示各频率分量的幅度,∣cn∣
  • 相位谱(Phase Spectrum):表示各频率分量的相位,∠cn

三、周期矩形脉冲的频谱

1. 周期矩形脉冲信号的定义

考虑一个周期为 T 的矩形脉冲信号 x(t),在每个周期内,脉冲宽度为 τ(τ<T),幅值为 A:

  • 在 −τ/2<t<τ/2 时,x(t)=A
  • 在其他时间,x(t)=0

示意图:

A  ──┐      ┌──
     │      │
     │      │
0 ───┼──────┼─────
    -τ/2    τ/2

2. 计算傅里叶系数 cn
        ​​​​​​​        

利用欧拉公式:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

所以:
        ​​​​​​​        ​​​​​​​ 

进一步整理,定义 Dirichlet 核心函数(归一化的 sinc 函数):
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

因此:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

3. 幅度谱和相位谱

  • 幅度谱
            ​​​​​​​        ​​​​​​​        

  • 相位谱

    • 由于 cn 为实数,当 sin⁡(nω0τ/2) 为正时,cn 为正;为负时,cn 为负
    • 因此,相位为 0 或 π

四、代码实现与频谱绘制

为了更直观地理解周期矩形脉冲的频谱,这里使用 Python 编写代码,计算并绘制其幅度谱和相位谱

import numpy as np
import matplotlib.pyplot as plt

# 参数设置
A = 1       # 脉冲幅值
T = 1       # 信号周期
tau = 0.2   # 脉冲宽度(占空比D = tau / T)
N = 20      # 计算的谐波数量

omega0 = 2 * np.pi / T  # 基频角速度
n = np.arange(-N, N+1)  # 谐波次数

# 计算傅里叶系数 c_n
def sinc(x):
    return np.sinc(x / np.pi)  # numpy 的 sinc 函数定义为 sin(πx)/(πx)

cn = A * tau / T * sinc(n * omega0 * tau / 2)

# 计算幅度谱和相位谱
amplitude = np.abs(cn)
phase = np.angle(cn)

# 绘制幅度谱
plt.figure(figsize=(12, 6))
plt.stem(n, amplitude, basefmt=" ")
plt.title('周期矩形脉冲的幅度谱')
plt.xlabel('谐波次数 n')
plt.ylabel('幅度 |cₙ|')
plt.grid(True)
plt.show()

# 绘制相位谱
plt.figure(figsize=(12, 6))
plt.stem(n, phase, basefmt=" ")
plt.title('周期矩形脉冲的相位谱')
plt.xlabel('谐波次数 n')
plt.ylabel('相位 ∠cₙ (弧度)')
plt.grid(True)
plt.show()

解释

  • 参数设置

    • A:矩形脉冲的幅值
    • T:信号的周期
    • tau:脉冲宽度
    • N:计算的谐波数量(正负方向各 N 个,一共 2N + 1 个谐波)
  • 计算傅里叶系数

    • 使用定义的 sinc 函数来计算傅里叶系数 cn
  • 绘制幅度谱和相位谱

    • 使用 plt.stem 函数绘制离散谱线

运行结果

  • 幅度谱:显示了各个谐波分量的幅度,呈现出中心对称的分布,幅度随着谐波次数的增加而衰减
  • 相位谱:相位谱只取 0 或 π,对应于傅里叶系数的正负

幅度图:

相位图:

五、深入理解

1. 占空比对频谱的影响

  • 占空比 D=τT:表示脉冲在一个周期内的持续时间比例
  • 当占空比变化时,频谱的形状也会相应变化
  • 代码修改:可以尝试改变 tau 的值,观察频谱的变化

2. 谐波分量的特性

  • 主瓣和旁瓣:幅度谱的中心部分称为主瓣,远离中心的部分称为旁瓣
  • sinc 函数的性质:主瓣宽度与脉冲宽度成反比,脉冲越窄,主瓣越宽,频谱越宽

3. 时域与频域的关系

  • 时域缩短,频域拉宽:窄脉冲在频域上占据更宽的频带
  • 时域宽化,频域变窄:脉冲宽度增加,频谱集中在低频部分

六、周期信号的功率

1. 功率的定义

对于周期信号,其功率定义为平均功率,即在一个周期内的能量平均值。对于周期信号 x(t) ,其平均功率 P 定义为:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

其中:

  • T 是信号的周期
  • t0 是时间起点,通常可取任意值,因为周期信号的功率计算与时间起点无关

2. 周期矩形脉冲信号的功率

对于周期矩形脉冲信号,我们可以计算其平均功率。

(1) 周期矩形脉冲信号的表达式

如前所述,周期矩形脉冲信号 x(t) 定义为:

  • 在 −τ/2<t<τ/2 ,x(t)=A
  • 在其他时间,x(t)=0

其中:

  • A 是脉冲幅值
  • τ 是脉冲宽度(持续时间)
  • T 是信号周期,τ<T
(2) 平均功率的计算

根据功率定义,平均功率 P 为:

物理意义

  • 占空比 D=τT 表示脉冲在一个周期内的持续时间比例
  • 因此,平均功率可表示为 P=A²D

3. 时域功率与频域功率的关系(Parseval 定理)

Parseval 定理建立了信号在时域和频域中的功率关系。对于周期信号,其在一个周期内的平均功率等于其傅里叶系数平方的和:
        ​​​​​​​        

cn 是信号的傅里叶系数(后面填坑)

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

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

相关文章

巡飞单机多旋翼无人机技术详解

巡飞单机多旋翼无人机技术是一种集成了多种先进技术的无人机系统&#xff0c;它具备自主飞行、长续航、高精度控制以及多任务负载能力等特点。以下是对巡飞单机多旋翼无人机技术的详细解析&#xff1a; 一、机架与结构设计 1.材料选择&#xff1a;为了确保无人机能够承载足够…

基于深度学习的图像修复系统设计与实现(PyQt5、CodeFormer ffhq-dataset数据集)

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

logback日志导入使用

1导入配置 <!-- 日志 &#xff0c; 会自动传递slf4j门面--> <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version> </dependency>2 引入配置 Logback要求…

Synergy遇见的问题

1.两台设备无法ping通 首先两个设备是在同一个局域网中&#xff0c;但任然是无法ping通 问题所在&#xff1a;防火墙进行了隔离&#xff1b; 解决方法&#xff1a; &#xff08;1&#xff09;关闭防火墙 没有用过&#xff0c;个人感觉不怎么安全就没有使用&#xff1b; &am…

react18中的受控与非受控组件及ref的使用

受控与非受控组件 受控组件,基于修改 state 的值,修改组件内部的状态&#xff0c;来实现页面的更新&#xff0c;推荐使用 非受控组件&#xff0c;基于 ref 获取 dom 的值&#xff0c;来实现页面的更新,不推荐使用,偶尔特殊的场景会使用 给需要获取的元素设置 ref“xxx”,后期基…

一步一步从微信小程序获取asp.net Core API的数据

前面我们说过&#xff0c;如何使用微信小程序获取asp.net的数据&#xff0c;这里我们继续介绍如何获取asp.net core api的数据。两者之间还是有一些差别的。本篇博文旨在详细介绍如何一步一步从微信小程序获取asp.net Core API的数据。 文章目录 一、建立并了解asp.net core we…

Git 创建SSH秘钥

1、命令行输入 ssh-keygen -t rsa -b 4096 2、系统提示你“Enter a file in which to save the key”&#xff0c;直接按回车键 3、再提示你输入密码的时候直接按回车键&#xff0c;创建没有密码的SSH密钥 4、密钥对创建后&#xff0c;可以在自己电脑对应的 ~/.ssh 目录下找到…

vue 果蔬识别系统百度AI识别vue+springboot java开发、elementui+ echarts+ vant开发

编号&#xff1a;R03-果蔬识别系统 简介&#xff1a;vuespringboot百度AI实现的果蔬识别系统 版本&#xff1a;2025版 视频介绍&#xff1a; vuespringboot百度AI实现的果蔬识别系统前后端java开发&#xff0c;百度识别&#xff0c;带H5移动端&#xff0c;mysql数据库可视化 1 …

Unity编辑器制作多级下拉菜单

Unity编辑器下拉菜单 大家好&#xff0c;我是阿赵。   在Unity引擎里面编写工具插件&#xff0c;有时候会用到一些特殊的菜单形式&#xff0c;比如下拉选项。 通过下拉菜单&#xff0c;给用户选择不同的选项。   如果只是一层的下拉列表&#xff0c;可以用EditorGUILayout.…

西南大学软件专硕考研难度分析!

C哥专业提供——计软考研院校选择分析专业课备考指南规划 西南大学软件工程学硕近三年呈现出招生规模稳定、复试线稳中有升的特点。2024届实际录取8人&#xff0c;复试分数线305分&#xff0c;复试录取率67%&#xff0c;相比去年复试线略有下降但仍高于2022届&#xff0c;显示出…

Maven 项目构建打包,如何引入本地 Jar 包?

上一篇讲到 Maven 离线仓库的使用&#xff0c;反响不错很多人收藏&#xff0c;这一篇还是继续聊 Maven 。假如你发现某开源项目有个 bug 影响到自己的系统&#xff0c;但官方还没修复&#xff0c;自己定位到了本地修改打了包先应急用&#xff0c;那么如何在其他项目上使用该包&…

【动态规划】力扣198.打家劫舍

目录 一、题目二、思路1.递归2.递推 三、代码 一、题目 二、思路 1.递归 题目中指出不可以选相邻的房间&#xff0c;说明如果选了第 1 间&#xff0c;那么第 2 间一定不可以选&#xff0c;第 3 间房间可以选&#xff0c;也可以不选……假设是按照从第 1 间房间开始依次往后选…

【测试】——Fiddler入门

&#x1f4d6; 前言&#xff1a;本文介绍Fiddler&#xff0c;一个强大的HTTP协议调试代理工具。文章详细讲解了Fiddler的安装步骤、基础操作、抓包技巧以及模拟测试等内容。 目录 &#x1f552; 1. Fiddler基础介绍&#x1f558; 1.1 安装&#x1f558; 1.2 基础操作&#x1f5…

[oeasy]python038_ range函数_大小写字母的起止范围_start_stop

range函数_大小写字母的起止范围_start_stop 回忆上次内容 所有字符 都有序号 就连 空格 也不例外 空格 序号32是 print函数中 sep参数的 默认值 字符 在计算机中 用数字序号 来 存储表示 字符序号 有规律 a 对应 97b 对应 98c 对应 99 连续字母 对应 连续序号 似乎应该是 天经…

SOLID - 接口隔离原则(Interface Segregation Principle)

SOLID - 接口隔离原则&#xff08;Interface Segregation Principle) 定义 接口隔离原则&#xff08;Interface Segregation Principle&#xff0c;ISP&#xff09;是面向对象设计中的五个基本原则之一&#xff0c;通常缩写为SOLID中的I。这一原则由Robert C. Martin提出&…

校园气膜体育馆:学生锻炼与成长的新空间—轻空间

在现代教育中&#xff0c;学生的身心健康日益受到重视&#xff0c;校园体育设施的建设成为学校发展的重要一环。为更好地满足学生在节假日锻炼与学习的需求&#xff0c;校园气膜体育馆应运而生&#xff0c;成为校园内一处崭新的活力空间。 打破场地限制&#xff0c;打造优质运动…

LeetCode 热题 100之矩阵

1.矩阵置0 思路分析&#xff1a;使用标记数组 记录需要置为 0 的行和列&#xff1a;使用两个布尔数组 zeroRows 和 zeroCols 来记录需要置为 0 的行和列两次遍历 第一遍遍历整个矩阵&#xff0c;找到所有为0的元素&#xff0c;并更新zeroRows和zeroCols&#xff1b;第二遍遍历…

快速入门HTML

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗 如有错误&#xff0c;欢迎指出~ 目录 第一个html文件 标签 h1~h6 p >段落标签 br > 换行标签 img >图片标签 a >超链接标签 表格标签 表单标签 表单控件 form表单 ⽆语义标签:div&span 综…

虚拟现实在制造业中的应用

当你想到制造业中的虚拟现实技术时&#xff0c;你脑海中闪过的第一个念头是什么&#xff1f;从目前来看&#xff0c;只需几年时间&#xff0c;制造业就将离不开虚拟现实技术的帮助。实施虚拟现实应用对制造业来说都有诸多好处。通常情况下&#xff0c;制造设施都是由各种机器组…

右键以vscode打开目录的时候出现找不到应用程序

出现这个问题的主要原因&#xff0c;大概率可能是因为你移动了vscode的安装路径导致的。 解决办法 打开注册表&#xff1a;通过cmd 打开regedit 然后搜索&#xff1a;计算机\HKEY_CLASSES_ROOT\Directory\Background\shell 这个两个参数可以自己比对一下&#xff0c;主要需要检…