我需要创建 4 个不同的通带滤波器。始终保持不变的是以下内容:
采样频率 =
通带频率 =
现在,这些是我应该创建的过滤器:
使用带有汉明窗的加窗方法订购 FIR。
使用频率采样订购 FIR。
使用双线性变换和 Butterworth 原型模拟滤波器对 IIR 进行排序
- 使用脉冲不变性和巴特沃斯原型模拟滤波器订购 IIR。
我的尝试:
归一化频率是和并且滤波器是第 24 阶,因此
b = fir1(24,[0.6 0.8]);所需的频率响应是
为了和和因此我有那个什么时候
Matlab 中创建此过滤器的函数是
B=fir2(N,f,m)
在哪里是具有采样频率的向量,并且是这些频率的幅度。但就我而言,我的频率高于它说以。。开始并以. 我有点猜到结果并产生了这个:
f=[0 0.64 0.72 1];
m=[1 exp(-12*j*0.64) exp(-12*j*0.72) exp(-12*j)];
b=fir2(24,f,m)
我有一种感觉,这是不正确的。
对于双线性 IIR,我使用了 matlab 的“黄油”功能。
[b,a] = butter(4,[0.6 0.8],'stop');对于这一部分,我知道我需要同时使用“黄油”和“impinvar”,但我不知道如何。
编辑/尝试:
[b1,a1] = butter(4,[2*pi*900 2*pi*1200],'s');
[bz,az] = impinvar(b1,a1,3000);
有人可以告诉我我的尝试 1-3 是否正确并用 4 帮助我一点吗?谢谢你。