设计巴特沃斯数字带通滤波器,要求0.25π rad ≤w≤0.45π rad,通带最大衰减为3dB,阻带X围为0≤w≤0.15π rad和0.55π rad ≤w≤πrad,阻带最小衰减为40dB。利用双线性变换设计,写出设计过程,并用MATLAB绘出幅频和相频特性曲线。
时间: 2024-05-20 21:16:33 浏览: 187
设计过程:
1. 确定通带截止频率与阻带截止频率:根据题意,通带截止频率为0.25π rad,0.45π rad,阻带截止频率为0 rad,0.15π rad,0.55π rad,π rad。
2. 确定归一化通带与阻带截止频率:根据双线性变换公式,归一化通带截止频率为2πfsT*tan(πfcT),归一化阻带截止频率为2πfsT*tan(πfctT/2)。其中,fs为采样频率,fc为实际通带截止频率,fct为实际阻带截止频率,T为采样周期。
3. 计算通带和阻带通带宽:通带宽为归一化通带截止频率之差,阻带通带宽为两个归一化阻带截止频率之差。
4. 计算阻带通带最小衰减:根据题意,阻带最小衰减为40dB,即在阻带区域内,滤波器输出功率不超过输入功率的1/100。
5. 计算通带最大衰减:根据题意,通带最大衰减为3dB,即在通带区域内,滤波器输出功率不超过输入功率的1/2。
6. 根据通带和阻带的截止频率和带宽,确定滤波器的阶数和类型:根据巴特沃斯滤波器的设计原理,可以确定滤波器的阶数和类型。
7. 设计巴特沃斯滤波器的传递函数:根据巴特沃斯滤波器的设计公式,可以得到滤波器的传递函数。
8. 利用MATLAB绘制滤波器的幅频和相频特性曲线:根据滤波器的传递函数,可以利用MATLAB绘制滤波器的幅频和相频特性曲线。
MATLAB代码:
fs = 1000; % 采样频率
fc1 = 125; % 通带截止频率1
fc2 = 225; % 通带截止频率2
fct1 = 75; % 阻带截止频率1
fct2 = 325; % 阻带截止频率2
Rp = 3; % 通带最大衰减
Rs = 40; % 阻带最小衰减
wp1 = 2*pi*fc1/fs; % 归一化通带截止频率1
wp2 = 2*pi*fc2/fs; % 归一化通带截止频率2
wt1 = 2*pi*fct1/fs; % 归一化阻带截止频率1
wt2 = 2*pi*fct2/fs; % 归一化阻带截止频率2
Wp = wp2 - wp1; % 通带宽
Ws = min(wt1,wt2) - 0; % 阻带1宽
Ws2 = pi - max(wt1,wt2); % 阻带2宽
[n,Wn] = buttord([wp1,wp2],[wt1,wt2],Rp,Rs,'s'); % 确定滤波器的阶数和类型
[b,a] = butter(n,Wn,'s'); % 计算滤波器的传递函数
[h,w] = freqs(b,a,1000); % 计算滤波器的幅频和相频特性曲线
subplot(2,1,1); % 绘制滤波器的幅频特性曲线
plot(w/pi*fs/2,20*log10(abs(h))); % 幅频特性曲线
grid on; % 添加网格线
xlabel('Frequency (Hz)'); % 横坐标标签
ylabel('Magnitude (dB)'); % 纵坐标标签
title('Butterworth Bandpass Filter Response'); % 图形标题
subplot(2,1,2); % 绘制滤波器的相频特性曲线
plot(w/pi*fs/2,angle(h)); % 相频特性曲线
grid on; % 添加网格线
xlabel('Frequency (Hz)'); % 横坐标标签
ylabel('Phase (rad)'); % 纵坐标标签
title('Butterworth Bandpass Filter Response'); % 图形标题
运行结果:

阅读全文
相关推荐














