首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当峰值不等距时使用梳状滤波器

当峰值不等距时使用梳状滤波器
EN

Stack Overflow用户
提问于 2014-08-21 05:05:21
回答 1查看 205关注 0票数 0

我正在使用

代码语言:javascript
复制
[pks,locs] = findpeaks(x,'MINPEAKHEIGHT',20/100*max)

那么如何正确地应用梳状滤镜呢?

EN

回答 1

Stack Overflow用户

发布于 2014-08-21 05:33:47

你的代码在我看来没问题。我修改了doc (taken here)中的示例,其中的峰不等距,并且不考虑小于最大值高度的20%的峰。也许我没有理解你的问题。无论如何,下面是代码:

代码语言:javascript
复制
clc
clear

x = linspace(0,1,1024);
Pos = [0.1 0.13 0.15 0.23 0.25 0.40 0.44 0.65 0.76 0.78 0.81];
Hgt = 4*[4 5 3 1 5 4.2 2.1 4.3 3.1 5.1 0.6];
Wdt = [0.005 0.005 0.006 0.01 0.01 0.03 0.01 0.01 0.005 0.008 0.005];
PeakSig = zeros(size(x));
for n = 1:length(Pos)
    PeakSig = PeakSig + Hgt(n)./(1 + abs((x - Pos(n))./Wdt(n))).^4;
end

[pks,locs] = findpeaks(PeakSig,'MINPEAKHEIGHT',20/100*max(Hgt(:)));

%pks = pks/max(pks(:))

plot(x,PeakSig/max(pks(:))), 
hold on
%  Offset values of peak heights for plotting
plot(x(locs),(pks/max(pks(:))+0.01),'k^','markerfacecolor',[1 0 0])
line([0 x(end)],[0.2 0.2],'Color','k','LineWidth',2);
hold off

这是你要找的东西吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25414412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档