syzl 发表于 2006-5-15 16:23

[求助]三分之一倍频程分析如何用Matlab实现?

倍频程分析是否相当于级联滤波?

youngfish 发表于 2006-6-9 19:22

一种方法是在整个分析频率范围,按照不同的中心频率定义对采样信号进行带通滤波,然后,计算出滤波后数据的均方值或均方根值,便得到对应每个中心频率的功率谱值或幅值谱值;另一个方法是首先对信号FFT,计算出功率谱或幅值谱,然后用功率谱或幅值谱的数据,计算中心频带的带宽内的平均值,得到三分之一倍频程谱值。<BR>建议参看《MATLAB在振动信号处理中的应用》,内有实例。

qiuqia17 发表于 2006-6-11 09:52

ding~~ 有书 能传吗?

songzy41 发表于 2006-8-4 10:11

在《MATLAB在振动信号处理中的应用》中的三分之一倍频程滤波器是在频i率维上设计的,只能作谱分析,不能做信号的滤波,更不能做A计权的设计。我在FTP下载中给出了由MATHWORK提供的倍频程和三分之一倍频程滤波器设计的程序组。

[ 本帖最后由 songzy41 于 2006-8-4 13:38 编辑 ]

simon21 发表于 2006-8-6 09:26

实时的吗?

songzy41 发表于 2006-8-6 16:14

原帖由 simon21 于 2006-8-6 09:26 发表
实时的吗?
“滤波器用MATLAB设计”是求滤波器系数,有了滤波器系数后能对信号进行处理。处理时可离线的,把数据采集下来后用MATLAB、Fortran或C等语言编程后处理。如果想实时在线处理,则和选用的CPU或DSP的速度,以及使用的方法有很大的关系。而在本帖子上主要是给出设计方法,求出的滤波器系数可用于实时处理。

liulangtiany 发表于 2007-1-27 17:00

楼上什么意思没有看懂

[ 本帖最后由 liulangtiany 于 2007-1-31 18:49 编辑 ]

liulangtiany 发表于 2007-1-31 18:49

倍频程都不知道什么意思

songzy41 发表于 2008-5-14 18:48

在2006年本论坛有FTP,后由于某种原因已取消了。楼主要相关程序可从下网页上去下载:
http://www.mathworks.co.uk/matla ... =69&objectType=file

[ 本帖最后由 eight 于 2008-5-14 19:01 编辑 ]

wangwenting 发表于 2008-9-6 20:49

回复 10楼 songzy41 的帖子

我看了程序之后还是不知道怎么来算,得到的W1和W2是什么啊
function = oct3dsgn(Fc,Fs,N);
% OCT3DSGNDesign of a one-third-octave filter.
%    = OCT3DSGN(Fc,Fs,N) designs a digital 1/3-octave filter with
%    center frequency Fc for sampling frequency Fs.
%    The filter is designed according to the Order-N specification
%    of the ANSI S1.1-1986 standard. Default value for N is 3.
%    Warning: for meaningful design results, center frequency used
%    should preferably be in range Fs/200 < Fc < Fs/5.
%    Usage of the filter: Y = FILTER(B,A,X).
%
%    Requires the Signal Processing Toolbox.
%
%    See also OCT3SPEC, OCTDSGN, OCTSPEC.

% Author: Christophe Couvreur, Faculte Polytechnique de Mons (Belgium)
%         couvreur@thor.fpms.ac.be
% Last modification: Aug. 25, 1997, 2:00pm.

% References:
%    ANSI S1.1-1986 (ASA 65-1986): Specifications for
%      Octave-Band and Fractional-Octave-Band Analog and
%      Digital Filters, 1993.

if (nargin > 3) | (nargin < 2)
error('Invalide number of arguments.');
end
if (nargin == 2)
N = 3;
end
if (Fc > 0.88*(Fs/2))
error('Design not possible. Check frequencies.');
end

% Design Butterworth 2Nth-order one-third-octave filter
% Note: BUTTER is based on a bilinear transformation, as suggested in .
pi = 3.14159265358979;
f1 = Fc/(2^(1/6));
f2 = Fc*(2^(1/6));
Qr = Fc/(f2-f1);
Qd = (pi/2/N)/(sin(pi/2/N))*Qr;
alpha = (1 + sqrt(1+4*Qd^2))/2/Qd;
W1 = Fc/(Fs/2)/alpha;
W2 = Fc/(Fs/2)*alpha;
= butter(N,);

堕落小星 发表于 2009-8-29 15:22

回复 地板 songzy41 的帖子

您好!请问    “ 更不能做A计权的设计”中的A计权是什么意思?

ChaChing 发表于 2009-8-29 21:22

回复 12楼 堕落小星 的帖子

Ref
http://forum.vibunion.com/forum/viewthread.php?tid=42140&highlight=A%BC%C6%C8%A8
http://forum.vibunion.com/forum/viewthread.php?tid=61003&highlight=A%BC%C6%C8%A8
...
养成好习惯, 动手搜一下!

fifor 发表于 2010-3-20 23:24

求教

同问W1和W2是什么啊,这个滤波器为什么这样设计?期待高人出来讲解一下

ChaChing 发表于 2010-3-21 13:21

回复 14楼 fifor 的帖子

help butter

fifor 发表于 2010-3-21 14:51

回复 15楼 ChaChing 的帖子

谢谢,w1和w2分别对应带通滤波器通带频段的两个截至频率,可是我想为什么不是
W1 = F1/(Fs/2); W2 = F2/(Fs/2); 上边程序
Qd = (pi/2/N)/(sin(pi/2/N))*Qr;
alpha = (1 + sqrt(1+4*Qd^2))/2/Qd;
W1 = Fc/(Fs/2)/alpha;
W2 = Fc/(Fs/2)*alpha;
的理论依据是什么?
页: [1] 2
查看完整版本: [求助]三分之一倍频程分析如何用Matlab实现?