zl程序教程

您现在的位置是:首页 >  其它

当前栏目

信号被多次滤波后的波形

信号 滤波 多次 波形
2023-09-11 14:15:19 时间

多重滤波后的信号波形

 

01 复滤波


  是一个RC低通滤波器,  一个矩形脉冲信号通过它之后, 波形的上升沿和下降沿会出现缓变。 下面我们考虑一个重复率博的问题, 将输出信号重新进行相同的滤波, 那么输出的就是进行了两次滤波后的信号, 波形变形更大。 不过这里需要说明一下, 这种重复滤波并不能够简单将两个相同的RC滤波器级联起来就能够实现,  这是因为后级的RC低通滤波会改变前面滤波器的参数。 不过这里给出了在LTspice中使用传递函数完成多重滤波的方式, 通过压控电压源实现对输入信号多重滤波, 这里给出的Laplace变换表达式, 将也是对输入信号进行 n 重滤波的处理结果。  这里显示出 n 从 1 bmhwdk 30 对应的波形输出。

GM1676912719_1280_800.MPG|_-14

  这是演示进行从1次到30次滤波后的波形变化情况。 
GM1676911663_1280_800.MPG|_-1
▲ 图1.1  从1到30次滤波后的结果

▲ 图1.1 从1到30次滤波后的结果

from headm import *
from tsmodule.tsdraw        import *

fname = r'D:\Temp\1.txt'

gifplot = PlotGIF()x

with open(fname, 'r') as f:
    tdim = []
    data = []

    for l in f.readlines():
        l = l.strip('\r\n')

        if l.find('time') >= 0: continue
        if l.find('Step') >= 0:
            if len(tdim) > 0:
                plt.clf()
                plt.plot(tdim, data, linewidth=3)
                plt.title(l)

                plt.xlabel("Time(s)")
                plt.ylabel("Voltage(V)")
                plt.grid(True)
                plt.axis([-0.001, 0.051, -0.1, 1.1])
                plt.tight_layout()
                plt.draw()
                plt.pause(.1)

                gifplot.append(plt)

                tdim = []
                data = []
            continue

        ll = l.split()
        tdim.append(float(ll[0]))
        data.append(float(ll[1]))

gifplot.save()


● 相关图表链接: