巴特沃斯带通滤波器 orde 8.



有一些关于如何在 Matlab 中创建 3 个带通巴特沃兹滤波器的问题。

我需要一个较低的截止频率,应该是 625 的整数倍,下一个应该是 1875, 2500 Hz。

我想要一个低频范围的带通滤波器,如(80 - 100 Hz?),一个在中频(400 Hz?)范围内,一个在高频范围(4khz?)。当然不能超过奈奎斯特极限。

我如何需要创建这 3 个过滤器并将它们应用于一段音乐?

有人想在 butter 命令中使用多个频率吗?

谢谢!

首先,你想对你的音乐文件进行一波加载到Matlab中(这是在时域中),

接下来您要创建 3 个带通滤波器(巴特沃斯)

您有 2 条执行路由,时域或频域。

在时域中:

[x1 Fs nbits] = wavread('yourfile.wav'); %Fs is your sample frequency, x1 is your vector/matrix depending on single channel or dual channel.

现在你只需要设计你的过滤器。 你可以使用 fdesign.bandpass 作弊(见 http://uk.mathworks.com/help/dsp/ref/fdesign.bandpass.html)

使用 MATLAB 巴特沃兹滤波器命令

[b,a] = butter(order,NormalizedCutOff); %you have to work out the Normalized Cut Off frequency using your sampling frequency or period, your desired cut-off etc.

如果要使用多个截止频率,请使用 [c1 c2] 代替归一化截止频率(即 [b,a] = butter(8,[0.2 0.6],'pass');) %对于频段停止,将通道更改为停止

freqz(b,a) %The frequency response of your filter
dataIn = x1; %your music
dataOut = filter(b,a,dataIn); %filter command filters your music

你可以挥手写文件来听它或使用(声音(数据输出,FS))

最新更新