Matlab全倍频程和三分之一倍频程分析
Matlab full octave and one-third octave analysis
我正在尝试在 Matlab 中实现倍频程和 1/3 倍频程滤波器。不幸的是,我无法访问声学工具箱,但我尝试在 Matlab 中使用 fdesign.octave,但我不确定我是否走在正确的道路上 -并感谢任何 help/advice.
以下是我在 70 秒内采集的信号 (Fs=10,000Hz):
Fs = 10000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 700000; % Length of signal
t = (0:L-1)*T; % Time vector
S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
x = S + 2*randn(size(t));
三分之一八度的实现:
d = fdesign.octave(3,'Class 1','N,F0',6,11000,44100);
Hd = design(d);
y= filter(Hd,x);
原始信号和过滤后的信号图:
此时,我有一个问题 - 如何将 fdesign.octave 产生的数据绘制成倍频程或三分之一倍频程?
要获得完整的实现,请使用来自 Matlab 文件交换的 this。无需声学工具箱。包含的演示应该可以解决您的绘图问题。
我正在尝试在 Matlab 中实现倍频程和 1/3 倍频程滤波器。不幸的是,我无法访问声学工具箱,但我尝试在 Matlab 中使用 fdesign.octave,但我不确定我是否走在正确的道路上 -并感谢任何 help/advice.
以下是我在 70 秒内采集的信号 (Fs=10,000Hz):
Fs = 10000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 700000; % Length of signal
t = (0:L-1)*T; % Time vector
S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
x = S + 2*randn(size(t));
三分之一八度的实现:
d = fdesign.octave(3,'Class 1','N,F0',6,11000,44100);
Hd = design(d);
y= filter(Hd,x);
原始信号和过滤后的信号图:
此时,我有一个问题 - 如何将 fdesign.octave 产生的数据绘制成倍频程或三分之一倍频程?
要获得完整的实现,请使用来自 Matlab 文件交换的 this。无需声学工具箱。包含的演示应该可以解决您的绘图问题。