大家好!我得到瞬态峰值信号从0到6000 hz的声压级。谁能建议我怎么删除它吗?
20视图(30天)
显示旧的评论
答案(1)
明星黾
2023年5月29日午
2的评论
明星黾
2023年5月31日16:03
没有采样频率或时间向量,所以我会即兴发挥
T1 = readtable (“timeseriesprdata.xlsx”);
s = T1 {: 1};%的信号
L =大小(T1, 1)
Fs = 7.5 e + 4 * 2;%采样频率(猜)
Fn = f / 2;%奈奎斯特频率
t = linspace (0 L - 1升)/ Fs;
图
情节(t, s)
网格
包含(“时间(单位)”)
ylabel (Amp (litude(单位))
NFFT = 2 ^ nextpow2 (L);
FT_s = fft ((s (s))。*损害(L), NFFT);
阵线= linspace (0, 1, NFFT / 2 + 1) * Fn;%频率向量
4 = 1:元素个数(艘);%指数向量
图
情节(阵线、abs (FT_s (Iv)) * 2)
网格
包含(的频率(单位))
ylabel (的大小(单位))
[pks1, locs1] = findpeaks (abs (FT_s (Iv)) * 2,“MinPeakProminence”5);
% Q1 =[阵线(locs1 (1:7));diff([0阵线(locs1 (1:7)))))。
% Q12stats =[意思是((Q1(:, 2)))性病((Q1(:, 2)))模式((Q1 (:, 2))))
持有在
情节(阵线(locs1 (1:7)), pks1 (1:7)“^ r”)
持有从
xlim ([0 1 e + 4])
fcomblen = 1:10;%阻带矢量
fcomb =重塑([[9 4 4 9]+ 690 * (fcomblen)。]。“1 []);%定义梳状滤波器阻带
杂志= [[1 0 1]repmat([0, 1], 1元素个数(fcomblen) 2), [0 1]];
dev = [[0.5 0.1 0.5] repmat([0.1 - 0.5], 1,元素个数(fcomblen) 2), [0.1 - 0.5]];
[n, n,β,ftype] = kaiserord (dev fcomb,杂志,Fs);
hh = fir1 (n, n, ftype kaiser (n + 1,β),“noscale”);
图
freqz (hh, 1、2 ^ 20 Fs)
s_filt = filtfilt (hh, 1, s);
FT_s_filt = fft ((s_filt-mean (s_filt)。*损害(L), NFFT);
图
情节(阵线、abs (FT_s_filt (Iv)) * 2)
网格
包含(的频率(单位))
ylabel (的大小(单位))
xlim ([0 1 e + 4])
不幸的是,我不能这个过滤器扩展到任意采样频率,所以你需要尝试用正确的采样频率。的
“680”
常数是基于价值的
“Q12stats (3)”
所以用它来指导过滤器使用正确的采样频率。
我很满意这个结果!
。