MATLAB巴特沃斯数字低通滤波器显示系统函数的系数,绘制损耗函数和相频特性曲线
时间: 2024-02-15 11:04:18 浏览: 78
以下是一个MATLAB巴特沃斯数字低通滤波器的系数计算、损耗函数和相频特性曲线的示例代码:
```
% 定义滤波器参数
fc = 1000; % 截止频率
fs = 8000; % 采样率
order = 6; % 阶数
% 计算滤波器系数
[b,a] = butter(order,fc/(fs/2),'low');
% 显示系统函数的系数
disp('Numerator Coefficients:');
disp(b);
disp('Denominator Coefficients:');
disp(a);
% 计算幅度响应和相位响应
w = linspace(0,pi,1000);
H = freqz(b,a,w,fs);
mag = 20*log10(abs(H));
phase = angle(H)*180/pi;
% 绘制损耗函数和相频特性曲线
subplot(2,1,1);
plot(w/pi,mag);
title('Magnitude Response');
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Magnitude (dB)');
ylim([-80 5]);
subplot(2,1,2);
plot(w/pi,phase);
title('Phase Response');
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Phase (degrees)');
ylim([-180 180]);
```
这个代码使用Butterworth滤波器设计一个具有6个阶数的低通滤波器,截止频率为1000 Hz。然后,它计算滤波器系数,并显示系统函数的系数。接下来,它计算幅度响应和相位响应,并绘制损耗函数和相频特性曲线。在图中,x轴表示频率,范围从0到1,其中1表示采样率的一半。y轴表示幅度响应(dB)或相位响应(度)。
阅读全文