巴特沃斯低通滤波器设计时归一化传递函数和反归一化传递函数的作用
时间: 2023-11-22 07:51:05 浏览: 219
巴特沃斯低通滤波器的设计
5星 · 资源好评率100%
巴特沃斯低通滤波器设计时,归一化传递函数和反归一化传递函数的作用如下:
1. 归一化传递函数:将巴特沃斯滤波器的传递函数进行归一化处理,使得滤波器的截止频率为1。这样做的好处是,可以将滤波器的设计过程简化为只需要确定滤波器的阶数n和截止频率即可,而不需要考虑具体的采样频率等参数。同时,归一化传递函数也方便了不同截止频率的滤波器之间的比较。
2. 反归一化传递函数:将归一化的传递函数还原为实际的传递函数,以便于在实际应用中使用。反归一化传递函数的作用是将归一化的传递函数乘以一个系数,使得滤波器的截止频率变为实际的截止频率。这样做的好处是,可以根据实际的采样频率和截止频率来确定滤波器的具体参数,从而得到更加精确的滤波器。
下面是一个Python函数的例子,用于设计巴特沃斯低通滤波器的归一化传递函数和反归一化传递函数:
```python
from scipy.signal import butter, freqz
def butter_lowpass(cutoff, fs, order):
nyq = 0.5 * fs
normal_cutoff = cutoff / nyq
b, a = butter(order, normal_cutoff, btype='low', analog=False)
return b, a
def butter_lowpass_filter(data, cutoff, fs, order):
b, a = butter_lowpass(cutoff, fs, order)
y = lfilter(b, a, data)
return y
# 归一化传递函数
def normalized_butter_lowpass(cutoff, order):
b, a = butter(order, cutoff, btype='low', analog=True)
return b, a
# 反归一化传递函数
def denormalized_butter_lowpass(b, a, fs):
b, a = butter(order, cutoff, btype='low', analog=True)
w, h = freqs(b, a)
t = 1/fs
w = w / (2*np.pi*t)
return w, h
```
阅读全文