python画方波_SciPyTutorial-方波信号fft频谱

本文通过Python的Scipy库展示了如何生成方波信号,并使用fft进行频谱分析。通过fftpack.fft和fftpack.ifft函数,分解和重构方波,揭示了方波包含的丰富频率成分。
摘要由CSDN通过智能技术生成

18. Scipy Tutorial- 方波傅里叶分解与合成

周期性矩形波(方波)信号:在scipy中用signal包里的square函数来表示。signal里支持的内置其他波形函数可以到其官网查找。当然构造一个方波也可用numpy的zeros和ones来构建。

#coding:utf-8

import numpy as np

import matplotlib.pyplot as plt

x = np.zeros(500)

x[100:150] = 1

plt.plot(x)

plt.ylim(-0.3, 1.3)

plt.show()

st181.png

根据傅立叶分析,任何信号都可以分解成一系列不同频率的正弦信号,方波中包含了非常丰富的频谱成分。下面可以用实验来直观的分析方波中的频率成分即fft,看看不同频率的正弦信号是如何叠加成为方波的即ifft。

#coding:utf-8

import numpy as np

from scipy import fftpack,signal

import matplotlib.pyplot as plt

b = 30

f_s = 80

N = 8000

t = np.linspace(0, 10, N, endpoint=False)

sq = signal.square(2 * np.pi * 5 * t)

F = fftpack.fft(sq)

f = fftpack.fftfreq(N, 1.0/f_s)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值