首页 > 其他分享 >奇数窗口的递归平均滤波法

奇数窗口的递归平均滤波法

时间:2023-01-03 23:23:09浏览次数:45  
标签:inputs noise 递归 sinx 奇数 滤波 import

网上的很多都看不懂,而且好像还有错,所以只好自己写了

#递归平均滤波法,N=3

import scipy.signal as signal
import numpy as np
import pylab as pl
import matplotlib.pyplot as plt
import matplotlib


def SlidingAverage(inputs,per):
    mean = []
    for i in range(len(inputs)):
        if i ==0:
            mean.append(inputs[0])
        elif i <(per):   
            mean.append(inputs[:i+1].mean())
        else:
            mean.append(inputs[i-per+1:i+1].mean())
           
    return mean
a = np.array([1,2,3,4,5,6,7,8])
print(SlidingAverage(a,3))
#生成数据
x = np.arange(0,8.1,0.1)
y = np.sin(x*np.pi)
plt.plot(x,y,label='sinx')



#对y加入噪声
noise = np.random.normal(-0.2,0.2,len(x))
y = y + noise
plt.plot(x,y,label='sinx+noise')
print(y)

#对加入噪声的信号进行滤波

y = SlidingAverage(y,3)
print(y)
plt.plot(x,y,label='sinx+noise+Slid')
plt.legend(['sinx','sinx+noise','sinx+noise+Slid'])
plt.show()

 

 sinx表示sinx原函数

 

sinx+noise表示sinx加了噪音以后的图像

sinx+noise+Slid表示对加了噪声以后的信号进行递归平局滤波处理后的图像

 

标签:inputs,noise,递归,sinx,奇数,滤波,import
From: https://www.cnblogs.com/lpj1393822011/p/17023679.html

相关文章

  • 求第n个斐波那契数。(用递归和循环的方法对比)
    写这个代码的过程中出现的问题及改进方法:用递归实现#include<stdio.h>intFib(intn){if(n<=2)return1;elsereturnFib(n-1)+Fib(n-2);}......
  • 1、尾递归及优化 ,例:斐波那契数列 2、递归转循环,蹦床函数
    1、函数调用自身,即为递归,在return时调用自身,即为尾递归;递归非常消耗内存,其原因是需要同时保存成成百上千的调用帧,这容易发生栈溢出错误;但是尾递归只存在一个调用帧,所以永......
  • 简单聊聊:递归,缓存,分治,回溯
    一、初识递归递归函数=终止条件+递归关系终止条件:当大问题被拆解成能轻松解决的小问题时,运行终止条件中的逻辑递归关系:定义如何将大问题拆解为小问题例子:小名跑步。......
  • 算法基础之全排列(递归)
    全排列(递归)全排列就是从第一个数字起每个数字分别与他后面的数进行交换。去重的全排列就是从第一个数起每个数分别与它后面非重复出现的数字交换。全排列(不去重)//搜索/......
  • 函数和递归
    函数是什么库函数自定义函数函数参数函数调用函数的嵌套调用和链式访问函数的声明和定义函数递归函数是什么?维基百科定义:子程序在计算机科学中,子程序是一个大型程序中的部分......
  • 递归算法
    一、递归实现N!.代码实现:packagecn.test;/***@author徐庶*@date2016年9月6日*/publicclassRecursive{//递归privatestaticlongfactorial(intn){if(n......
  • 关于递归Collapse 折叠面板和实现分层折叠互斥效果
    近期要用Collapse折叠面板实现一个递归效果,直接上效果图,实现最终效果是每一层的内容互斥,组件递归的的时候为了实现每一层内容互斥要给每一个el-collapse加上一个v-model,......
  • bilateral filter双边滤波器的通俗理解
    bilateralfilter双边滤波器的通俗理解  图像去噪的方法很多,如中值滤波,高斯滤波,维纳滤波等等。但这些降噪方法容易模糊图片的边缘细节,对于高频细节的保护效果并不明显。......
  • 程序:用递归法计算字符串长度
    #include<stdio.h>intmy_strlen(char*str){if(*str!='\0')return1+my_strlen(str+1);elsereturn0;}intmain(){intret=0;chararr[]="hibi......
  • 程序:用递归法依次打印1234数字
    #include<stdio.h>voidprint(inta){if(a>9){print(a/10);}printf("%d",a%10);}intmain(){inta=1234;print(a);return0;}......