相关疑难解决方法(0)

Matlab中的一维高斯卷积函数

我正在尝试编写一个返回一维高斯滤波器的函数.该函数将sigma作为参数.问题是该函数为所有sigma返回相同的数组.

  function gaussFilter=gauss(sigma)  
  width = 3 * sigma;  
  support = (-width :sigma: width);  
  gaussFilter= exp( - (support).^2 / (2*sigma^2));   
  gaussFilter = gaussFilter/ sum(gaussFilter);  
Run Code Online (Sandbox Code Playgroud)

请注意,支持数组是正确计算的,但在应用exp时会出现问题.

matlab gaussian

7
推荐指数
1
解决办法
9800
查看次数

为什么我的低通滤波器会放大我的信号?

我是MATLAB的完整初学者和信号分析,所以我不太了解信号滤波背后的傅立叶数学.我拿了Ipod Touch并使用了一个应用程序,将加速度计数据(以50Hz的采样率)记录到CSV,然后我将这些CSV数据加载到matlab中.我现在正在尝试对信号应用低通滤波器,以消除因加速度的微小变化而产生的噪声(因此我只剩下大的加速度信号).

我今天在matlab中阅读了一堆关于信号滤波的内容,我拥有信号处理工具箱,但我仍然对某些变量的含义感到困惑.例如,函数filter(b,a,data)不断出现,我知道a并且b是系数的向量,但我不知道它们如何影响滤波器或如何根据我对信号的了解/我想用它做什么来创建这些值.

如果我没有傅立叶分析的强大背景,我应该去哪里学习信号处理的基础知识?我应该如何在matlab中创建我的低通滤波器?谢谢!

这是我正在使用的示例数据.

我尝试了它,并a=[1 -0.9] b=1根据matlab中的低通滤波器进行基于其他一些stackexchange帖子制作,它似乎做了一些事情,但它似乎也放大了我的信号3倍.通过应用具有这些值的过滤器,我到底做了什么?

matlab filtering signal-processing lowpass-filter

2
推荐指数
1
解决办法
2137
查看次数