使用傅里叶级数展开法从谐波的和中产生方波(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥


🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


座右铭:行百里者,半于九十。

📋 📋 📋 本文目录如下: 🎁 🎁 🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现

💥1 概述

谐波是指对周期性非正弦交流量进行傅里叶级数分解所得到的大于基波频率整数倍的各次分量,通常称为高次谐波,而基波是指其频率与工频(50Hz)相同的分量。本代码尝试在Matlab中使用傅里叶级数展开从谐波的和中绘制一个方波。

📚2 运行结果

部分代码:

% USAGE: square_wave_project ([T, [num, [max, [min, [start, [state]]]]]])

function [] = square_wave_project (varargin)

% if there is more coputing power, increase these

periods = 3; % number of periods to display

points = 500; % number of points each second, recommend at least 500

% get the default values for unstated options

[T, num, max, min, start, state] = get_default_options(varargin)

t = linspace(start, start+periods*T, points*periods*T);

[f, aN, bN, cos_component, sin_component] = make_square_wave(T, num, max, min, start, state, t);

visualization(f, t, aN, bN, 1/T, cos_component, sin_component);

end

function [T, num, max, min, start, state] = get_default_options (varargin)

T_default = 1; % period

num_default = 100; % number of addends to compute

max_default = 5; % high value

min_default = -5; % low value

start_default = 0; % starting time

state_default = 0; % starting state (1 or 0)

% only want 6 optional inputs at most

numvarargs = length(varargin{1});

if numvarargs > 6

error('square_wave_project:TooManyInputs', ...

'requires at most 6 optional inputs');

end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]肖勇,赵伟,黄松岭.基于离散傅里叶级数的非同步采样下谐波功率测量算法[J].电工技术学报,2018,33(07):1570-1578.DOI:10.19595/j.cnki.1000-6753.tces.170130.

🌈4 Matlab代码实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值