方波的基波和谐波详细推导,以及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…

编程中的科学计数法

目录 1. 科学计数法的基本格式 2. 在代码中使用科学计数法 &#xff08;1&#xff09;直接赋值 &#xff08;2&#xff09;输出科学计数法 3. 科学计数法的底层存储 4. 输入科学计数法 5. 科学计数法的精度问题 6. 应用场景 7. 注意事项 8. 总结 编程中的科学计数法&…

2025.2.7 Python开发岗面试复盘

2025.2.7 Python开发岗面试复盘 问题: 是否了解过其他语言? 了解过Java、JavaScript、C等语言,但主要技术栈是Python。 Python跟Java的区别? Python是解释型语言,Java是编译型语言 Python动态类型,Java静态类型 Python简洁易读,Java相对严谨复杂 Python GIL限制并发,Java并…

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…

Android双屏异显Presentation接口使用说明

在点餐、收银、KTV等场景,对于双屏异显的需求是非常多的,首先可以节省硬件成本。而现在的智能板卡很多运行Android系统,从Android4.2开始支持WiFi Display(Miracast)功能后,就开始支持双屏异显Presentation这套应用层接口了,下面以Android5.1系统来说明这套接口的使用要…

力扣刷题 题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…

kamailio中路由模块汇总

功能模块描述请求路由 (request_route)主要处理进入的SIP请求&#xff0c;包含初步检查、NAT检测、CANCEL请求处理、重传处理等。处理通过REQINIT、NATDETECT、RELAY等子模块的调用。CANCEL处理对CANCEL请求进行处理&#xff0c;包括更新对话状态并检查事务。如果事务检查通过&…

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

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

【非 root 用户下全局使用静态编译的 FFmpeg】

在非 root 用户下全局使用静态编译的 FFmpeg&#xff0c;可以按照以下方法操作&#xff1a; 1. 下载静态编译的 FFmpeg 如果你还没有下载静态编译的 FFmpeg&#xff0c;可以从官方网站获取&#xff1a; wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd6…

注意力机制(Attention Mechanism)和Transformer模型的区别与联系

注意力机制(Attention Mechanism) 和 Transformer 模型 是深度学习领域中的两个重要概念,虽然它们紧密相关,但有着明显的区别。下面我们将从 定义、作用、结构 和 应用 等多个维度来分析这两者的区别与联系。 1. 定义 注意力机制(Attention Mechanism): 注意力机制是一…

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

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

uniapp mqttjs 小程序开发

在UniApp中集成MQTT.js开发微信小程序时&#xff0c;需注意平台差异、协议兼容性及消息处理等问题。以下是关键步骤与注意事项的综合指南&#xff1a; 一、环境配置与依赖安装 安装MQTT.js 推荐使用兼容性较好的版本&#xff1a;mqtt4.1.0&#xff08;H5和小程序兼容性最佳&…

【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…