利用matlab分析低通滤波器时域冲激响应波形、频域内幅频特性、相频特性的代码
时间: 2023-07-10 21:36:23 浏览: 125
基于matlab的低通滤波器设计
好的,下面是利用matlab分析低通滤波器时域冲激响应波形、频域内幅频特性、相频特性的代码示例:
```matlab
% 低通滤波器分析示例
% 定义滤波器参数
fc = 1000; % 截止频率为1kHz
fs = 20000; % 采样频率为20kHz
order = 4; % 滤波器阶数为4
% 设计低通滤波器
[b, a] = butter(order, fc / (fs / 2), 'low');
% 绘制滤波器时域冲激响应波形
impulse = [1 zeros(1, 999)];
h = filter(b, a, impulse);
figure;
stem(0:999, h);
title('时域冲激响应波形');
xlabel('时间');
ylabel('幅值');
% 绘制滤波器幅频特性曲线
[h, w] = freqz(b, a);
figure;
plot(w, 20 * log10(abs(h)));
title('幅频特性');
xlabel('频率');
ylabel('幅值(dB)');
% 绘制滤波器相频特性曲线
figure;
plot(w, angle(h));
title('相频特性');
xlabel('频率');
ylabel('相位');
```
以上代码将使用巴特沃斯滤波器函数`butter`设计一个阶数为4的低通滤波器,并绘制出其时域冲激响应波形、幅频特性曲线和相频特性曲线。你可以根据需要修改截止频率、采样频率和滤波器阶数等参数。
阅读全文