一阶低通滤波器传递函数matlab代码
时间: 2024-09-13 10:13:55 浏览: 73
一阶低通滤波器是一种简单的电子滤波器,它可以允许低频信号通过,同时减弱(滤除)频率高于截止频率的信号。在MATLAB中实现一阶低通滤波器的传递函数,通常可以使用基本的信号处理工具箱函数。以下是一个简单的MATLAB代码示例,用于计算和绘制一阶低通滤波器的传递函数:
```matlab
% 定义截止频率
fc = 1000; % 截止频率为1000 Hz
% 定义采样频率
fs = 10000; % 采样频率为10000 Hz
% 创建频率向量
f = (0:fs/1000:fs/2); % 从0到采样频率一半的频率范围
% 计算传递函数的分子和分母系数
num = fc; % 分子系数为截止频率
den = [1, fc]; % 分母系数为[1,截止频率]
% 计算传递函数
sys = tf(num, den);
% 绘制频率响应
figure;
bode(sys, f);
grid on;
% 标注截止频率
[~, mag] = bode(sys, fc);
phase = unwrap(angle(mag));
text(fc, phase(1), sprintf('截止频率 = %.2f Hz', fc), 'VerticalAlignment', 'bottom');
```
这段代码首先定义了一阶低通滤波器的截止频率`fc`和采样频率`fs`。然后,创建了一个频率向量`f`来用于绘制频率响应。传递函数的分子`num`设置为截止频率,分母`den`设置为`[1, fc]`,这是因为一阶低通滤波器的传递函数形式为`H(s) = fc / (s + fc)`,其中`s`是复频率。使用`tf`函数创建传递函数对象`sys`,最后使用`bode`函数绘制其频率响应,并标注截止频率。
阅读全文