方波的基波和谐波详细推导,以及matlab验证[电路原理---2]

最近要滤波,从1KHZ 方波中获得正弦波,这让我们要对方波的频谱有具体的了解。虽然楼主一年前刚学过傅里叶。但也是忘的干干净净查阅资料后终于是整理出来。用漂亮的latex打出来了,为自己留存一份记录,也分享给大家学习。

方波的基波和谐波

复指数形式的傅里叶级数公式 - 对于周期为(T)的周期函数(f(t)),其复指数形式的傅里叶级数展开式为
f ( t ) = ∑ n = − ∞ ∞ F n e j n ω 0 t f(t)=\sum_{n = -\infty}^{\infty}F_{n}e^{jn\omega_{0}t} f(t)=n=Fnejnω0t
_其中
ω 0 = 2 π T \omega_{0}=\frac{2\pi}{T} ω0=T2π
_系数
F n = 1 T ∫ − T / 2 T / 2 f ( t ) e − j n ω 0 t d t F_{n}=\frac{1}{T}\int_{-T/2}^{T/2}f(t)e^{-jn\omega_{0}t}dt Fn=T1T/2T/2f(t)ejnω0tdt

对于1kHz方波的分析 - 已知方波周期(T = 10^{-3}s),
ω 0 = 2 π × 1 0 3 r a d / s \omega_{0}=2\pi\times10^{3}rad/s\ ω0=2π×103rad/s 
设方波函数(f(t))在一个周期内为

f ( t ) = { A , 0 ≤ t ≤ T 2 − A , T 2 < t ≤ T f(t)=\left\{\begin{matrix}A, &0\leq t\leq\frac{T}{2}\\ -A, &\frac{T}{2}\lt t\leq T\end{matrix}\right. f(t)={A,A,0t2T2T<tT

  • 计算系数(F_{n}):
    F n = 1 T ∫ − T / 2 T / 2 f ( t ) e − j n ω 0 t d t = 1 T ( ∫ 0 T / 2 A e − j n ω 0 t d t + ∫ T / 2 T ( − A ) e − j n ω 0 t d t ) F_{n}=\frac{1}{T}\int_{-T/2}^{T/2}f(t)e^{-jn\omega_{0}t}dt=\frac{1}{T}\left(\int_{0}^{T/2}Ae^{-jn\omega_{0}t}dt+\int_{T/2}^{T}(-A)e^{-jn\omega_{0}t}dt\right) Fn=T1T/2T/2f(t)ejnω0tdt=T1(0T/2Aejnω0tdt+T/2T(A)ejnω0tdt)

    ∫ T / 2 T ( − A ) e − j n ω 0 t d t = A j n ω 0 ( e − j n 2 π − e − j n π ) \int_{T/2}^{T}(-A)e^{-jn\omega_{0}t}dt=\frac{A}{jn\omega_{0}}\left(e^{-jn2\pi}-e^{-jn\pi}\right) T/2T(A)ejnω0tdt=jnω0A(ejn2πejnπ)

    F n = 1 T [ − A j n ω 0 ( e − j n π − 1 ) + A j n ω 0 ( e − j n 2 π − e − j n π ) ] F_{n}=\frac{1}{T}\left[-\frac{A}{jn\omega_{0}}\left(e^{-jn\pi}- 1\right)+\frac{A}{jn\omega_{0}}\left(e^{-jn2\pi}-e^{-jn\pi}\right)\right] Fn=T1[jnω0A(ejnπ1)+jnω0A(ejn2πejnπ)]

  • 化简
    F n = A j n π ( 1 − e − j n π ) F_n= \frac{A}{jn \pi} (1-e^{-jn \pi}) Fn=jnπA(1ejnπ)

  • 讨论
    F o d d = A j n π ( 1 − ( − 1 ) n ) = A j n π ( 1 − ( − 1 ) o d d ) = 2 A j n π F_{odd}=\frac{A}{jn \pi}(1- (-1)^n)=\frac{A}{jn \pi}(1- (-1)^{odd})=\frac{2A}{jn \pi} Fodd=jnπA(1(1)n)=jnπA(1(1)odd)=jnπ2A

    F e v e n = A j n π ( 1 − ( − 1 ) n ) = A j n π ( 1 − ( − 1 ) e v e n ) = 0 F_{even}=\frac{A}{jn \pi}(1- (-1)^n)=\frac{A}{jn \pi}(1- (-1)^{even})=0 Feven=jnπA(1(1)n)=jnπA(1(1)even)=0

  1. 方波的复指数形式傅里叶级数展开式 - 所以(
    f ( t ) = ∑ n = − ∞ ∞ F n e j n ω 0 t = ∑ n = − ∞ , n o d d ∞ 2 A j n π e j n ω 0 t f(t)=\sum_{n = -\infty}^{\infty}F_{n}e^{jn\omega_{0}t}=\sum_{n = -\infty,n\ odd}^{\infty}\frac{2A}{jn\pi}e^{jn\omega_{0}t}\ f(t)=n=Fnejnω0t=n=,n oddjnπ2Aejnω0t 
    基波频率
    ω 1 = ω 0 = 2 π × 1 0 3 r a d / s \omega_{1}=\omega_{0}=2\pi\times10^{3}rad/s ω1=ω0=2π×103rad/s
    对应的频率
    f 1 = 1 k H z ,谐波频率为 n ω 0 ( n = 3 , 5 , 7 , ⋯ ) f_{1}=1kHz,谐波频率为n\omega_{0}(n = 3,5,7,\cdots) f1=1kHz,谐波频率为nω0(n=3,5,7,)
    在电子信息中,这种复指数形式的傅里叶级数方便分析信号的频谱等特性,,可以了解信号在不同频率成分上的分布情况。例如,幅度
    ∣ F n ∣ = 2 A ∣ n ∣ π ( n 为奇数 ) \vert F_{n}\vert=\frac{2A}{\vert n\vert\pi}(n为奇数) Fn=nπ2A(n为奇数)
    表示了各频率成分的强度。
matlab代码验证
% 参数设置
Fs = 100e3;       % 采样频率 (100 kHz)
T = 1/Fs;         % 采样周期
t = 0:T:1-T;      % 时间向量 (1秒)
f1 = 1e3;         % 基波频率 (1 kHz)% 生成 1 kHz 方波信号
square_wave = square(2*pi*f1*t);% 计算 FFT
L = length(square_wave);  % 信号长度
Y = fft(square_wave);     % 计算 FFT
P2 = abs(Y/L);            % 双边频谱
P1 = P2(1:L/2+1);         % 单边频谱% 频率向量
f = Fs*(0:(L/2))/L;       % 频率向量% 绘制频谱图
figure;
plot(f, P1);
title('1 kHz 方波信号的频谱');
xlabel('频率 (Hz)');
ylabel('|P1(f)|');
grid on;

在这里插入图片描述

可以看出,0.63658强度的1KHZ基波和0.211强度的3次谐波都是如我们计算的这样

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

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

相关文章

计算机组成原理(3)

计算机组成原理&#xff08;3&#xff09; 存储器层次结构存储器概述存储器分类存储器性能指标 半导体随机存储SRAM和DRAM 存储器层次结构 主存-辅存&#xff1a;实现了虚拟存储系统&#xff0c;解决了主存容量不足的问题&#xff1b; Cache-主存&#xff1a;解决了主存于CPU速…

2024最新版Java面试题及答案,【来自于各大厂】

发现网上很多Java面试题都没有答案&#xff0c;所以花了很长时间搜集整理出来了这套Java面试题大全~ 篇幅限制就只能给大家展示小册部分内容了&#xff0c;需要完整版的及Java面试宝典小伙伴点赞转发&#xff0c;关注我后在【翻到最下方&#xff0c;文尾点击名片】即可免费获取…

DeepSeek-V3 论文解读:大语言模型领域的创新先锋与性能强者

论文链接&#xff1a;DeepSeek-V3 Technical Report 目录 一、引言二、模型架构&#xff1a;创新驱动性能提升&#xff08;一&#xff09;基本架构&#xff08;Basic Architecture&#xff09;&#xff08;二&#xff09;多令牌预测&#xff08;Multi-Token Prediction&#xf…

Mac 基于Ollama 本地部署DeepSeek离线模型

最近节日期间最火的除了《哪吒》就是deepseek了&#xff0c;毕竟又让西方各个层面都瑟瑟发抖的产品。DeepSeek凭借其强大的AI能力真的是在全球多个领域展现出强大的影响力。由于受到外部势力的恶意攻击倒是deepseek官方服务不稳定&#xff0c;国内其他厂家的适配版本也不是很稳…

51单片机之引脚图(详解)

8051单片机引脚分类与功能笔记 1. 电源引脚 VCC&#xff08;第40脚&#xff09;&#xff1a;接入5V电源&#xff0c;为单片机提供工作电压。GND&#xff08;第20脚&#xff09;&#xff1a;接地端&#xff0c;确保电路的电位参考点。 2.时钟引脚 XTAL1&#xff08;第19脚&a…

力扣刷题 题11,12

题目11 思路&#xff1a;设置左右指针 left和 right 指针指向数组的开始和末尾&#xff0c;max_water 用于记录最大容量初始为0。利用while循环left<right&#xff0c;移动指针比较数组元素 height[left] 和 height[right] 的大小&#xff0c;移动较短的那条线的指针&#x…

使用Python实现PDF与SVG相互转换

目录 使用工具 使用Python将SVG转换为PDF 使用Python将SVG添加到现有PDF中 使用Python将PDF转换为SVG 使用Python将PDF的特定页面转换为SVG SVG&#xff08;可缩放矢量图形&#xff09;和PDF&#xff08;便携式文档格式&#xff09;是两种常见且广泛使用的文件格式。SVG是…

爬虫工程师分享:获取京东商品详情SKU数据的技术难点与攻破方法

在电商数据领域&#xff0c;京东商品详情页的SKU数据是许多爬虫工程师的目标。这些数据包含了商品的价格、库存、规格等关键信息&#xff0c;对于市场分析、价格监控等应用场景至关重要。然而&#xff0c;获取这些数据并非易事&#xff0c;京东作为国内电商巨头&#xff0c;其反…

【DeepSeek × Postman】请求回复

新建一个集合 在 Postman 中创建一个测试集合 DeepSeek API Test&#xff0c;并创建一个关联的测试环境 DeepSeek API Env&#xff0c;同时定义两个变量 base_url 和 api_key 的步骤如下&#xff1a; 1. 创建测试集合 DeepSeek API Test 打开 Postman。点击左侧导航栏中的 Co…

使用java代码操作rabbitMQ收发消息

SpringAMQP 将来我们开发业务功能的时候&#xff0c;肯定不会在控制台收发消息&#xff0c;而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议&#xff0c;因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息&#xff0c;都可以与RabbitMQ交互。并且RabbitMQ官方也…

【WB 深度学习实验管理】使用 PyTorch Lightning 实现高效的图像分类实验跟踪

本文使用到的 Jupyter Notebook 可在GitHub仓库002文件夹找到&#xff0c;别忘了给仓库点个小心心~~~ https://github.com/LFF8888/FF-Studio-Resources 在机器学习项目中&#xff0c;实验跟踪和结果可视化是至关重要的环节。无论是调整超参数、优化模型架构&#xff0c;还是监…

【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;冷启动数据的作用冷启动数据设计 &#x1f4af;多阶段训练的作用阶段 1&#xff1a;冷启动微调阶段 2&#xff1a;推理导向强化学习&#xff08;RL&#xff0…

AWK系统学习指南:从文本处理到数据分析的终极武器 介绍

目录 一、AWK核心设计哲学解析 1.1 记录与字段的原子模型 1.2 模式-动作范式 二、AWK编程语言深度解析 2.1 控制结构 说明&#xff1a; 2.2 关联数组 代码说明&#xff1a; 示例输入和输出&#xff1a; 注意事项&#xff1a; 2.3 内置函数库 三、高级应用技巧 3.1…

链表和 list

一、单链表的模拟实现 1.实现方式 链表的实现方式分为动态实现和静态实现两种。 动态实现是通过 new 申请结点&#xff0c;然后通过 delete 释放结点的形式构造链表。这种实现方式最能体 现链表的特性&#xff1b; 静态实现是利用两个数组配合来模拟链表。一个表示数据域&am…

大模型推理——MLA实现方案

1.整体流程 先上一张图来整体理解下MLA的计算过程 2.实现代码 import math import torch import torch.nn as nn# rms归一化 class RMSNorm(nn.Module):""""""def __init__(self, hidden_size, eps1e-6):super().__init__()self.weight nn.Pa…

MySQL 8.0.41安装教程(2025年2月8号)

下载网址&#xff1a;https://www.mysql.com/cn/downloads/ 点击 我选择的是第二个离线安装 点击之后&#xff0c;选择直接下载&#xff1a; 下载完成双击&#xff1a; 我选择的是自定义安装&#xff1a; 右边默认已经存在我选择的8.0.41 点击红框中的&#xff0c;自定义安装路…

WPS中解除工作表密码保护(忘记密码)

1.下载vba插件 项目首页 - WPS中如何启用宏附wps.vba.exe下载说明分享:WPS中如何启用宏&#xff1a;附wps.vba.exe下载说明本文将详细介绍如何在WPS中启用宏功能&#xff0c;并提供wps.vba.exe文件的下载说明 - GitCode 并按照步骤安装 2.wps中点击搜索&#xff0c;输入开发…

Python多版本管理

关注后回复 python 获取相关资料 ubuntu18.04 # ubuntu18 默认版本 Python 2.7.17 apt install python python-dev python-pip# ubuntu18 默认版本 Python 3.6.9 apt install python3 python3-dev python3-pip# ubuntu18 使用 python3.8 apt install python3.8 python3.8-dev#…

基于python多线程多进程爬虫的maa作业站技能使用分析

基于python多线程多进程爬虫的maa作业站技能使用分析 技能使用分析 多线程&#xff08;8核&#xff09; import json import multiprocessing import requests from multiprocessing.dummy import Pooldef maa(st):url "https://prts.maa.plus/copilot/get/"m …

2025.2.8——一、[护网杯 2018]easy_tornado tornado模板注入

题目来源&#xff1a;BUUCTF [护网杯 2018]easy_tornado 目录 一、打开靶机&#xff0c;整理信息 二、解题思路 step 1&#xff1a;分析已知信息 step 2&#xff1a;目标——找到cookie_secret step 3&#xff1a;构造payload 三、小结 一、打开靶机&#xff0c;整理信…